Oye. Soy nuevo en OpenGL ES pero tengo mi experiencia compartida con OpenGL normal. Me han dicho que el uso de matrices entrelazadas para los búferes de vértices es mucho más rápido debido a la optimización para evitar errores de caché.
he desarrollado un formato de vértice que voy a utilizar con este aspectoAlcance del atributo de Opengl Vertex
struct SVertex { float x,y,z; float nx,ny,nz; float tx,ty,tz; float bx,by,bz; float tu1,tv1; float tu2,tv2; };
Luego utiliza "glVertexAttribPointer (índice, 3, GL_FLOAT, GL_FALSE, zancada, v);" para apuntar a la matriz de vértices. El índice es uno de los atributos que quiero usar y todo lo demás está bien, excepto la zancada. Funcionó antes de que decidiera agregar esto a la ecuación. Pasé la zancada como sizeof (SVertex) y como 13 * 4, pero ninguno de ellos parece funcionar.
Si tiene alguna importancia, dibujo las primitivas como esta
glDrawElements(GL_TRIANGLES,surface->GetIndexCount()/3,GL_UNSIGNED_INT,surface->IndPtr());En las especificaciones de OpenGL está escrito que la zancada debe ser del tamaño en bytes desde el final del atributo (en este caso z) hasta el siguiente atributo del mismo tipo (en este caso x). Entonces, según mis cálculos, esto debería ser 13 (nx, ny, nz, tx, ty .... tuv2, tv2) multiplicado por 4 (el tamaño de un flotador).
Ah y una cosa más es que la pantalla está vacía.
¿Alguien podría ayudarme con esto?
Muchas gracias.
Dije 13 valores pensando que tengo que restar los primeros 3 (si solo tienes x, y, z entonces la zancada es 0); – Sanctus2099