Cg Toolkit Cg 3.1 Toolkit Documentation
Cg / Profiles / gp5tep

Name

gp5tep - OpenGL tessellation evaluation profile for NVIDIA GeForce 400/500 Series, OpenGL 4.x Quadro

Synopsis

  gp5tep

Description

This OpenGL profile corresponds to tessellation evaluation functionality introduced by NVIDIA's 5th generation of assembly instruction sets.

The compiler output for this profile conforms to the assembly format defined by NV_tessellation_program, NV_gpu_program5 and ARB_vertex_program.

3D Api Dependencies

Requires OpenGL support for the NV_gpu_program5 extension.

Opengl Extension Specifications

 http://www.opengl.org/registry/specs/NV/gpu_program5.txt
 http://www.opengl.org/registry/specs/NV/tessellation_program5.txt

Profile Options

All gp4 profile options are also available in gp5tep.

Tessellation Evaluation Domain-Specific Gp5 Options

Normally the options below to specify primitive input and output parameters are better specified as a profile modifier preceding the Cg entry function. The tessellation evaluation shader will fail to load if either TRIANGLES, QUADS, or ISOLINES is not specified, and PATCH_1 ... PATCH_32 is not specified as profile options for the primitive type.

PATCH_1 ... PATCH_32
This specifies the number of control points associated with this patch. Must be 1 - 32 control points. This option affects the size of the AttribArrays associated with the input varying parameters.
TRIANGLES
Specifies that the input patch is a triangular patch. This affects the data type for the input varying semantics UV and TESSCOORD.
QUADS
Specifies that the input patch is a quadrangular patch. This affects the data type for the input varying semantics UV and TESSCOORD.
ISOLINES
The patch is drawn as a set of lines going in one parametric direction.
POINT_MODE
Specifies that the tessellation primitive generator will emit points for each vertex in the subdivided primitive instead of lines or triangles.
ORDER_CCW
Specifies counter clock-wise ordering of the output triangles emitted by the tessellation primitive generator. ORDER_CW is used by default.
ORDER_CW
Specifies clock-wise ordering of the output triangles emitted by the tessellation primitive generator. ORDER_CW is used by default.
SPACE_FRACTIONAL_EVEN
Specifies that the spacing of vertices emitted by the tessellation primitive generator can be fractional (non-integer) values, and the even spacing algorithm is used to perform the tessellation. Default is SPACE_EQUAL.
SPACE_FRACTIONAL_ODD
Specifies that the spacing of vertices emitted by the tessellation primitive generator can be fractional (non-integer) values, and the odd spacing algorithm is used to perform the tessellation. SPACE_EQUAL is used by default.
SPACE_EQUAL
Specifies that the spacing of vertices emitted by the tessellation primitive generator are clamped to integer values. This is the default option.

Semantics

Varying Input Semantics

The varying input semantics in the gp5tep profile correspond to the respectively named varying output semantics of the gp5vp profile. All input semantics must use the AttribArray template-style syntax. The reason for this is because an evaluation shader must be able to see outputs of all control points of the patch to evaluate its unique position/outputs. The size of this AttribArray is determined by the PATCH_1 ... PATCH_32 profile parameter.

Example defining an input varying parameter which are output attributes of the control points' gp5tcp invocations:

  AttribArray< float3 > position : POSITION

There are additional input semantics specific to a gp5tep shader and these do not use an AttribArray type for input. They are as follows:

Binding Semantics Name           Corresponding Data

TESSCOORD                        Input u,v,w coordinates for the current vertex in a triangle patch.

UV                               Input u,v coordinates for the current vertex in a quad patch.

PATCH                            Input per-patch attribute.

See Also

gp5, gp5tcp, gp5vp, gp5gp, gp5fp


Cg Toolkit | Cg Toolkit | Download | Release Archive | Profiles | Reference | Books | Discussions |


Cg Profiles

arbfp1
arbvp1
ds_5_0
fp20
fp30
fp40
glslf
glslg
glsl
glslv
gp4fp
gp4gp
gp4
gp4vp
gp5fp
gp5gp
gp5
gp5tcp
gp5tep
gp5vp
gs_4_0
gs_5_0
hlsl10
hlsl11
hlslf
hlslv
hs_5_0
ps_1_1
ps_1_2
ps_1_3
ps_2_0
ps_2_sw
ps_2_x
ps_3_0
ps_4_0
ps_5_0
vp20
vp30
vp40
vs_1_1
vs_2_0
vs_2_sw
vs_2_x
vs_3_0
vs_4_0
vs_5_0