VBO et buffer à double utilisation
hello.
Première question : quel est la commande Opengl qui met le buffer dans la VRAM:
1) glBufferData
2) glNormalPointer/glVertexPointer/...
Deuxième question, J'ai ceci :
Code:
1 2 3 4 5 6 7
| struct normalTang
{
Vector3<float> normal;
Vector3<float> tangent;
};
normalTang *var = new normalTang[numVert];
//init de var |
Comment dois-je faire pour mettre les normal et les tagent en mémoire ? Je doit utiliser 1 ou 2 buffer ?
Code:
1 2 3 4 5
| glBindBuffer(GL_ARRAY_BUFFER, bufferID[NORMAL]);
glBufferData(GL_ARRAY_BUFFER, numVert*sizeof(normalTang), var, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, bufferID[TANGENT]);
glBufferData(GL_ARRAY_BUFFER, numVert*sizeof(normalTang), var[0].tangent, GL_STATIC_DRAW); |
Y a t-il moyen de n'utiliser qu'un seul buffer ? Si oui, comment faire pour les méthode glNormalPointer et glVertexAttribPointer ?
Si il n'y a pas moyen d'utiliser qu'un seul buffer, est-ce que j'aurais avantage au niveau mémoire à séparer ma struct normalTang en 2 ?
merci