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 :
Comment dois-je faire pour mettre les normal et les tagent en mémoire ? Je doit utiliser 1 ou 2 buffer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 struct normalTang { Vector3<float> normal; Vector3<float> tangent; }; normalTang *var = new normalTang[numVert]; //init de var
Y a t-il moyen de n'utiliser qu'un seul buffer ? Si oui, comment faire pour les méthode glNormalPointer et glVertexAttribPointer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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
Partager