Castor 3D - Version 0.11.0
Le 2021-02-19 10:18:04, par dragonjoker59, Expert éminent sénior
Présentation
Ce moteur 3D (ce n'est pas un moteur de jeu !!) a l'ambition d'être multiplateforme.
Il fonctionne sous Windows et sous Linux.
Version 0.11.0
Le plus gros changement de cette version est le passage sous Vulkan, en utilisant Ashespp, mon wrapper C++.
Ce wrapper me permet aussi d'exploiter Ashes, qui permet le support d'OpenGL et Direct3D11.
Fonctionnalités
Général
CastorUtils
Castor3D
Importers
RenderSystems
PostEffects
Samples
Tools
Corrections de bugs
CastorUtils
Téléchargements
Exécutables
Installeur de Castor3D (Windows x64).
Installeur de Castor3D (Debian amd64).
Quelques screenshots
San Miguel Patio, Rendu PBR Specular/Glossiness, LPV activés
Sponza, Rendu PBR Metallic/Roughness, VCT actif
Park, Rendu PBR Metallic/Roughness, LPV activés
Park, Rendu Blinn Phong, VCT actif
Une vidéo montrant un peu le résultat du Voxel Cone Tracing, ainsi que son paramétrage :
Ce moteur 3D (ce n'est pas un moteur de jeu !!) a l'ambition d'être multiplateforme.
Il fonctionne sous Windows et sous Linux.
Version 0.11.0
Le plus gros changement de cette version est le passage sous Vulkan, en utilisant Ashespp, mon wrapper C++.
Ce wrapper me permet aussi d'exploiter Ashes, qui permet le support d'OpenGL et Direct3D11.
Fonctionnalités
Général
- Ajout du support de vcpkg pour les dépdendances externes.
CastorUtils
- castor::Matrix et castor::Point ont maintenant leurs données en statique, et l'empreinte mémoire de castor::Matrix a été réduite.
Castor3D
- GlslWriter a été complètement supprimé et remplacé par ShaderWriter, permettant l'export des shaders dans le langage shader natif pour l'API de rendu choisie.
- Ajout du support des cross skyboxes.
- Le contrôle du filtrage anisotropique a été ajouté aux scene files.
- Ajout du choix du type de shadow map (Raw, PCF ou VSM).
- Ajout d'une fonction sendEvent à Engine, pour l'exécuter directement si un device est actif.
- Extraction des fonctions de lecture/écriture binaire dans de nouveaux fichiers, pour réduire les dépendances d'inclusion.
- Revue de la gestion des mipmaps pour les images chargées depuis un fichier.
- Ajout du volumetric light scattering.
- MatrixUbo est maintenant une référence, dans RenderPass, et est donc gérée par leur parent.
- Les meshes peuvent maintenant avoir un matériau par défaut, dans les scene files, permettant de réduire leur taille.
- RenderQueue utilise maintenant un SceneCuller, permettant de spécialiser le mode de culling voulu (aucun ou frustum, pour l'instant).
- Les Cascaded shadow maps sont implémentées pour les sources lumineuses directionnelles.
- Les incrustations sont maintenant dessinées dans leur propre framebuffer, puis celui-ci est combiné avec le rendu 3D.
- Les Shadow maps utilisent maintenant des texture arrays (2D ou Cube).
- Implémentation de global illumination via les Light Propagation Volumes.
- Implémentation de global illumination via le Voxel Cone Tracing.
- Implémentation des animations de texture (rotation et translation des UV).
Importers
- Quelques corrections dans l'importeur OBJ.
RenderSystems
- Tous les render systems ont été supprimés, grâce à Ashes.
PostEffects
- Création de l'effet LinearMotionBlur.
Samples
- Ajout de CastorTestLauncher, permettant les tests de rendu via l'API de rendu voulue.
- ShaderDialog a été réactivée, pouvant maintenant être utilisée pour afficher les shaders de tone mapping et de post effect.
- ShaderDialog affiche maintenant tous les shaders pour le pipeline utilisé dans l'affichage d'une passe.
- La bounding box du submesh sélectionné apparaît maintenant en jaune.
Tools
- Ajout de l'outil CastorMeshUpgrader, permettant la mise à jour des fichiers cmsh en ligne de commande.
- Ajout de l'outil CastorMeshConverter, permettant de convertir les fichiers mesh supportés en fichiers cmsh, en ligne de commande.
- Ajout de l'outil DiffImage, qui effectue la comparaison entre une image de référence et une autre image (générée via CastorTestLauncher), pour automatiser les tests de rendu.
Corrections de bugs
CastorUtils
- Correction de l'initialisation d'une castor::Matrix depuis une matrice de taille différente.
- Correction du flip d'un pixel buffer.
Téléchargements
Exécutables
Installeur de Castor3D (Windows x64).
Installeur de Castor3D (Debian amd64).
Quelques screenshots
San Miguel Patio, Rendu PBR Specular/Glossiness, LPV activés
Sponza, Rendu PBR Metallic/Roughness, VCT actif
Park, Rendu PBR Metallic/Roughness, LPV activés
Park, Rendu Blinn Phong, VCT actif
Une vidéo montrant un peu le résultat du Voxel Cone Tracing, ainsi que son paramétrage :