|
gKit2 light
|
#include <vector>#include <unordered_map>#include "glcore.h"#include "vec.h"#include "mat.h"#include "color.h"#include "materials.h"Go to the source code of this file.
Classes | |
| struct | TriangleData |
| representation d'un triangle. More... | |
| struct | TriangleGroup |
| representation d'un ensemble de triangles de meme matiere. More... | |
| class | Mesh |
| representation d'un objet / maillage. More... | |
Enumerations | |
| enum | : unsigned { USE_POSITION = 1 , USE_TEXCOORD = 2 , USE_NORMAL = 4 , USE_COLOR = 8 , USE_MATERIAL_INDEX = 16 } |
| flags pour identifier les attributs de sommets de Mesh. à utiliser avec Mesh::create_buffers(). More... | |
Functions | |
| void | release_buffers (const GLuint vao) |
| détruit le vao et les buffers associés. a utiliser a la place de Mesh::release() après Mesh::create_buffers(); | |
representation d'un objet.
Mesh propose plusieurs manieres de decrire un maillage. par exemple, un triangle :
il est aussi possible de definir d'autres attributs : la couleur du sommet, sa normale, ses coordonnees de texture, ce sont les fonctions Mesh::color(), Mesh::normal() et Mesh::texcoord(). on peut decrire ces informations de maniere assez compacte :
et :
vertex() doit etre utilise en dernier. pour permettre de decrire un triangle de couleur uniforme, par exemple, au lieu d'ecrire :
il est plus simple d'ecrire :
et cette solution permet aussi de decrire plusieurs triangles partageant leurs sommets, par exemple :
Definition in file mesh.h.