Castor3D  0.11.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::LightingPass

Types publics

enum  Type {
  Type::eNoShadow = 0u, Type::eNoShadowVoxelConeTracingGI, Type::eShadowNoGI, Type::eShadowVoxelConeTracingGI,
  Type::eShadowRsmGI, Type::eShadowLpvGI, Type::eShadowLpvGGI, Type::eShadowLayeredLpvGI,
  Type::eShadowLayeredLpvGGI, Type::eCount, Type::eMin = eNoShadow, Type::eMax =eCount-1
}
 
using TypeLightPasses = std::array< LightPassUPtr, size_t(LightType::eCount) >
 
using LightPasses = std::array< TypeLightPasses, size_t(Type::eCount) >
 

Fonctions membres publiques

 LightingPass (Engine &engine, RenderDevice const &device, castor::Size const &size, Scene &scene, OpaquePassResult const &gpResult, ShadowMapResult const &smDirectionalResult, ShadowMapResult const &smPointResult, ShadowMapResult const &smSpotResult, LightVolumePassResult const &lpvResult, LightVolumePassResultArray const &llpvResult, TextureUnit const &vctFirstBounce, TextureUnit const &vctSecondaryBounce, ashes::ImageView const &depthView, SceneUbo &sceneUbo, GpInfoUbo const &gpInfoUbo, LpvGridConfigUbo const &lpvConfigUbo, LayeredLpvGridConfigUbo const &llpvConfigUbo, VoxelizerUbo const &vctConfigUbo)
 Initialise les données liées au deferred rendering. Plus de détails...
 
 ~LightingPass ()
 Destructeur. Plus de détails...
 
void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
void update (GpuUpdater &updater)
 Met à jour la passe de rendu, au niveau GPU. Plus de détails...
 
ashes::Semaphore const & render (Scene const &scene, Camera const &camera, OpaquePassResult const &gp, ashes::Semaphore const &toWait)
 Dessine les passes d'éclairage sur le tampon d'image donné. Plus de détails...
 
void accept (PipelineVisitorBase &visitor)
 Fonction d'acceptation de visiteur. Plus de détails...
 
LightPassResult const & getResult () const
 

Documentation des définitions de type membres

◆ LightPasses

◆ TypeLightPasses

using castor3d::LightingPass::TypeLightPasses = std::array< LightPassUPtr, size_t( LightType::eCount ) >

Documentation des énumérations membres

◆ Type

Valeurs énumérées
eNoShadow 
eNoShadowVoxelConeTracingGI 
eShadowNoGI 
eShadowVoxelConeTracingGI 
eShadowRsmGI 
eShadowLpvGI 
eShadowLpvGGI 
eShadowLayeredLpvGI 
eShadowLayeredLpvGGI 
eCount 
eMin 
eMax 

Documentation des constructeurs et destructeur

◆ LightingPass()

castor3d::LightingPass::LightingPass ( Engine engine,
RenderDevice const &  device,
castor::Size const &  size,
Scene scene,
OpaquePassResult const &  gpResult,
ShadowMapResult const &  smDirectionalResult,
ShadowMapResult const &  smPointResult,
ShadowMapResult const &  smSpotResult,
LightVolumePassResult const &  lpvResult,
LightVolumePassResultArray const &  llpvResult,
TextureUnit const &  vctFirstBounce,
TextureUnit const &  vctSecondaryBounce,
ashes::ImageView const &  depthView,
SceneUbo sceneUbo,
GpInfoUbo const &  gpInfoUbo,
LpvGridConfigUbo const &  lpvConfigUbo,
LayeredLpvGridConfigUbo const &  llpvConfigUbo,
VoxelizerUbo const &  vctConfigUbo 
)

Initialise les données liées au deferred rendering.

Paramètres
[in]engineLe moteur.
[in]deviceLe device GPU.
[in]sizeLes dimensions de la zone de rendu.
[in]sceneLa scène.
[in]gpResultLes textures de la passe de géométries.
[in]smDirectionalResultLa shadow map des source lumineuses directionnelles.
[in]smPointResultLa shadow map des source lumineuses omnidirectionnelles.
[in]smSpotResultLa shadow map des source lumineuses projecteurs.
[in]lpvResultLe résultat du LPV.
[in]llpvResultLe résultat du Layered LPV.
[in]vctFirstBounceLe résultat du premier rebond de VCT.
[in]vctSecondaryBounceLe résultat du second rebond de VCT.
[in]depthViewL'attache du tampon de profondeur.
[in]sceneUboL'UBO de scène.
[in]gpInfoUboL'UBO de configuration du GBuffer.
[in]lpvConfigUboL'UBO de configuration des LPV.
[in]llpvConfigUboL'UBO de configuration des Layered LPV.
[in]vctConfigUboL'UBO de configuration du VCT.

◆ ~LightingPass()

castor3d::LightingPass::~LightingPass ( )

Destructeur.

Documentation des fonctions membres

◆ accept()

void castor3d::LightingPass::accept ( PipelineVisitorBase visitor)

Fonction d'acceptation de visiteur.

Paramètres
visitorLe ... visiteur.

◆ getResult()

LightPassResult const& castor3d::LightingPass::getResult ( ) const
inline
Renvoie
Le résultat diffus de la passe d'éclairage.

◆ render()

ashes::Semaphore const& castor3d::LightingPass::render ( Scene const &  scene,
Camera const &  camera,
OpaquePassResult const &  gp,
ashes::Semaphore const &  toWait 
)

Dessine les passes d'éclairage sur le tampon d'image donné.

Paramètres
[in]sceneLa scène.
[in]cameraLa caméra.
[in]gpLe résultat de la geometry pass.
[out]toWaitLe sémaphore de la passe de rendu précédente.

◆ update() [1/2]

void castor3d::LightingPass::update ( CpuUpdater updater)

Met à jour la passe de rendu, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

◆ update() [2/2]

void castor3d::LightingPass::update ( GpuUpdater updater)

Met à jour la passe de rendu, au niveau GPU.

Paramètres
[in,out]updaterLes données d'update.

La documentation de cette classe a été générée à partir du fichier suivant :