OpenGLES 2.0 tampons séparés pour les sommets, les couleurs et les coordonnées de texture

J'ai été à l'apprentissage d'OpenGL pour quelques jours en suivant des tutoriels et de codage de certaines expériences de ma propre. Mais il y a une chose que je ne comprends vraiment pas ce qui me bloque de le poursuivre. J'ai cherché sur google pour quelques heures maintenant et n'ai pas trouvé encore de réponse à ma question.

Où dois-je spécifier toutes les valeurs de couleur et de coordonnées de texture pour chaque vertex? Si ces propriétés toujours dans le même tableau (struct) que les positions des sommets? Comme:

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}},

    ...

Ou est-il un moyen de mettre de la couleur des valeurs et des coordonnées de texture dans des tableaux distincts? Mais alors la question se pose: comment dois-je appeler glDrawElements avec des tableaux distincts?

Dans le cas où vous vous demandez pourquoi je veux séparer ces valeurs: je suis en train de faire mon propre .obj analyseur en obj-c et je me demandais: que faire si vous chargez un modèle sans texture, et que vous souhaitez uniquement afficher une couleur sur l'objet? Ou: si vous souhaitez charger un modèle avec seulement une texture mappée à elle, mais pas de couleur par sommet? Et: N'est-ce pas mettre les valeurs de la couleur et de la texture de coordonner les ballonnements le Sommet struct avec trop de données.

source d'informationauteur polyclick