OpenGLES 2.0:gl_VertexID等价?

时间:2012-04-06 13:31:10

标签: glsl opengl-es-2.0 vertex vertex-shader

我正在尝试通过动态计算顶点位置来创建点网格,这是基于它们在发送到着色器的顶点数组中的索引。是否有我可以在着色器中调用的gl_VertexID变量的等效变量?或者另一种访问阵列中位置的方法,而不必向GPU发送更多数据?谢谢Josh。

这是我的顶点着色器:

attribute vec4 vertexPosition;
uniform mat4 modelViewProjectionMatrix;
vec4 temp;
uniform float width;

void main()
{    
    temp = vertexPosition;

    // Calculate x and y values based on index:
    temp.y = floor(gl_VertexID/width);
    temp.x = gl_VertexID - width*temp.y;

    gl_Position = modelViewProjectionMatrix * temp;
}

1 个答案:

答案 0 :(得分:12)

不幸的是GLES2中没有gl_VertexID等价物。您必须自己创建并传递其他数据。