Anthony Verdon - Portfolio





Scop est un projet simple dans le principe, mais bien plus complexe en réalité. Le but: afficher un objet en 3D via une API Graphique type OpenGL.




screenshot from Scop

images provenant de mon programme




Pour expliquer globalement, API signifie "application programming interface", ou interface de programmation d'application. Dans le cas d'OpenGL, que j'ai utilisé pour ce projet, cela me permet de lui déclarer des formes géométriques via des sommets, puis d'appliquer une rotation si je le souhaite, et OpenGL se charge de faire les calculs et d'afficher à l'écran ce que je lui ai demandé.




gif showing rotation of my a teapot

images provenant de mon programme




OpenGL peut se charger de dessiner différentes formes, mais la plus avantageuse est le triangle, car chaque forme géométrique peut être découpé en triangle, ce qui permet de faire un seul programme. Ainsi, bien que ce que l'on voit ici ou dans les jeux vidéo n'aient pas une forme de triangle, ils en sont composés.




screen showing all the triangles forming the teapot

le même objet mais où l'on voit tous les triangles




Ce programme est développé en C++, et prend en paramètre un .obj qui est souvent accompagné d'un .mtl. Un .obj peut contenir énormément d'informations mais voici les principales:

symbole signification définition
v vertice un point, un sommet
f face une face formée de multiples sommets
o object ce qui permet de donner un nom à l'objet
vt vertice texture un point, un sommet de la texture
mtllib material librarie lien vers un fichier .mtl pour utiliser ce qu'il contient
usemtl use material définit qu'un objet utilise un material

bien sûr il en existe énormément d'autres, mais c'est celles que j'ai utilisé dans mon programme.




example of .obj file

exemple d'un fichier .obj




Ce projet, bien que simple quand on comprend comment fonctionne OpenGL, était très intéressant car permet de comprendre en partie comment fonctionne les moteurs de jeux.

github logo black version