Castor3D – Version 0.10.0

Support du PBR, dans les deux workflows les plus communs : Metallic/Roughness et Specular/Glossiness.

Fonctionnalités
CastorUtils

  • Renommage du namespace Castor en castor.
  • Ajout des classes ChangeTracked et GroupChangeTracked, permettant de tracer les changements de valeur d’une variable membre.
  • Renommage de CubeBox et SphereBox en BoundingBox et BoundingSphere.
  • Séparation de Colour en deux classes : RgbColour et RgbaColour.
  • PlaneEquation n’est plus une classe template.
  • Création d’un allocateur : buddy allocator.

Castor3D

  • Renommage du namespace Castor3D en castor3d.
  • La composante émissive des matériaux est maintenant stockée sur un simple flottant (les textures d’émissive sont cependant toujours en couleur).
  • Le Physical Based Rendering a été implémenté, en metallic/roughness et specular/glossiness.
  • RenderPipeline contient maintenant le programme shader.
  • Le Screen Space Subsurface Scattering a été implémenté (sans la transmission via les faces arrières, cependant).
  • Le résultat de la passe d’éclairage est maintenant stocké dans deux cibles de rendu : une pour l’éclairage diffus, et une pour la réflexion spéculaire.
  • Les tampons de sommets sont maintenant alloués via un pool utilisant un buddy allocator.
  • Le shadow mapping utilise maintenant des variance shadow maps.
  • Les maillages transparents sont maintenant dessinés en utilisant du Weighted Blended OIT.
  • Le Screen Space Ambiant Occlusion a été amélioré, en implémentant le Scalable Ambiant Obscurance.
  • Le Parallax Occlusion Mapping a été implémenté.
  • Implémentation des reflection et refraction maps.
  • Le rendu différé a été complètement intégré au rendu, pour le rendu des objets opaques.
  • Création de composants pour les sous-maillages, afin d’alléger la classe Submesh, et rendre son remplissage plus flexible.
  • Le rendu utilise maintenant un prépasse de profondeur.
  • Crée la classe ColourSkybox, afin de gérer la couleur de fond et les skybox de la même manière.
  • Création d’une classe ShaderBuffer, permettant de manipuler les TBO et SSBO de la même manière, et de choisir le plus approprié en fonction du GPU.

Generators

  • Création d’un plugin de génération de terrain en utilisant l’algorithme Diamond Square.

Generic

  • Les évènements générés depuis CastorGUI sont maintenant envoyés à l’utilisateur.

Importers

  • Suppression de la quasi-totalité des plugins d’import, ne gardant que Assimp, OBJ et PLY.

PostEffects

  • Création d’un plugin post rendu : SMAA, pour un antialiasing digne de ce nom.
  • Crée un plugin implémentant l’effet Kawase Light Streaks.
  • Création d’un plugin affichant un effet de grain filmique.

Techniques

  • Suppression de tous les plugins de Technique.

Tone mappings

  • Création de l’opérateur de tone mapping Uncharted 2.

Corrections

Castor3D

  • Correction des bounding boxes pour les maillages animés par vertex, et par squelette.
  • Réparation et réactivation du frustum culling.
  • Réparation de l’alpha rejection.

Téléchargements

Exécutables

Installeur de Castor3D (Windows x86).
Installeur de Castor3D (Windows x64).
Installeur de Castor3D (Debian amd64).

Rendu PBR VS SSR :
687474703a2f2f647261676f6e6a6f6b65722e6769746875622e636f6d2f436173746f7233442f696d672f5061726b2d4c65676163792d736d616c6c2e706e67

Génération de terrain via l’algorithme Diamond square
DiamondSquareTerrain

Reflection/Refraction map :
ReflectionRefraction

Pas de SMAA VS SMAA
SMAA_Comparison

Subsurface Scattering
SSSSS_Comp

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *