Merci je vais essayer tout de suite ;)
Version imprimable
Merci je vais essayer tout de suite ;)
Alors je n'avait pas pu essayer de suite comme j'avait dit :( .
La je vien d'essayer, je ne sait si j'ai bien fait l'impléméntation, mais ca ne fonctionne pas lol, voici un petit code de ce que j'ai fait:
Ca compile mais plante à l'éxecution :mouarf:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 /// construct VBO vertices = new float[numFaces*9]; for ( int i = 0; i < numFaces; ++i ) { vertices[9*i] = vertex[ index_vertex[i].x-1 ].x; vertices[9*i+1] = vertex[ index_vertex[i].x-1 ].y; vertices[9*i+2] = vertex[ index_vertex[i].x-1 ].z; vertices[9*i+3] = vertex[ index_vertex[i].y-1 ].x; vertices[9*i+4] = vertex[ index_vertex[i].y-1 ].y; vertices[9*i+5] = vertex[ index_vertex[i].y-1 ].z; vertices[9*i+6] = vertex[ index_vertex[i].z-1 ].x; vertices[9*i+7] = vertex[ index_vertex[i].z-1 ].y; vertices[9*i+8] = vertex[ index_vertex[i].z-1 ].z; } /// /// draw stuff { glVertexPointer (3, GL_FLOAT, 0, vertices); glNormalPointer (GL_FLOAT, 0, &normal[0]); glDrawArrays (GL_TRIANGLES,0,numFaces*3); // numFaces c'est le nombre // d'index vertex, c'est bien ca qu'il faut mettre? }
Ou ai-je foiré :aie:
Tu veux faire quoi ? Des vbo ou des vertex arrays ? As-tu bien enclanché glEnableClientState pour les normales et les vertex ?Citation:
Envoyé par Happy
glEnableClientState (GL_VERTEX_ARRAY);
glEnableClientState (GL_NORMAL_ARRAY);
glVertexPointer (3, GL_FLOAT, 0, vertices);
glNormalPointer (GL_FLOAT, 0, &normal[0]);
glDrawArrays (GL_TRIANGLES,0,numFaces*3);
glDisableClientState (GL_VERTEX_ARRAY);
glDisableClientState (GL_NORMAL_ARRAY);
Ca c'est pour les vertex arrays. Pour les VBO faut d'abord tout mettre dnas la mémoire du GPU, et les appels sont légèrement différents.
Merci vraiment pour ton aide!
Oui j'ai tout activé et les vertex arrays fonctionnent avce un autre loader.
Enfin le probleme est que je ne peut tester d'autres solutions :( pour l'instant.
Je vais essayer ce week& et je tien au courant avec le code source si ca intérésse quelqun ;)
Si tu veux pour les VBO je peux te passer mon code.
Merci :D, en fait je crois que je vais m'en sortir avec la partie du code source de ton loader ;)Citation:
Envoyé par Bakura
Salut,
Tiens, voici un lien pour les VBOs :
http://www.g-truc.net/article/vbo-fr.pdf
Je ne sais pas ce qu'il vaut honêtemment, mais je l'ai lu et essayé d'appliquer, essayé seulement car je suis tombé face aux extensions et alors j'ai eu la flemme, je remets ça à demain.
Bonne chance à toi pour ton loader ;)
Pour les extensions, GLEW est indispensable ;) Facile d'utilisation.
Merci beaucoup!
Comme ca j'aurais plus de chances de réussir :D
Oui je connais l'existence de Glew, mais à sa compilation (linux) il ne trouve pas -lXmu...
Bon enfin, c'est pas trop grave :-°
Merci quand même.
Au fait, est-ce qu'il existe une autre méthode que les tableaux pour utiliser les VBOs ?
Du genre:
glBindBuffer();
glTexCoord..
glVertex...
...
?
Je comprends pas ta question ? Comment ça autrement que des tableaux ?
Créer un VBO en spécifiant les données d'une autre façon que par le biais de tableaux.
Par exemple, si on veut faire du multi-texturing avec les VBO, on fait comment ? :mrgreen:
Je ne comprends pas trop le sens de ta question non plus. Si tu utilises les VBO il faudra à un moment ou un autre que tu remplisses ton (ou tes) vertex buffer, quelque soit la forme de tes données source.
Le multi-texturing ça ne change pas grand chose si ce n'est qu'au lieu d'avoir une paire de coordonnées de texture tu en auras plusieurs dans ton (ou tes) vertex buffer.
Bon d'accord.
Cependant, en lisant ce tutoriel:
http://mdeverdelhan.developpez.com/t...ght/tutoriel2/
Je vois qu'un calcul est effectué entre caque rendu du moindre sommet (pour le lightmapping) et donc j'en conclu que cette technique ne peux pas être appliquée avec des VBO. (ou alors il me manque une case :aie: )
Donc pour obtenir ce type de rendu, soit on n'utilise pas de VBO, soit, d'après quelques brefs acticles en anglais que j'ai pu lire hier soir, on utilise les shaders pour obtenir l'effet souhaité.
Si possible, j'aurai voulu être éclairé sur ces quelques doutes :-°
Et si il faut effectivement utiliser les shaders (ou pas, celà dit :mouarf: ), j'ai bien trouvé quelques liens, mais si vous en avez en français, je suis pas contre :)
Merci.
PS:
Oups, je suis légèrement HS...
EDIT:
Je suis si bête... :oops:
Il me suffit de modifier les valeurs de mon tableau, puis d'effectuer le rendu, le tutoriel fait ces calculs en même temps que le rendu, ça m'a embrouillé...
Cela dit, il existe peut-être une façon plus rapide que cette dernière pour du lightmapping dynamique... (et/ou bump mapping)
effectivement, on peut très facilement reporter le calcul des coordonnées de textures du light mapping sur un vertex program...
le calcul etant particulièrement simple, ca doit faire un shader de quelques lignes à peine ;)