内置变量
OpenGL渲染由以下几部分组成:顶点着色,细分控制着色,细分计算着色,几何着色,片元着色,计算着色。分别描述在各个阶段的内置变量。
顶点着色阶段
in int gl_VertexID;
in int gl_InstanceID;
out gl_PerVertex{
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance[];
float gl_CullDistance[];
};
细分控制着色
in gl_PerVertex{
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance;
float gl_CullDistance;
} gl_in[gl_MaxPatchVerTIces];
in int gl_PatchVerticesIn;
in int gl_PerimitiveID;
in int gl_InvocationID;
out gl_PerVertex{
vec4 gl_Position;
float gl_PointSize;
float glClipDistance[];
float gl_CullDistance[];
} gl_out[];
patch out float gl_TessLevelOuter[4];
patch out float gl_TessLevelInner[2];
细分计算着色
in gl_PerVertex{
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance[];
float gl_CUllDistance[];
} gl_in[gl_MaxPatchVertic