Moteur 3d : castor3d

Soyez le premier à donner votre avis sur cette source.

Vue 15 232 fois - Téléchargée 1 272 fois

Description

Voici l'ébauche d'un moteur 3D. J'ai assez avancé dessus pour considérer pouvoir le poster ici.
Il est créé de façon à intégrer le moteur de rendu (OpenGL ou Direct3D) dans un plugin, cependant le seul écrit à ce jour est OpenGL.
Les features implémentés sont :
Gestion de géométries, primitives existantes : plan, cube, cône, cylindre, sphère, icosaèdre, tore.
Gestion des matériaux, textures, lumières, multi-texturing.
Gestion sommaire des animations (qui sera à revoir par la suite)
Ajout d'une classe de gestion des matrices de projection, normale et visualisation, en vue de la suppression du pipeline fixe dans les renderers OpenGL.
Ajout d'une classe de gestion des angles, permettant de ne pas s'embeter avec les conversions radian-degrés.
Ajout d'une classe de gestion de path, permettant de gérer les slash ou anti-slash selon l'OS.
Création de conteneurs thread-safe issus de la stl (vector, list, map, multimap, set).
Séparation du renderer OpenGL en 2 projets : un compatible OpenGL 2.x et antérieur (GL2RenderSystem) le second compatible OpenGL3.x et ultérieur (GL3RenderSystem).
GL2RenderSystem : en fonction du PC client, suppression du pipeline fixe ou pas (si l'utilisation des shaders est permise le pipeline fixe est supprimé, sinon il est gardé)

Le projet est sous Visual Studio 2005 et 2008. Il vous faut FreeImage et FreeImagePlus pour le compiler

Source / Exemple :


Je ne mets pas la source ici, téléchargez le zip ou visionnez les sources...

Conclusion :


Il y a encore beaucoup de boulot à effectuer sur ce moteur, là je m'occupe de le documenter, après je reverrai le système d'animations.

Codes Sources

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.