gKit2 light
Toggle main menu visibility
Loading...
Searching...
No Matches
gkit2_tutos
tuto2.cpp
Go to the documentation of this file.
1
3
4
#include <stdio.h>
5
#include "
window.h
"
6
#include "
mesh.h
"
7
#include "
draw.h
"
8
9
/* par defaut, openGL dessine les objets qui se trouvent entre -1 et 1 sur x, y et z.
10
*/
11
12
Mesh
triangle;
13
14
15
int
init
( )
16
{
17
// etape 1 : decrire le triangle, les coordonnees des 3 sommets.
18
19
// creer un mesh pour stocker les coordonnees des sommets du triangle
20
triangle=
Mesh
(GL_TRIANGLES);
21
22
// choisir une couleur pour les sommets, rouge + vert = jaune
23
triangle.color(
Color
(1, 1, 0));
24
25
// donner les positions des 3 sommets, entre -1 1 sur x, y, z
26
triangle.vertex(-0.5, -0.5, 0);
27
triangle.vertex( 0.5, 0.5, 0);
28
triangle.vertex(-0.5, 0.5, 0);
29
30
return
0;
// ras, pas d'erreur
31
32
// on peut aussi donner des couleurs differentes aux sommets du triangle :
33
/*
34
triangle.color(Color(1, 0, 0));
35
triangle.vertex(-0.5, -0.5, 0);
36
37
triangle.color(Color(0, 1, 0));
38
triangle.vertex(0.5, 0.5, 0);
39
40
triangle.color(Color(0, 0, 1));
41
triangle.vertex(-0.5, 0.5, 0);
42
43
return 0; // ras, pas d'erreur
44
*/
45
}
46
47
int
draw( )
48
{
49
// etape 2 : dessiner l'objet avec opengl
50
51
// on commence par effacer la fenetre avant de dessiner quelquechose
52
glClear(GL_COLOR_BUFFER_BIT);
53
54
// on dessine le triangle sans changer les transformations.
55
draw(triangle,
Identity
(),
Identity
(),
Identity
());
56
57
return
1;
// on continue, renvoyer 0 pour sortir de l'application
58
}
59
60
int
quit( )
61
{
62
// etape 3 : detruire la description du triangle
63
triangle.release();
64
return
0;
// ras, pas d'erreur
65
}
66
67
68
int
main(
int
argc,
char
**argv )
69
{
70
// etape 1 : creer la fenetre
71
Window window=
create_window
(1024, 640);
72
if
(window == NULL)
73
return
1;
// erreur lors de la creation de la fenetre ou de l'init de sdl2
74
75
// etape 2 : creer un contexte opengl pour pouvoir dessiner
76
Context context=
create_context
(window);
77
if
(context == NULL)
78
return
1;
// erreur lors de la creation du contexte opengl
79
80
// etape 3 : creation des objets
81
if
(
init
() < 0)
82
{
83
printf
(
"[error] init failed.\n"
);
84
return
1;
85
}
86
87
// etape 4 : affichage de l'application, tant que la fenetre n'est pas fermee. ou que draw() ne renvoie pas 0
88
run
(window, draw);
89
90
// etape 5 : nettoyage
91
quit();
92
release_context
(context);
93
release_window
(window);
94
return
0;
95
}
Mesh
representation d'un objet / maillage.
Definition
mesh.h:121
draw.h
create_context
Context create_context(Window window)
cree et configure un contexte opengl
Definition
window.cpp:358
release_window
void release_window(Window window)
destruction de la fenetre.
Definition
window.cpp:328
run
int run(Window window, int(*draw)())
boucle de gestion des evenements de l'application.
Definition
window.cpp:158
printf
void printf(Text &text, const int px, const int py, const char *format,...)
affiche un texte a la position x, y. meme utilisation que printf().
Definition
text.cpp:140
create_window
Window create_window(const int w, const int h, const int major, const int minor)
creation d'une fenetre pour l'application.
Definition
window.cpp:262
release_context
void release_context(Context context)
detruit le contexte openGL.
Definition
window.cpp:439
Identity
Transform Identity()
construit la transformation identite.
Definition
mat.cpp:187
mesh.h
init
int init(std::vector< const char * > &options)
Definition
shader_kit.cpp:97
Color
representation d'une couleur (rgba) transparente ou opaque.
Definition
color.h:14
window.h
Generated on
for gKit2 light by
1.17.0