Version 0.8.0
Les 2 principaux topics (animations et billboards) et moult modifications et améliorations ont été implémentés, dans cette nouvelle version.
Modifications¶
Général
- Compile maintenant avec VS >= 2013 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 clase 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 enré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 UBOs, 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 application 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 bug dans la gestion des matériaux des incrustations panneaux bordurés.
- Correction d'un bug pour les incrustations, révélé sur les GPU Intel (était dû à un bug du driver AMD qui cachait ce bug).
- 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.
Comments