Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le moteur multiplateformes Castor3D arrive en version 0.8.0

Le , par dragonjoker59

33PARTAGES

5  0 
Présentation
Ce moteur 3D (ce n'est pas un moteur de jeu!!) a l'ambition d'être multiplateforme.
Pour l'instant, le développement sous Windows et Linux est complètement exploitable. Pour Linux, la distribution testée est une Archlinux amd64.
Support de nombreux formats de fichiers en utilisant ASSIMP.

Version 0.8.0
Les deux principaux topics (animations et billboards) et de nombreuses modifications et améliorations ont été implémentés, dans cette nouvelle version.



Modifications
Général
  • Compile maintenant avec VS >= 2015 et GCC >= 4.9.
  • Le support de Direct3D a été abandonné, n'ayant pas le temps pour l'implémenter correctement.


CastorUtils
  • Les opérations pour les Point4f et les Matrix4x4f peuvent maintenant utiliser les instructions SSE2.
  • Tous les projets du Castor utilisent maintenant des textes UTF-8, stockés dans des std::string.


Castor3D
  • Le système d'animations par squelette est maintenant finalisé et fonctionnel.
  • Suppression de toutes les classes XxxRenderer, sauf OverlayRenderer.
  • Le type de topologie de dessin n'est plus dans la classe Camera, mais dans GeometryBuffers.
  • Engine a été retravaillée, en ajoutant des classes RenderLoop, ainsi que des Managers, s'occupant de la création des éléments, leur stockage et leur récupération.
  • SceneFileParser a été étendue, pour pouvoir utiliser des directives d'analyse depuis des plug-ins externes.
  • Les tampons d'image de la fenêtre sont maintenant récupérés, et liables comme les autres tampons d'image, il n'est cependant pas possible de leur créer ou ajouter des attaches.
  • Ajout d'un système de traçage des objets GPU créés, pour s'assurer que leur destruction s'effectue avant la destruction de leur contexte.
  • Les incrustations texte peuvent maintenant avoir un alignement vertical et/ou horizontal.
  • Castor3D peut maintenant lire les scènes depuis des archives ZIP.
  • Ajout d'une archive ZIP, Core.zip, contenant des matériaux basiques, ainsi que les incrustations de débogage.
  • Cette archive est chargée lors de la sélection de l'API de rendu.
  • Le code shader de l'éclairage a été revu et corrigé.
  • La classe Scene a été retravaillée, pour utiliser la classe ObjectManager, ainsi que les vues sur les ResourceManagers.
  • Maintenant ShaderProgram récupère la configuration des attributs de sommets en entrée du vertex shader.
  • Cette configuration est utilisée par la classe Submesh, pour créer les GeometryBuffers qui vont bien.
  • Castor3D utilise le High Dynamic Range pour dessiner les scènes. Le mappage de tons par défaut permet d'avoir un rendu similaire à un rendu sans HDR.


GlRenderSystem
  • La texture de lumières utilise maintenant les Texture Buffer Objects.
  • Suppression des classes GlXxxRenderer.
  • Le support d'OpenGL 1.x a été supprimé.
  • Le support d'OpenGL 3.x a été renforcé, en forçant l'utilisation des UBO, par exemple.
  • Implémentation de GlslWriter, pour pouvoir écrire les shaders depuis un fichier source C++.


Subdiviseurs
  • Implémentation d'un subdiviseur tessellation de Phong.
  • Mise à jour du subdiviseur Loop.


Importeurs
  • Implémentation d'un plug-in d'importation de fichiers FBX.


Techniques
  • Chaque technique de rendu est maintenant implémentée dans son propre plug-in.


PostEffects
  • Le premier plug-in d'effet post rendu a été implémenté: HDR Bloom.


CastorGUI
  • Nouveau plug-in, permettant la création d'IHM au sein des scènes Castor3D.


GuiCommon
  • L'aspect global des applications avec IHM a été retravaillé, en utilisant wxAuiManager.
  • Utilisation de wxTreeCtrl et des wxPropertyGrid, pour lister les objets, et visualiser leurs propriétés.


Corrections
CastorUtils
  • Les matrices de transformation ont été corrigées.


Castor3D
  • Correction de l'instanciation GPU.
  • Correction d'un bogue dans la gestion des matériaux des incrustations panneaux bordurés.
  • Correction d'un bogue pour les incrustations, révélé sur les GPU Intel (était dû à un bogue du driver AMD qui cachait ce bogue).
  • Correction des billboards.


Subdiviseurs
  • Correction du sudiviseur PN Triangles, en utilisant des patches Bézier.


GlRenderSystem
  • Correction d'un crash sous Linux, avec GPU Intel.


Téléchargements

Sources
Sources de Castor3D.
Dépendances externes de Castor3D (pour Visual Studio 2015).

Exécutables
Installeur de Castor3D (Windows x86).
Installeur de Castor3D (Windows x64).
Installeur de Castor3D (Debian 8 x86).

Données optionnelles
Images et scènes de test.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de dragonjoker59
Expert éminent sénior https://www.developpez.com
Le 10/04/2016 à 11:13
Salut!

Déjà, mon moteur n'est pas un moteur de jeu (comme peuvent l'être Unreal Engine, Unity, Torque...), il faudrait plus le comparer à des trucs comme Ogre3D, Irrlicht...
Et là, Castor3D ne tient pas la route face à rien que ces 2 là.

Ensuite, ça fait 9 ans que je bosse dessus sur mes temps libres, donc il ne faut pas non plus se dire que je l'ai créé il y a peu de temps.
Je ne sais pas si c'est pour le fun, mais en tout cas pour découvrir, progresser...
0  0 
Avatar de archqt
Membre confirmé https://www.developpez.com
Le 10/04/2016 à 18:44
Bonsoir,
Oui quand je dis pour le "fun" cela veut dire pour le plaisir de réaliser quelque chose. Ensuite ce n'est pas évident de rattraper un "retard" sur ce qui existe déjà (surtout si ce qui existe possède des développeurs à plein temps dessus). Pour les utilisateurs, pas évident ensuite de faire un tri c'est ce que je voulais dire aussi.
Mais en tout cas bon courage dans ta démarche.
Bonne soirée
0  0 
Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 11/04/2016 à 0:59
perso depuis que j'ai découvert urho3d je suis comblé, pas besoin d'un énième moteur, ceci étant dit bravo a toi pour le boulot.
0  0 
Avatar de archqt
Membre confirmé https://www.developpez.com
Le 11/04/2016 à 12:05
urho3D je ne connaissais pas, comme quoi :-) je regarde cela. Merci
0  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 13/04/2016 à 11:24
Tu as prévu un support de Vulkan ?
0  0 
Avatar de dragonjoker59
Expert éminent sénior https://www.developpez.com
Le 13/04/2016 à 11:57
Salut!

Oué, c'est un des points principaux de la prochaine version. (http://projets.developpez.com/projec...es?query_id=31)
0  0 
Avatar de LapinGarou
Membre confirmé https://www.developpez.com
Le 14/04/2016 à 11:33
Un nouveau moteur 3D et alors ?
Qui sait si il ne vas pas y avoir un jour prochain une idée révolutionnaire réglant un problème anté diluvien qui va permettre à son auteur de faire fortune
Il y a ceux qui veulent faire des jeux, dans ce cas oui, UE4 ou unity ça ira plus vite que de tout réinventer, et ceux qui veulent coder leur moteur 3D. Chacun son truc.
0  0 
Avatar de dragonjoker59
Expert éminent sénior https://www.developpez.com
Le 14/04/2016 à 11:45
Oué, un nouveau moteur 3D commencé il y a 9 ans... et hébergé sur DVP depuis ... 6 ans, maintenant...
0  0 
Avatar de archqt
Membre confirmé https://www.developpez.com
Le 10/04/2016 à 11:03
Bonjour,
avec tous ces moteurs 3D cela ne va pas être simple de faire un choix. Déjà entre dogot, torque2D ou des plus gros Unreal, unity pas facile de choisir. Pourquoi un de plus ? pour le fun je pense, mais c'est toujours dommage de ne pas "regrouper" les forces sur 2, 3 moteurs en licences MIT par exemple plutôt de qu'en refaire un de plus.
Bonne fin de journée
0  1