gKit2 light
Toggle main menu visibility
Loading...
Searching...
No Matches
gkit2_tutos
tuto1.cpp
Go to the documentation of this file.
1
3
4
#include <stdio.h>
5
#include "
window.h
"
6
7
/* une application opengl est composee de plusieurs composants :
8
1. une fenetre pour voir ce que l'on dessine
9
2. un contexte openGL pour dessiner
10
3. 3 fonctions :
11
init( ) pour creer les objets que l'on veut dessiner,
12
draw( ) pour les afficher / dessiner
13
quit( ) pour detruire les objets openGL crees dans init( )
14
15
ces 3 fonctions sont appelees dans le main.
16
17
draw( ) est un peu a part, elle est appellee par la fonction run( ) qui traite les evenements clavier, souris, clicks, etc,
18
ca permet de reagir a ces evenements et de modifier / deplacer / animer ce que l'on dessine.
19
*/
20
21
// creation des objets openGL
22
int
init
( )
23
{
24
return
0;
// renvoyer 0 ras, pas d'erreur, sinon renvoyer -1
25
}
26
27
// affichage
28
int
draw( )
29
{
30
return
1;
// on continue, renvoyer 0 pour sortir de l'application
31
}
32
33
// destruction des objets openGL
34
int
quit( )
35
{
36
return
0;
// ras, pas d'erreur
37
}
38
39
40
int
main(
int
argc,
char
**argv )
41
{
42
// etape 1 : creer la fenetre
43
Window window=
create_window
(1024, 640);
44
if
(window == NULL)
45
return
1;
// erreur lors de la creation de la fenetre ou de l'init de sdl2
46
47
// etape 2 : creer un contexte opengl pour pouvoir dessiner
48
Context context=
create_context
(window);
49
if
(context == NULL)
50
return
1;
// erreur lors de la creation du contexte opengl
51
52
// etape 3 : creation des objets
53
if
(
init
() < 0)
54
{
55
printf
(
"[error] init failed.\n"
);
56
return
1;
57
}
58
59
// etape 4 : affichage de l'application, tant que la fenetre n'est pas fermee. ou que draw() ne renvoie pas 0
60
run
(window, draw);
61
62
// etape 5 : nettoyage
63
quit();
64
release_context
(context);
65
release_window
(window);
66
return
0;
67
}
68
create_context
Context create_context(Window window)
cree et configure un contexte opengl
Definition
window.cpp:344
release_window
void release_window(Window window)
destruction de la fenetre.
Definition
window.cpp:314
run
int run(Window window, int(*draw)())
boucle de gestion des evenements de l'application.
Definition
window.cpp:145
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, const int samples)
creation d'une fenetre pour l'application.
Definition
window.cpp:249
release_context
void release_context(Context context)
detruit le contexte openGL.
Definition
window.cpp:404
init
int init(std::vector< const char * > &options)
Definition
shader_kit.cpp:97
window.h
Generated on
for gKit2 light by
1.17.0