gKit2 light
Loading...
Searching...
No Matches
première application avec gKit

Une application openGL est composée de plusieurs éléments :

  • une fenêtre pour voir ce que l'on dessine,
  • un contexte openGL pour dessiner,
  • 3 fonctions :
    • init( ) : pour créer les objets que l'on veut dessiner,
    • quit( ) : pour détruire les objets crées dans init( ), à la fermeture de l'application,
    • render( ) : pour afficher / dessiner quelque chose 60 fois par seconde.

La classe AppCamera permet d'écrire simplement une application openGL en dérivant ces 3 méthodes :

#include "app_camera.h"
class TP : public AppCamera
{
public:
// constructeur : donner les dimensions de la fenêtre, et éventuellement la version d'openGL.
TP( ) : AppCamera(1024, 640) {}
// creation des objets openGL de l'application
int init( ) { ... }
// destruction des objets openGL, à la fin de l'application
int quit( ) { ... }
// dessiner une nouvelle image.
int render( ) { ... }
};
int main( int argc, char **argv )
{
TP tp;
tp.run();
return 0;
}
classe application.
Definition app_camera.h:19
int run()
execution de l'application.
Definition app.cpp:36
Definition alpha.cpp:58
int render()
a deriver pour afficher les objets. renvoie 1 pour continuer, 0 pour fermer l'application.
Definition alpha.cpp:132
int quit()
a deriver pour detruire les objets openGL. renvoie -1 pour indiquer une erreur, 0 sinon.
Definition alpha.cpp:124
int init()
a deriver pour creer les objets openGL. renvoie -1 pour indiquer une erreur, 0 sinon.
Definition alpha.cpp:64

par ou on commence ?

par lire premiers objets, affichage et transformations qui explique rapidement comment décrire un objet, comment le placer dans la scène, et enfin comment contrôler une camera, pour le dessiner. bref, tout ce qu'il faut pour écrire une application interactive.

les explications plus complètes sont dans la doc de Mesh.

les calculs avec des points (cf la classe Point), des vecteurs (cf classe Vector) et des transformations / matrices (cf classe Transform) sont décrits dans vec.h ainsi que mat.h.

à quoi ça ressemble ?

si vous préférez partir d'un code simple et le modifier, c'est possible aussi, ouvrez projets/tp.cpp et compilez le projet correspondant tp. (normalement c'est déjà fait ! cf Installation)