gKit2 light
Loading...
Searching...
No Matches
draw.h File Reference
#include "mesh.h"
#include "orbiter.h"
#include "window.h"
#include "program.h"

Go to the source code of this file.

Classes

class  DrawParam
struct  PipelineProgram
 description d'un shader program compile. More...
class  PipelineCache
 ensemble de shader programs compiles. singleton. More...

Functions

void draw (Mesh &m, const Transform &model, const Transform &view, const Transform &projection)
 dessine l'objet avec les transformations model, vue et projection.
void draw (Mesh &m, const Transform &model, const Transform &view, const Transform &projection, const GLuint texture)
 applique une texture a la surface de l'objet. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.
void draw (Mesh &m, Orbiter &camera)
 dessine l'objet avec les transformations vue et projection, definies par la camera. model est la transformation identite.
void draw (Mesh &m, const Transform &model, Orbiter &camera)
 dessine l'objet avec une transformation model. les transformations vue et projection sont celles de la camera
void draw (Mesh &m, Orbiter &camera, const GLuint texture)
 dessine l'objet avec les transformations vue et projection. model est l'identite. applique une texture a la surface de l'objet. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.
void draw (Mesh &m, const Transform &model, Orbiter &camera, const GLuint texture)
 dessine l'objet avec une transformation model. les transformations vue et projection sont celles de la camera. applique une texture a la surface de l'objet. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.
dessine des triangles d'un objet associés à une matière. cf gestion des matieres, Mesh::groups() et les classes Materials et Material.
void draw (const TriangleGroup &group, Mesh &mesh, Orbiter &camera)
 dessine un groupe de triangles de l'objet associe a une matiere / couleur.
void draw (const TriangleGroup &group, Mesh &mesh, const Transform &model, Orbiter &camera)
 dessine un groupe de triangles de l'objet associe a une matiere / couleur.
void draw (const TriangleGroup &group, Mesh &mesh, const Transform &model, const Transform &view, const Transform &projection)
 dessine un groupe de triangles de l'objet associe a une matiere / couleur.
void draw (const TriangleGroup &group, Mesh &mesh, Orbiter &camera, const GLuint texture)
 dessine un groupe de triangles de l'objet associe a une matiere / couleur et une texture. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.
void draw (const TriangleGroup &group, Mesh &mesh, const Transform &model, Orbiter &camera, const GLuint texture)
 dessine un groupe de triangles de l'objet associe a une matiere / couleur et une texture. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.
void draw (const TriangleGroup &group, Mesh &mesh, const Transform &model, const Transform &view, const Transform &projection, const GLuint texture)
 dessine un groupe de triangles de l'objet associe a une matiere / couleur et une texture. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.
void draw (Mesh &m, DrawParam &param)

Class Documentation

◆ PipelineProgram

struct PipelineProgram

description d'un shader program compile.

Definition at line 150 of file draw.h.

Class Members
string filename
string definitions
GLuint program

Function Documentation

◆ draw() [1/13]

void draw ( Mesh & m,
const Transform & model,
const Transform & view,
const Transform & projection )

dessine l'objet avec les transformations model, vue et projection.

Definition at line 33 of file draw.cpp.

34{
35 DrawParam param;
36 param.model(model).view(view).projection(projection);
37 param.draw(m);
38}
void draw(Mesh &mesh)
dessine l'objet avec l'ensemble des parametres definis.
Definition draw.cpp:157
DrawParam & model(const Transform &m)
modifie la transformation model utilisee pour afficher l'objet.
Definition draw.h:79
DrawParam & view(const Transform &m)
modifie la transformation view utilisee pour afficher l'objet.
Definition draw.h:81
DrawParam & projection(const Transform &m)
modifie la transformation projection utilisee pour afficher l'objet.
Definition draw.h:83

◆ draw() [2/13]

void draw ( Mesh & m,
const Transform & model,
const Transform & view,
const Transform & projection,
const GLuint texture )

applique une texture a la surface de l'objet. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.

Definition at line 8 of file draw.cpp.

9{
10 DrawParam param;
11 param.model(model).view(view).projection(projection);
12 param.texture(texture);
13 param.draw(m);
14}
DrawParam & texture(const GLuint t)
plaque une texture opaque a la surface de l'objet.
Definition draw.h:92

◆ draw() [3/13]

void draw ( Mesh & m,
Orbiter & camera )

dessine l'objet avec les transformations vue et projection, definies par la camera. model est la transformation identite.

Definition at line 50 of file draw.cpp.

51{
52 // affiche l'objet
53 draw(m, Identity(), camera);
54}
Transform Identity()
construit la transformation identite.
Definition mat.cpp:187

◆ draw() [4/13]

void draw ( Mesh & m,
const Transform & model,
Orbiter & camera )

dessine l'objet avec une transformation model. les transformations vue et projection sont celles de la camera

Definition at line 40 of file draw.cpp.

41{
42 // recupere les transformations
43 Transform view= camera.view();
44 Transform projection= camera.projection(window_width(), window_height(), 45);
45
46 // affiche l'objet
47 draw(m, model, view, projection);
48}
int window_height()
renvoie la hauteur de la fenetre de l'application.
Definition window.cpp:27
int window_width()
renvoie la largeur de la fenetre de l'application.
Definition window.cpp:23
representation d'une transformation, une matrice 4x4, organisee par ligne / row major.
Definition mat.h:21

◆ draw() [5/13]

void draw ( Mesh & m,
Orbiter & camera,
const GLuint texture )

dessine l'objet avec les transformations vue et projection. model est l'identite. applique une texture a la surface de l'objet. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.

Definition at line 26 of file draw.cpp.

27{
28 draw(m, Identity(), camera, texture);
29}

◆ draw() [6/13]

void draw ( Mesh & m,
const Transform & model,
Orbiter & camera,
const GLuint texture )

dessine l'objet avec une transformation model. les transformations vue et projection sont celles de la camera. applique une texture a la surface de l'objet. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.

Definition at line 16 of file draw.cpp.

17{
18 // recupere les transformations
19 Transform view= camera.view();
20 Transform projection= camera.projection(window_width(), window_height(), 45);
21
22 // affiche l'objet
23 draw(m, model, view, projection, texture);
24}

◆ draw() [7/13]

void draw ( const TriangleGroup & group,
Mesh & mesh,
Orbiter & camera )

dessine un groupe de triangles de l'objet associe a une matiere / couleur.

Definition at line 75 of file draw.cpp.

76{
77 draw(group, m, Identity(), camera);
78}

◆ draw() [8/13]

void draw ( const TriangleGroup & group,
Mesh & mesh,
const Transform & model,
Orbiter & camera )

dessine un groupe de triangles de l'objet associe a une matiere / couleur.

Definition at line 65 of file draw.cpp.

66{
67 // recupere les transformations
68 Transform view= camera.view();
69 Transform projection= camera.projection(window_width(), window_height(), 45);
70
71 // dessine les triangles
72 draw(group, m, model, view, projection);
73}

◆ draw() [9/13]

void draw ( const TriangleGroup & group,
Mesh & mesh,
const Transform & model,
const Transform & view,
const Transform & projection )

dessine un groupe de triangles de l'objet associe a une matiere / couleur.

Definition at line 58 of file draw.cpp.

59{
60 DrawParam param;
61 param.model(model).view(view).projection(projection);
62 param.draw(group, m);
63}

◆ draw() [10/13]

void draw ( const TriangleGroup & group,
Mesh & mesh,
Orbiter & camera,
const GLuint texture )

dessine un groupe de triangles de l'objet associe a une matiere / couleur et une texture. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.

Definition at line 100 of file draw.cpp.

101{
102 draw(group, m, Identity(), camera, texture);
103}

◆ draw() [11/13]

void draw ( const TriangleGroup & group,
Mesh & mesh,
const Transform & model,
Orbiter & camera,
const GLuint texture )

dessine un groupe de triangles de l'objet associe a une matiere / couleur et une texture. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.

Definition at line 90 of file draw.cpp.

91{
92 // recupere les transformations
93 Transform view= camera.view();
94 Transform projection= camera.projection(window_width(), window_height(), 45);
95
96 // dessine les triangles
97 draw(group, m, model, view, projection, texture);
98}

◆ draw() [12/13]

void draw ( const TriangleGroup & group,
Mesh & mesh,
const Transform & model,
const Transform & view,
const Transform & projection,
const GLuint texture )

dessine un groupe de triangles de l'objet associe a une matiere / couleur et une texture. ne fonctionne que si les coordonnees de textures sont fournies avec tous les sommets de l'objet.

Definition at line 82 of file draw.cpp.

83{
84 DrawParam param;
85 param.model(model).view(view).projection(projection);
86 param.texture(texture);
87 param.draw(group, m);
88}

◆ draw() [13/13]

void draw ( Mesh & m,
DrawParam & param )

Definition at line 106 of file draw.cpp.

107{
108 param.draw(m);
109}