Classe avec opengl - objets 3d et animations

Description

Il y a deux classes dans ce zip :

Une classe permettant de créer un objet comprenant plusieurs sous-objets. Ces sous-objets sont basés sur les quadriques de GLU (disque, sphère, cylindre...) et sont caractérisés par une position, une rotation et une échelle, et sont texturés.
Diverses méthodes utiles sont associées (comme une par exemple qui dessine l'objet tout entier).
Cela permet de manier, transmettre, et utiliser des groupes d'objets 3D de manière aisée.
Il est également possible d'importer un Object3D à partir d'un fichier.

La deuxième classe permet d'animer ces objets ainsi que le repère lui même, à l'aide de clés (méthode largement inspirée des animations sous Blender). Ainsi, pour animer un objet, il vous suffit de créer un objet Object3D, un objet Animation et d'appliquer le premier à une méthode de l'autre dans une boucle, ce qui allège grandement le code)
Pour les animations, diverses trajectoires sont disponibles : rectilignes, curvilignes et courbes de Bézier. Il y a aussi plusieurs modes de vitesse (vitesse constante, polynomiale i.e. objet qui accélère ou décélère, et progressive i.e. qui accélère ET décélère).
Il est également possible d'importer une animation a partir d'un fichier.

Il il a une source model.cpp et son header qui permettent de créer des Object3D simples (cube, tétraèdre) que l'ont peut intégrer à un autre Object3D avec la méthode inherit()

Ci-joint également un exemple d'application, qui met en œuvre un object3D avec divers modes d'animation.

Dans le zip vous trouverez les sources des classes et leur header, un fichier macro.h contenant les macros utilisée dans les deux classes, une source sdlglutils.cpp et son header, qui ne sont pas de moi mais du siteduzero.com et qui me permet d'importer facilement des textures.

Conclusion :


Il y a des parties légèrement mathématiques, faites-le moi avoir si vous voulez des détails.
Je suis actuellement en train de rédiger une documentation.
Si vous avez des questions, des problème, ou que vous voulez que je rédige une doc,
thomas.lourseyre@gmail.com

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.