gKit2 light

- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List
- File Members

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, const int major, const int minor)
cree et configure un contexte opengl
Definition: window.cpp:252
window.h
draw
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 f...
Definition: draw.cpp:6
create_window
Window create_window(const int w, const int h)
creation d'une fenetre pour l'application.
Definition: window.cpp:186
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
release_context
void release_context(Context context)
detruit le contexte openGL.
Definition: window.cpp:306
release_window
void release_window(Window window)
destruction de la fenetre.
Definition: window.cpp:222
run
int run(Window window, int(*draw)(void))
fonction principale. gestion des evenements et appel de la fonction draw de l'application.