Rédigé par Jérémy Masclaux - 08 janvier 2009
Ce projet réalisé en C++ et OpenGL consistait à créer une scène animée en utilisant les formes de bases en OpenGL.
Les premières étapes consistèrent à développer ces formes de bases (cylindre, un cône, sphère) sans utiliser de librairies annexes telles que Gut. Cette étape nous a permis d’analyser le fonctionnement d’OpenGL lors de la création de faces.
Figure : Les formes de bases
C’est à partir de ces formes primitives que nous avons pu créer des objets un peu plus complexes.
Lors de cette étape J'ai créé à partir de formes simples deux objets plus compliqués un avion et un hélicoptère.
Figure : vue de loin de la scène
Ces deux véhicules sont animés l’avion fait le tour de la scène et l’hélicoptère reste en vol stationnaire de plus, les hélices sont animées.
Lors de ce projet, nous nous sommes appliqués à utiliser le texturing. Par exemple, les objets volants sont composés de trois textures une pour le cockpit, une pour la carlingue et la dernière pour les hélices.
Figure : Aperçu des textures des objets volants
Concernant les arbres, nous avons décidé d’utiliser des « billboard » c’est-à-dire des arbres en 2D uniquement composé de deux faces texturées avec une image d’arbre transparente. Cette technique possède l’avantage d’être plus économes que de modéliser.
Billboard objet 2d centré face à la caméra
Pour agrémenter notre scène d’un paysage nous avons une Skybox c'est-à-dire entourer notre scène d’un cube et de texturé ses faces intérieures par une texture cube map. Cette technique donne un effet de profondeur à une scène.
Texture de la Skybox, une texture Cubemap
Concernant le relief de notre scène nous avons utilisé une image de niveau de gris plus la couleur est claire (c’est-à-dire proche de 255) plus nous aurons un relief élevé. Couplé à la même texture en couleur nous avons pu rapidement mettre en place un relief sur notre scène.
Image en niveaux de gris représentant le relief, la même texture en couleur et le résultat final.
Ce projet fut très intéressant, car il nous a permis d’avoir un aperçu des possibilités d’OpenGL tout en acquérant certaines techniques de bases utilisées dans les jeux vidéo tels que les billboard, cubemap ou les cartes de niveaux de gris.