Developpez.com

Télécharger gratuitement le magazine des développeurs, le bimestriel des développeurs avec une sélection des meilleurs tutoriels

Téléchargez la version 0.6.1.2 de Castor3D
Le moteur 3D en C++, qui ajoute le support de Direct3D 9

Le , par dragonjoker59, Expert éminent
Présentation
Ce moteur 3D a l'ambition d'être multi-plateformes et multi-renderer.
Pour l'instant, le développement sous Windows est complètement exploitable, le développement sous Linux est en bonne voie.
Le renderer OpenGL est complètement fonctionnel, le renderer Direct 3D est bien avancé mais il y a encore quelques bugs et la partie shaders à finir.
La reconnaissance des Shaders GLSL est implémentée, Cg et HLSL sont en cours d'implémentation.
Pas encore de LOD ni de gestion OcTree pour l'instant, mais c'est prévu.
Support de plusieurs formats de fichiers : Obj, 3DS, MD2, MD3, PLY.
Le système d'animation a un squelette qu'il me faut compléter afin d'avoir une implémentation correcte d'un système d'animation avec ou sans skeleton (notamment Morphing).

Version Actuelle : 0.6.1.2

Ajouts
Création du renderer Dx9Renderer, pour le rendu sous Direct3D 9. Il reste des choses à régler, notamment au niveau shaders et matrices, mais l'essentiel est là.
Création de différents fichiers pour les contextes OpenGL (X11, Gtk, Msw), je n'ai pas encore pu tester ça correctement, mes drivers ATI ayant tué OpenGL sur ma Debian (snif...).
Création d'une boîte de dialogue de sélection de renderer au lancement de CastorViewer, CastorShape et CastorArchitect, ajout d'un splash screen pour ces 3 applis.
Ajout d'une petite appli qui transforme n'inmporte quel type d'image en XPM, plus facile pour le développement multiplateforme avec wxWidgets.
Ajout de nouvelles fonctionnalités aux fichiers de scène (alpha_rejection, rgb_blend, alpha_blend, hl_shader_program, ...)

Modifications
Optimisation du fichier CMakeLists et des fichiers du dossier 'cmake_modules' de façon à mieux prendre en charge les différentes plateformes, ainsi que les différentes configurations des PC clients.
Revue du système de VertexBuffers et IndexBuffers, in troduction de la notion de VertexDeclaration et BufferElement, ainsi on peut créer des VertexBuffers en mettant à peu près ce que l'on veut comme données dedans (parmi vertex, normals, tangents, diffuse, texcoords0,1,2,3) et ordonnées comme on veut.
La classe Vertex dérive donc maintenant de BufferElement.
Les TextureEnvironment vont disparaitre à la prochaine version, la gestion du multitexturing se faisant maintenant directement au niveau des passes et des texture units.
Suppression des fonctions issues de GLU, afin d'avoir une librairie de moins à linker.

Bugs
Problème avec les matrices pour Dx9RenderSystem (je pense à la différence right-handed / left-handed, mais mes premiers tests à ce niveau ne sont pas concluants).
Problème avec les shaders HLSL, je n'ai pour l'instant pas d'affichage, je pense que c'est lié aux problèmes de matrices que je rencontre avec Direct3D.
Je n'ai pas avancé sur les shaders Cg et ai donc toujours les mêmes problèmes qu'auparavant.

Dépendances
Pour compiler CastorUtils, vous aurez besoin de boost (date-time, filesystem et system), FreeImage et freetype2.
Pour compiler Castor3D, vous aurez besoin de boost (date-time, filesystem et system), FreeImage, freetype2 et Cg.
Pour compiler OpenGlCommon, Gl2RenderSystem et Gl3RenderSystem vous aurez besoin de OpenGL, Glew et CgGL.
Pour compiler Dx9RenderSystem, il vous faudre avoir un DirectXSDK (testé avec Septembre 2006 et Aout 2009)
Pour compiler GuiCommon, CastorShape, CastorViewer et CastorArchitect, vous aurez besoin de wxWidgets.

Téléchargement

Sources
Castor3D (Miroir) Sources du Castor.

Exécutables
CastorShape (Miroir)
CastorViewer (Miroir)

Données optionnelles
Exemple de Scène au format CSCN. (Miroir) Il est possible de l'éditer avec n'importe quel éditeur de texte pour modifier les matériaux, ...


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Offres d'emploi IT
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -