He estado aprendiendo OpenGL durante unos días siguiendo algunos tutoriales y codificando algunos experimentos propios. Pero hay una cosa que realmente no entiendo que me impide continuar. He estado buscando en Google por unas horas y aún no he encontrado una respuesta a mi pregunta.Buffers separados de OpenGLES 2.0 para vértices, colores y coordenadas de textura
¿Dónde debería especificar cada valor de color y coordenada de textura para cada vértice individual? ¿Deberían enumerarse esas propiedades siempre en la misma matriz (struct) que las posiciones de los vértices? De esta manera:
const Vertex Vertices[] = {
// Front
{{1, -1, 0}, {1, 0, 0, 1}, {TEX_COORD_MAX, 0}},
{{1, 1, 0}, {0, 1, 0, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{-1, 1, 0}, {0, 0, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, -1, 0}, {0, 0, 0, 1}, {0, 0}},
...
¿O hay una forma de poner los valores de color y las coordenadas de la textura en matrices separadas? Pero entonces surge la pregunta: ¿cómo puedo llamar al glDrawElements
con matrices separadas?
En caso de que se pregunte por qué quiero separar estos valores: Actualmente estoy haciendo mi propio analizador .obj en obj-c y me preguntaba: ¿qué pasa si carga un modelo sin una textura y solo desea mostrar un color en el objeto? O bien: ¿y si quieres cargar un modelo con solo una textura mapeada, pero sin color por vértice? Y: no está poniendo valores de color y textura hinchando la estructura Vertex con demasiados datos.
¡Claro como el cristal! ;) – polyclick