Vertex Shader/Defined Outputs: Difference between revisions
Jump to navigation
Jump to search
Pavolzetor (talk | contribs) Add missing semicolon |
m Bot: Updating section links to use redirects. |
||
Line 17: | Line 17: | ||
: the clip-space output position of the current vertex. | : the clip-space output position of the current vertex. | ||
; {{code|gl_PointSize}} | ; {{code|gl_PointSize}} | ||
: the pixel width/height of the point being rasterized. It only has a meaning when rendering [[Primitive | : the pixel width/height of the point being rasterized. It only has a meaning when rendering [[Point Primitive|point primitives]]. | ||
; {{code|gl_ClipDistance}} | ; {{code|gl_ClipDistance}} | ||
: allows the shader to set the distance from the vertex to each [[User-Defined Clip Plane]]. A positive distance means that the vertex is inside/behind the clip plane, and a negative distance means it is outside/in front of the clip plane. Each element in the array is one clip plane. In order to use this variable, the user must manually redeclare it with an explicit size. | : allows the shader to set the distance from the vertex to each [[User-Defined Clip Plane]]. A positive distance means that the vertex is inside/behind the clip plane, and a negative distance means it is outside/in front of the clip plane. Each element in the array is one clip plane. In order to use this variable, the user must manually redeclare it with an explicit size. |
Revision as of 02:39, 13 April 2015
Vertex Shaders have the following predefined outputs.
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance[];
};
gl_PerVertex defines an interface block for outputs. The block is defined without an instance name, so that prefixing the names is not required.
These variables only take on the meanings below if this shader is the last active Vertex Processing stage, and if rasterization is still active (ie: GL_RASTERIZER_DISCARD is not enabled). The text below explains how the Vertex Post-Processing system uses the variables. These variables may not be redeclared with interpolation qualifiers.
- gl_Position
- the clip-space output position of the current vertex.
- gl_PointSize
- the pixel width/height of the point being rasterized. It only has a meaning when rendering point primitives.
- gl_ClipDistance
- allows the shader to set the distance from the vertex to each User-Defined Clip Plane. A positive distance means that the vertex is inside/behind the clip plane, and a negative distance means it is outside/in front of the clip plane. Each element in the array is one clip plane. In order to use this variable, the user must manually redeclare it with an explicit size.