学习笔记:GLSL Core Tutorial – Vertex Shader(内置变量说明)

1.每个Vertex Shader都有用户定义的输入属性,例如:位置,法线向量和纹理坐标等。Vertex Shaders也接收一致变量(uniform variables).

  • uniform variables:一个只读的全局变量是为所有的顶点绘制调用

2.除了用户定义的输入变量,GLSL为每个Vertex定义了一组输入属性(内置变量),

in int gl_VertexID;
in int gl_InstanceID;
  • gl_VertexID:当前被处理的顶点的索引。它是当前顶点在数组中的索引。对应OpenGL命令是glDraw*系列
  • gl_InstanceID:指出了当前被渲染的instance。一般这个值是零,假如没有使用instance。

3.除了用户定义的输出变量,GLSL同时也定义了一组输出属性(内置变量),

out gl_PerVertex {
    vec4  gl_Position;
    float gl_PointSize;
    float gl_ClipDistance[];
};
posted @ 2014-11-12 12:58  zyh_think  阅读(1062)  评论(0编辑  收藏  举报