Class AMDVertexShaderTessellator
The vertex shader tessellator gives new flexibility to the shader author to shade at a tessellated vertex, rather than just at a provided vertex.
In unextended vertex shading, the built-in attributes such as gl_Vertex, gl_Normal, and gl_MultiTexcoord0, together with the user defined attributes, are system provided values which are initialized prior to vertex shader invocation.
With vertex shading tessellation, additional vertex shader special values are available:
ivec3 gl_VertexTriangleIndex; // indices of the three control
// points for the vertex
vec3 gl_BarycentricCoord; // barycentric coordinates
// of the vertex
i o
|\
| \
*--*
|\ |\
| \| \
*--*--*
|\ |\ |\
| \| \| \
j o--*--*--o k
Figure 1 A Tessellated Triangle
o = control point (and tessellated vertex)
* = tessellated vertex
ivec4 gl_VertexQuadIndex; // indices for the four control
// points for the vertex
vec2 gl_UVCoord; // UV coordinates of the vertex
i o--*--*--o k
|\ |\ |\ |
| \| \| \|
*--*--*--*
|\ |\ |\ |
| \| \| \|
*--*--*--*
|\ |\ |\ |
| \| \| \|
j o--*--*--o l
Figure 2 A Tessellated Quad
o = control point (and tessellated vertex)
* = tessellated vertex
When this extension is enabled, conventional built-in attributes and user defined attributes are uninitialized. The shader writer is responsible for explicitly fetching all other vertex data either from textures, uniform buffers, or vertex buffers.
The shader writer is further responsible for interpolating the vertex data at the given barycentric coordinates or uv coordinates of the vertex.
Requires OpenGL 2.0.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAccepted by TessellationModeAMD.static final intAccepted by TessellationModeAMD.static final intReturned by thetypeparameter of GetActiveUniform.static final intReturned by thetypeparameter of GetActiveUniform.static final intAccepted by GetFloatv.static final intAccepted by GetIntegerv.static final intReturned by thetypeparameter of GetActiveUniform. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidglTessellationFactorAMD(float factor) static voidglTessellationModeAMD(int mode)
-
Field Details
-
GL_SAMPLER_BUFFER_AMD
public static final int GL_SAMPLER_BUFFER_AMDReturned by thetypeparameter of GetActiveUniform.- See Also:
-
GL_INT_SAMPLER_BUFFER_AMD
public static final int GL_INT_SAMPLER_BUFFER_AMDReturned by thetypeparameter of GetActiveUniform.- See Also:
-
GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD
public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_AMDReturned by thetypeparameter of GetActiveUniform.- See Also:
-
GL_DISCRETE_AMD
public static final int GL_DISCRETE_AMDAccepted by TessellationModeAMD.- See Also:
-
GL_CONTINUOUS_AMD
public static final int GL_CONTINUOUS_AMDAccepted by TessellationModeAMD.- See Also:
-
GL_TESSELLATION_MODE_AMD
public static final int GL_TESSELLATION_MODE_AMDAccepted by GetIntegerv.- See Also:
-
GL_TESSELLATION_FACTOR_AMD
public static final int GL_TESSELLATION_FACTOR_AMDAccepted by GetFloatv.- See Also:
-
-
Method Details
-
glTessellationFactorAMD
public static void glTessellationFactorAMD(float factor) -
glTessellationModeAMD
public static void glTessellationModeAMD(int mode)
-