15 Mesh make_grid(
const int n= 10 )
21 for(
int x= 0; x < n; x++)
23 float px= float(x) - float(n)/2 + .5f;
24 grid.
vertex(px, 0, -
float(n)/2 + .5f);
25 grid.
vertex(px, 0,
float(n)/2 - .5f);
28 for(
int z= 0; z < n; z++)
30 float pz= float(z) - float(n)/2 + .5f;
31 grid.
vertex(-
float(n)/2 + .5f, 0, pz);
32 grid.
vertex(
float(n)/2 - .5f, 0, pz);
64 m_repere= make_grid(20);
65 m_local= make_grid(4);
76 m_repere.
bounds(pmin, pmax);
81 glClearColor(0.2f, 0.2f, 0.2f, 1.f);
85 glEnable(GL_DEPTH_TEST);
102 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
115 draw(m_objet, m_position,
camera());
136 draw(m_objet, m_position * m,
camera());
139 draw(m_local, m_position,
camera());
164 int main(
int argc,
char **argv )
const Orbiter & camera() const
renvoie l'orbiter gere par l'application.
int run()
execution de l'application.
representation d'un objet / maillage.
unsigned int vertex(const vec3 &p)
insere un sommet de position p, et ses attributs (s'ils sont definis par color(), texcoord(),...
void bounds(Point &pmin, Point &pmax) const
renvoie min et max les coordonnees des extremites des positions des sommets de l'objet (boite engloba...
void release()
detruit les objets openGL.
Mesh & color(const vec4 &c)
definit la couleur du prochain sommet.
void lookat(const Point ¢er, const float size)
observe le point center a une distance size.
int render()
a deriver pour afficher les objets. renvoie 1 pour continuer, 0 pour fermer l'application.
int quit()
a deriver pour detruire les objets openGL. renvoie -1 pour indiquer une erreur, 0 sinon.
int init()
a deriver pour creer les objets openGL. renvoie -1 pour indiquer une erreur, 0 sinon.
void clear_key_state(const SDL_Keycode key)
desactive une touche du clavier.
int key_state(const SDL_Keycode key)
renvoie l'etat d'une touche du clavier. cf la doc SDL2 pour les codes.
float global_time()
renvoie le temps ecoule depuis le lancement de l'application, en millisecondes.
Color Red()
utilitaire. renvoie une couleur rouge.
Color Blue()
utilitaire. renvoie une couleur bleue.
Color Green()
utilitaire. renvoie une couleur verte.
Color White()
utilitaire. renvoie une couleur blanche.
Transform Identity()
construit la transformation identite.
Transform RotationX(const float a)
renvoie la matrice representation une rotation de angle degree autour de l'axe X.
Transform RotationY(const float a)
renvoie la matrice representation une rotation de a degree autour de l'axe Y.
Transform Translation(const Vector &v)
renvoie la matrice representant une translation par un vecteur.
Mesh read_mesh(const char *filename)
charge un fichier wavefront .obj et renvoie un mesh compose de triangles non indexes....
int screenshot(const char *filename)
enregistre le contenu de la fenetre dans un fichier. doit etre de type .png / .bmp
representation d'un point 3d.