In GLSL-ES è possibile avere array. Ad esempio, il GLSL ES Specification pronunciato la seguente esempio di una variabile uniforme che è un array:È possibile che un attributo vertice sia un array in GLSL-ES 2.0?
uniform vec4 lightPosition[4];
È possibile avere vertice attributi che sono array? In altre parole, il seguente è legale secondo le specifiche?
attribute vec4 foo[3]; // three vec4s per vertex
La risposta (sì o no) è esplicitamente menzionata in qualsiasi punto della specifica GLSL ES? (Non riesco a trovarlo, ma non ho letto ogni riga delle specifiche.)
Inoltre, se è legale, come si inizializza tale attributo utilizzando l'API OpenGL ES 2.0? (Supponendo che sia utilizzato glVertexAttribPointer
, qual è il layout dei vertici/elementi-matrice/elementi vettoriali?)
Dove dice la specifica che non possono essere dichiarati come array? –
@LaurenceGonsalves: Sezione 4.3.3, dal titolo abbastanza sorprendentemente "Attributo". È l'ultima frase del primo paragrafo. –
@NicolBolas; Sul desktop è diventato legale utilizzare gli attributi dell'array nella versione 1.5 (GL 3.2), quindi è abbastanza nuovo anche lì. – falstro