|
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) > |
|
|
| 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 |
|
◆ LightPasses
◆ TypeLightPasses
◆ Type
Valeurs énumérées |
---|
eNoShadow | |
eNoShadowVoxelConeTracingGI | |
eShadowNoGI | |
eShadowVoxelConeTracingGI | |
eShadowRsmGI | |
eShadowLpvGI | |
eShadowLpvGGI | |
eShadowLayeredLpvGI | |
eShadowLayeredLpvGGI | |
eCount | |
eMin | |
eMax | |
◆ 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] | engine | Le moteur. |
[in] | device | Le device GPU. |
[in] | size | Les dimensions de la zone de rendu. |
[in] | scene | La scène. |
[in] | gpResult | Les textures de la passe de géométries. |
[in] | smDirectionalResult | La shadow map des source lumineuses directionnelles. |
[in] | smPointResult | La shadow map des source lumineuses omnidirectionnelles. |
[in] | smSpotResult | La shadow map des source lumineuses projecteurs. |
[in] | lpvResult | Le résultat du LPV. |
[in] | llpvResult | Le résultat du Layered LPV. |
[in] | vctFirstBounce | Le résultat du premier rebond de VCT. |
[in] | vctSecondaryBounce | Le résultat du second rebond de VCT. |
[in] | depthView | L'attache du tampon de profondeur. |
[in] | sceneUbo | L'UBO de scène. |
[in] | gpInfoUbo | L'UBO de configuration du GBuffer. |
[in] | lpvConfigUbo | L'UBO de configuration des LPV. |
[in] | llpvConfigUbo | L'UBO de configuration des Layered LPV. |
[in] | vctConfigUbo | L'UBO de configuration du VCT. |
◆ ~LightingPass()
castor3d::LightingPass::~LightingPass |
( |
| ) |
|
◆ accept()
Fonction d'acceptation de visiteur.
- Paramètres
-
◆ getResult()
- 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] | scene | La scène. |
[in] | camera | La caméra. |
[in] | gp | Le résultat de la geometry pass. |
[out] | toWait | Le 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] | updater | Les 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] | updater | Les données d'update. |
La documentation de cette classe a été générée à partir du fichier suivant :