OpenGL gl_VertexID页面明确说明:
gl_VertexID是一个顶点语言输入变量,它保存顶点的整数索引。
而OpenGL Vertex Shader页面说它是:
当前正在处理的顶点的索引。在使用非索引渲染时,它是当前顶点的有效索引(已处理的顶点数+第一个值)。
我可以百分之百地假设,在非索引渲染命令中,gl_VertexID是绑定顶点缓冲区中的int顶点索引吗?还是它是正在被渲染命令处理的顶点的索引(可能或可能不按照顶点缓冲区中的顺序)?
疑问来自()内的描述部分,对于要使已处理顶点数等于顶点缓冲区中当前顶点的索引,必须线性处理顶点。我可以假设这总是成立的吗?或者可能存在OpenGL实现会反向处理顶点,或按桶处理等情况吗?