2012-04-06 15 views
6

Sto provando a creare una griglia di punti calcolando le posizioni dei vertici in modo dinamico, in base al loro indice nella serie di vertici inviati allo shader. Esiste un equivalente della variabile gl_VertexID che posso chiamare dal mio shader? O un altro modo per accedere alla loro posizione nell'array senza dover inviare più dati alla GPU? Grazie, Josh.OpenGLES 2.0: equivalente gl_VertexID?

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

Non è una risposta alla domanda originale, ma è stata aggiunta in GLES 3.0. http://www.khronos.org/registry/gles/specs/3.0/es_spec_3.0.0.pdf – nullspace

risposta

12

purtroppo non c'è gl_VertexID equivalente in GLES2. È necessario creare e passare da soli dati aggiuntivi.

Problemi correlati