2012-04-06 31 views
6

Estoy tratando de crear una grilla de puntos calculando posiciones de vértices dinámicamente, en función de su índice en la matriz de vértices enviados al sombreador. ¿Hay un equivalente de la variable gl_VertexID a la que puedo llamar desde mi sombreador? ¿O alguna otra forma de acceder a su posición en la matriz sin tener que enviar más datos a la GPU? Gracias, Josh.OpenGLES 2.0: gl_VertexID equivalent?

Aquí es mi sombreado de vértices:

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; 
} 
+3

No es una respuesta a tu pregunta original, pero esta se ha agregado en GLES 3.0. http://www.khronos.org/registry/gles/specs/3.0/es_spec_3.0.0.pdf – nullspace

Respuesta

12

Desafortunadamente no hay un equivalente en gl_VertexID GLES2. Debe crear y pasar datos adicionales usted mismo.