gKit2 light
Toggle main menu visibility
Loading...
Searching...
No Matches
gkit2_tutos
mesh_data.h
Go to the documentation of this file.
1
2
3
#ifndef _MESH_DATA_H
4
#define _MESH_DATA_H
5
6
#include <vector>
7
#include <string>
8
9
#include "glcore.h"
10
#include "
vec.h
"
11
#include "
color.h
"
12
13
15
struct
MaterialData
16
{
17
Color
diffuse
;
18
Color
diffuse_texture_color
;
19
20
std::string
diffuse_filename
;
21
GLuint
diffuse_texture
;
22
23
Color
specular
;
24
25
Color
emission
;
26
float
ns
;
27
28
std::string
ns_filename
;
29
GLuint
ns_texture
;
30
31
// normal texture... \todo
32
33
MaterialData( ) :
diffuse
(0.8f, 0.8f, 0.8f),
diffuse_texture_color
(1, 1, 1),
diffuse_filename
(),
diffuse_texture
(0),
34
specular
(
Black
()),
emission
(),
35
ns
(0),
ns_filename
(),
ns_texture
(0) {}
36
};
37
39
struct
MaterialDataLib
40
{
41
std::vector<std::string> names;
42
std::vector<MaterialData> data;
43
};
44
45
46
struct
MeshData
47
{
48
std::vector<vec3> positions;
49
std::vector<vec2> texcoords;
50
std::vector<vec3> normals;
51
52
std::vector<int> position_indices;
53
std::vector<int> texcoord_indices;
54
std::vector<int> normal_indices;
55
56
std::vector<MaterialData> materials;
57
std::vector<int> material_indices;
58
};
59
66
std::string
pathname
(
const
std::string& filename );
67
69
MeshData
read_mesh_data
(
const
char
*filename );
70
72
MaterialDataLib
read_material_data
(
const
char
*filename );
73
75
void
bounds
(
const
MeshData
& data,
Point
& pmin,
Point
& pmax );
76
78
void
normals
(
MeshData
& data );
79
81
MeshData
vertices
(
MeshData
& data );
82
83
84
#endif
color.h
Black
Color Black()
utilitaire. renvoie une couleur noire.
Definition
color.cpp:18
read_material_data
MaterialDataLib read_material_data(const char *filename)
charge un ensemble de matieres texturees.
Definition
mesh_data.cpp:202
pathname
std::string pathname(const std::string &filename)
Definition
files.cpp:68
normals
void normals(MeshData &data)
(re-) calcule les normales des sommets. utiliser avant les reindexations, cf indices() et vertices().
Definition
mesh_data.cpp:307
read_mesh_data
MeshData read_mesh_data(const char *filename)
charge un fichier wavefront .obj et renvoie les donnees.
Definition
mesh_data.cpp:16
vertices
MeshData vertices(MeshData &data)
construit les sommets. prepare l'affichage openGL, avec glDrawArrays().
Definition
mesh_data.cpp:350
bounds
void bounds(const MeshData &data, Point &pmin, Point &pmax)
renvoie l'englobant.
Definition
mesh_data.cpp:290
MaterialDataLib
ensemble de matieres texturees.
Definition
mesh_data.h:40
MeshData
Definition
mesh_data.h:47
Color
representation d'une couleur (rgba) transparente ou opaque.
Definition
color.h:14
MaterialData::specular
Color specular
couleur du reflet
Definition
mesh_data.h:23
MaterialData::emission
Color emission
pour une source de lumiere
Definition
mesh_data.h:25
MaterialData::diffuse_texture
GLuint diffuse_texture
texture diffuse
Definition
mesh_data.h:21
MaterialData::diffuse_filename
std::string diffuse_filename
nom de la texture diffuse
Definition
mesh_data.h:20
MaterialData::ns
float ns
exposant pour les reflets blinn-phong
Definition
mesh_data.h:26
MaterialData::ns_texture
GLuint ns_texture
texture exposant
Definition
mesh_data.h:29
MaterialData::diffuse
Color diffuse
couleur diffuse
Definition
mesh_data.h:17
MaterialData::ns_filename
std::string ns_filename
nom de la texture exposant
Definition
mesh_data.h:28
MaterialData::diffuse_texture_color
Color diffuse_texture_color
couleur moyenne de la texture
Definition
mesh_data.h:18
Point
representation d'un point 3d.
Definition
vec.h:21
vec.h
Generated on
for gKit2 light by
1.17.0