在OpenGL中,glVertexAttrib*预定义了一些属性索引,用于指定顶点属性数据的位置和格式。这些预定义属性索引如下:
- gl_VertexID:顶点索引,用于标识当前正在处理的顶点。
- gl_InstanceID:实例索引,用于标识当前正在处理的实例。
- gl_Position:顶点位置,用于存储顶点在裁剪空间中的位置。
- gl_PointSize:点大小,用于指定点的大小。
- gl_ClipDistance:剪裁距离,用于指定剪裁平面的距离。
- gl_PrimitiveID:图元ID,用于标识当前正在处理的图元。
- gl_Layer:层索引,用于指定帧缓冲区的层索引。
- gl_ViewportIndex:视口索引,用于指定视口的索引。
- gl_FragCoord:片段坐标,用于存储片段在窗口坐标系中的位置。
- gl_FrontFacing:正面朝向,用于指定片段是否正面朝向。
- gl_PointCoord:点坐标,用于存储点的纹理坐标。
- gl_FragDepth:片段深度,用于指定片段的深度值。
- gl_FragStencilRef:模板参考值,用于指定模板缓冲区的参考值。
这些预定义属性索引可以在OpenGL的顶点着色器和片段着色器中使用,以实现不同的效果和功能。