Bonjour,
Depuis quelques jours bidouille sur OpenGl (enfin j'essaye..). Donc j'arrive pas vraiment à trouver les réponses à mes questions donc je viens vous les poser.
Utiliser OpenGL avec C++, portabilité inéxistante?
Une première question, donc sur la portabilité d'une application codé en C++? Il n'y a pas d'exportation possible sur linux même si je recompile mes sources plus tard sous linux?
Un VBO, quel type de structure?
Je vois plein de chose sur internet et je ne sais jamais si c'est à jour ou pas.. Donc pour construire mon VBO, c'est un tableau de float avec des données entrelacé? Exemple verticles[10]={V1x, V1y, V1z, Vn1x, Vn1y, Vn1z, Vt1x, Vt1y, V2x, V2y, V2z, Vn2x, Vn2y, Vn2z, Vt2x, Vt2y, V3x, V3y, V3z, Vn3x, Vn3y, Vn3z, Vt3x, Vt3y}. Peut-on également rajouter les couleur dans ce tableau? De même coordonnées pour les placer dans l'espace une fois leur modélisation effectuées?
glGenBuffers, le nombre buffer dont j'ai besoin?
Donc un buffer, c'est un espace dans la VRAM ? Je ne suis pas vraiment sur donc... qu'est ce qui va me pousser d'avoir plus d'un buffer? Est ce que pour chaque objet j'assigne un buffer différent ou bien prendre un gros buffer?
Un tableau d'indices
J'ai vu par exemple sur ce site (http://www.songho.ca/opengl/gl_vertexarray.html) des tableaux d'indices alors sur d'autres exemples ils n'en utilisent pas http://en.wikipedia.org/wiki/Vertex_Buffer_Object. Donc d'après ce que j'ai compris, normalement dans ce tableau sont mis dans l'ordre les vertex à utiliser pour dessiner nos polygone (pour moi des triangles). Mais du coups dans l'exemple du wiki comment ça se passe? Est-on obligé de faire ce tableau d'indice? S'il n'est pas renseigné, est-ce alors l'ordre dans lequel sont annoncé les verticles qui est pris en compte?
GLfloat verticles
Je me pose une question sur le type du tableau envoyé dans la VRAM, de temps en temps je vois float verticles[] et défois des GLfloat verticles[], est ce qu'il y a une différence?
Enfin j'ai une dernière question qui dépend de la question précédente, je bidouille en C++. Si j'ai une structure de tableau comme celle-ci:
Suis-je obligé de changer ma structure de tableau pour utiliser mes données avec openGL?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 struct vec3 { float x, y, z; }; struct vec2 { float x, y; }; struct Vertex { vec3 _position; vec3 _normal; vec2 _texcoord; }; std::vector<Vertex> _vb;
Merci si des gens ont réussie à lire jusque qu'ici ^^. Et doublement merci si des personnes peuvent répondre à mes interrogations.
Partager