Projet

Général

Profil

Version 0.10.0

Support du PBR, dans les 2 workflows les plus communs : Metallic/Roughness et Specular/Glossiness.
Ajouté par dragonjoker59 il y a 8 mois

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 compopsants 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éé 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éé 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 verrtex, et par squelette.
  • Réparation et réactivation du frustum culling.
  • Réparation de l'alpha rejection.

Commentaires