Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGLES 2.0: gl_VertexID equivalent?

I'm trying to create a grid of points by calculating vertex positions dynamically, based on their index in the array of vertices sent to the shader. Is there an equivalent of the gl_VertexID variable that I can call from within my shader? Or another way of accessing their position in the array without having to send more data to the GPU? Thank, Josh.

Here's my vertex shader:

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;
}
like image 510
Josh Avatar asked Apr 06 '12 13:04

Josh


1 Answers

Unfortunately there is no gl_VertexID equivalent in GLES2. You must create and pass additional data yourself.

like image 59
Mārtiņš Možeiko Avatar answered Nov 11 '22 15:11

Mārtiņš Možeiko