Castor3D 0.16.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Fonctions membres publiques statiques | Amis | Liste de tous les membres
Référence de la classe castor3d::RenderTechnique

#include <RenderTechnique.hpp>

Graphe d'héritage de castor3d::RenderTechnique:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::RenderTechnique:
Collaboration graph
[légende]

Types publics

using ShadowMapArray = castor::Vector< ShadowMapUPtr >
 

Fonctions membres publiques

C3D_API RenderTechnique (castor::String const &name, RenderTarget &renderTarget, RenderDevice const &device, Texture const &colour, Texture const &intermediate, crg::FramePassArray previousPasses, ProgressBar *progress, bool visbuffer, bool weightedBlended)
 Constructeur.
 
C3D_API ~RenderTechnique () noexcept
 Destructeur.
 
C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU.
 
C3D_API void update (GpuUpdater &updater)
 Met à jour la passe de rendu, au niveau GPU.
 
C3D_API crg::SemaphoreWaitArray preRender (crg::SemaphoreWaitArray const &toWait, ashes::Queue const &queue)
 Dessine les textures nécessaires au rendu.
 
C3D_API void accept (RenderTechniqueVisitor &visitor)
 Fonction d'acceptation de visiteur.
 
C3D_API crg::FramePass const & getLastPass () const
 
C3D_API SsaoConfig const & getSsaoConfig () const
 
C3D_API ClustersConfig const * getClustersConfig () const
 
C3D_API SsaoConfiggetSsaoConfig ()
 
C3D_API Texture const & getSsaoResult () const
 
C3D_API Texture const & getSssDiffuse () const
 
C3D_API TechniquePassVector getCustomRenderPasses () const
 
C3D_API crg::ResourcesCache & getResources () const
 
C3D_API bool isOpaqueEnabled () const
 
C3D_API DebugConfiggetDebugConfig () const
 
C3D_API bool areDebugTargetsEnabled () const noexcept
 
castor::Size const & getSize () const noexcept
 
crg::ImageViewIdArray getSampledResult () const noexcept
 
crg::ImageViewIdArray getTargetResult () const noexcept
 
crg::ImageViewIdArray getSampledIntermediate () const noexcept
 
crg::ImageViewIdArray getTargetIntermediate () const noexcept
 
crg::ImageViewIdArray getTargetDepth () const noexcept
 
Texture const & getDepth () const noexcept
 
Texture const & getResult () const noexcept
 
Texture const & getIntermediate () const noexcept
 
VkExtent3D const & getTargetExtent () const noexcept
 
VkFormat getTargetFormat () const noexcept
 
Texture const & getNormal () const noexcept
 
Texture const & getScattering () const noexcept
 
Texture const & getDiffuse () const noexcept
 
Texture const & getDepthObj () const noexcept
 
ashes::Buffer< int32_t > const & getDepthRange () const noexcept
 
void setNeedsDepthRange (bool v) noexcept
 
ShadowMapResult const & getDirectionalShadowPassResult () const noexcept
 
ShadowMapResult const & getPointShadowPassResult () const noexcept
 
ShadowMapResult const & getSpotShadowPassResult () const noexcept
 
CameraUbo const & getCameraUbo () const noexcept
 
CameraUbogetCameraUbo () noexcept
 
SceneUbo const & getSceneUbo () const noexcept
 
SceneUbogetSceneUbo () noexcept
 
ShadowMapLightTypeArray const & getShadowMaps () const noexcept
 
RenderTarget const & getRenderTarget () const noexcept
 
RenderTargetgetRenderTarget () noexcept
 
bool isMultisampling () const noexcept
 
ashes::Buffer< uint32_t > const & getMaterialsCounts () const noexcept
 
ashes::Buffer< castor::Point3ui > const & getMaterialsIndirectCounts () const noexcept
 
ashes::Buffer< uint32_t > const & getMaterialsStarts () const noexcept
 
ashes::Buffer< castor::Point2ui > const & getPixelXY () const noexcept
 
bool hasVisibility () const noexcept
 
Texture const & getVisibilityResult () const noexcept
 
crg::FramePass const & getGetLastDepthPass () const noexcept
 
crg::FramePass const & getDepthRangePass () const noexcept
 
crg::FramePass const & getGetLastOpaquePass () const noexcept
 
crg::FramePass const & getGetLastTransparentPass () const noexcept
 
crg::FramePassGroup & getGraph () noexcept
 
IndirectLightingData const & getIndirectLighting () const noexcept
 
bool hasShadowBuffer () const noexcept
 
ShadowBuffergetShadowBuffer () const noexcept
 
- Fonctions membres publiques hérités de castor::OwnedBy< Engine >
Engine * getOwner () const
 L'objet propriétaire.
 
- Fonctions membres publiques hérités de castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructeur.
 
T const & getName () const noexcept
 Récupère le nom.
 
void rename (T name) noexcept
 

Fonctions membres publiques statiques

static uint32_t countInitialisationSteps () noexcept
 

Amis

class RenderTechniquePass
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructeur.
 
- Attributs protégés hérités de castor::NamedBaseT< T >
m_name
 

Documentation des définitions de type membres

◆ ShadowMapArray

Documentation des constructeurs et destructeur

◆ RenderTechnique()

C3D_API castor3d::RenderTechnique::RenderTechnique ( castor::String const & name,
RenderTarget & renderTarget,
RenderDevice const & device,
Texture const & colour,
Texture const & intermediate,
crg::FramePassArray previousPasses,
ProgressBar * progress,
bool visbuffer,
bool weightedBlended )

Constructeur.

Paramètres
[in]nameLe nom de la technique.
[in]renderTargetLa render target pour cette technique.
[in]deviceLe device GPU.
[in]colourL'image couleur résultat.
[in]intermediateL'image couleur intermédiaire.
[in]previousPassesLes passes que la technique doit attendre.
[in]progressLa barre de progression optionnelle.
[in]visbuffertrue pour activer le visibility buffer.
[in]weightedBlendedtrue pour activer le weighed blended rendering.

◆ ~RenderTechnique()

C3D_API castor3d::RenderTechnique::~RenderTechnique ( )
noexcept

Destructeur.

Documentation des fonctions membres

◆ accept()

C3D_API void castor3d::RenderTechnique::accept ( RenderTechniqueVisitor & visitor)

Fonction d'acceptation de visiteur.

Paramètres
visitorLe ... visiteur.

◆ areDebugTargetsEnabled()

C3D_API bool castor3d::RenderTechnique::areDebugTargetsEnabled ( ) const
noexcept

◆ countInitialisationSteps()

static uint32_t castor3d::RenderTechnique::countInitialisationSteps ( )
staticnoexcept
Renvoie
Le nombre d'étapes nécessaires à l'initialisation, pour en montrer la progression.

◆ getCameraUbo() [1/2]

CameraUbo const & castor3d::RenderTechnique::getCameraUbo ( ) const
inlinenoexcept

◆ getCameraUbo() [2/2]

CameraUbo & castor3d::RenderTechnique::getCameraUbo ( )
inlinenoexcept

◆ getClustersConfig()

C3D_API ClustersConfig const * castor3d::RenderTechnique::getClustersConfig ( ) const

◆ getCustomRenderPasses()

C3D_API TechniquePassVector castor3d::RenderTechnique::getCustomRenderPasses ( ) const

◆ getDebugConfig()

C3D_API DebugConfig & castor3d::RenderTechnique::getDebugConfig ( ) const

◆ getDepth()

Texture const & castor3d::RenderTechnique::getDepth ( ) const
inlinenoexcept

◆ getDepthObj()

Texture const & castor3d::RenderTechnique::getDepthObj ( ) const
inlinenoexcept

Références castor3d::PrepassRendering::getDepthObj().

Voici le graphe d'appel pour cette fonction :

◆ getDepthRange()

ashes::Buffer< int32_t > const & castor3d::RenderTechnique::getDepthRange ( ) const
inlinenoexcept

Références castor3d::PrepassRendering::getDepthRange().

Voici le graphe d'appel pour cette fonction :

◆ getDepthRangePass()

crg::FramePass const & castor3d::RenderTechnique::getDepthRangePass ( ) const
inlinenoexcept

◆ getDiffuse()

Texture const & castor3d::RenderTechnique::getDiffuse ( ) const
inlinenoexcept

◆ getDirectionalShadowPassResult()

ShadowMapResult const & castor3d::RenderTechnique::getDirectionalShadowPassResult ( ) const
inlinenoexcept

◆ getGetLastDepthPass()

crg::FramePass const & castor3d::RenderTechnique::getGetLastDepthPass ( ) const
inlinenoexcept

◆ getGetLastOpaquePass()

crg::FramePass const & castor3d::RenderTechnique::getGetLastOpaquePass ( ) const
inlinenoexcept

◆ getGetLastTransparentPass()

crg::FramePass const & castor3d::RenderTechnique::getGetLastTransparentPass ( ) const
inlinenoexcept

◆ getGraph()

crg::FramePassGroup & castor3d::RenderTechnique::getGraph ( )
inlinenoexcept

◆ getIndirectLighting()

IndirectLightingData const & castor3d::RenderTechnique::getIndirectLighting ( ) const
inlinenoexcept

◆ getIntermediate()

Texture const & castor3d::RenderTechnique::getIntermediate ( ) const
inlinenoexcept

◆ getLastPass()

C3D_API crg::FramePass const & castor3d::RenderTechnique::getLastPass ( ) const

name Accesseurs.

◆ getMaterialsCounts()

ashes::Buffer< uint32_t > const & castor3d::RenderTechnique::getMaterialsCounts ( ) const
inlinenoexcept

Références castor3d::OpaqueRendering::getMaterialsCounts().

Voici le graphe d'appel pour cette fonction :

◆ getMaterialsIndirectCounts()

ashes::Buffer< castor::Point3ui > const & castor3d::RenderTechnique::getMaterialsIndirectCounts ( ) const
inlinenoexcept

Références castor3d::OpaqueRendering::getMaterialsIndirectCounts().

Voici le graphe d'appel pour cette fonction :

◆ getMaterialsStarts()

ashes::Buffer< uint32_t > const & castor3d::RenderTechnique::getMaterialsStarts ( ) const
inlinenoexcept

Références castor3d::OpaqueRendering::getMaterialsStarts().

Voici le graphe d'appel pour cette fonction :

◆ getNormal()

Texture const & castor3d::RenderTechnique::getNormal ( ) const
inlinenoexcept

◆ getPixelXY()

ashes::Buffer< castor::Point2ui > const & castor3d::RenderTechnique::getPixelXY ( ) const
inlinenoexcept

Références castor3d::OpaqueRendering::getPixelXY().

Voici le graphe d'appel pour cette fonction :

◆ getPointShadowPassResult()

ShadowMapResult const & castor3d::RenderTechnique::getPointShadowPassResult ( ) const
inlinenoexcept

◆ getRenderTarget() [1/2]

RenderTarget const & castor3d::RenderTechnique::getRenderTarget ( ) const
inlinenoexcept

◆ getRenderTarget() [2/2]

RenderTarget & castor3d::RenderTechnique::getRenderTarget ( )
inlinenoexcept

◆ getResources()

C3D_API crg::ResourcesCache & castor3d::RenderTechnique::getResources ( ) const

◆ getResult()

Texture const & castor3d::RenderTechnique::getResult ( ) const
inlinenoexcept

◆ getSampledIntermediate()

crg::ImageViewIdArray castor3d::RenderTechnique::getSampledIntermediate ( ) const
inlinenoexcept

◆ getSampledResult()

crg::ImageViewIdArray castor3d::RenderTechnique::getSampledResult ( ) const
inlinenoexcept

◆ getScattering()

Texture const & castor3d::RenderTechnique::getScattering ( ) const
inlinenoexcept

◆ getSceneUbo() [1/2]

SceneUbo const & castor3d::RenderTechnique::getSceneUbo ( ) const
inlinenoexcept

◆ getSceneUbo() [2/2]

SceneUbo & castor3d::RenderTechnique::getSceneUbo ( )
inlinenoexcept

◆ getShadowBuffer()

ShadowBuffer & castor3d::RenderTechnique::getShadowBuffer ( ) const
inlinenoexcept

Références CU_Require, et hasShadowBuffer().

Voici le graphe d'appel pour cette fonction :

◆ getShadowMaps()

ShadowMapLightTypeArray const & castor3d::RenderTechnique::getShadowMaps ( ) const
inlinenoexcept

◆ getSize()

castor::Size const & castor3d::RenderTechnique::getSize ( ) const
inlinenoexcept

◆ getSpotShadowPassResult()

ShadowMapResult const & castor3d::RenderTechnique::getSpotShadowPassResult ( ) const
inlinenoexcept

◆ getSsaoConfig() [1/2]

C3D_API SsaoConfig & castor3d::RenderTechnique::getSsaoConfig ( )

◆ getSsaoConfig() [2/2]

C3D_API SsaoConfig const & castor3d::RenderTechnique::getSsaoConfig ( ) const

◆ getSsaoResult()

C3D_API Texture const & castor3d::RenderTechnique::getSsaoResult ( ) const

◆ getSssDiffuse()

C3D_API Texture const & castor3d::RenderTechnique::getSssDiffuse ( ) const

◆ getTargetDepth()

crg::ImageViewIdArray castor3d::RenderTechnique::getTargetDepth ( ) const
inlinenoexcept

◆ getTargetExtent()

VkExtent3D const & castor3d::RenderTechnique::getTargetExtent ( ) const
inlinenoexcept

Références castor3d::Texture::getExtent().

Voici le graphe d'appel pour cette fonction :

◆ getTargetFormat()

VkFormat castor3d::RenderTechnique::getTargetFormat ( ) const
inlinenoexcept

Références castor3d::Texture::getFormat().

Voici le graphe d'appel pour cette fonction :

◆ getTargetIntermediate()

crg::ImageViewIdArray castor3d::RenderTechnique::getTargetIntermediate ( ) const
inlinenoexcept

◆ getTargetResult()

crg::ImageViewIdArray castor3d::RenderTechnique::getTargetResult ( ) const
inlinenoexcept

◆ getVisibilityResult()

Texture const & castor3d::RenderTechnique::getVisibilityResult ( ) const
inlinenoexcept

Références castor3d::PrepassRendering::getVisibility().

Voici le graphe d'appel pour cette fonction :

◆ hasShadowBuffer()

bool castor3d::RenderTechnique::hasShadowBuffer ( ) const
inlinenoexcept

Référencé par getShadowBuffer().

Voici le graphe des appelants de cette fonction :

◆ hasVisibility()

bool castor3d::RenderTechnique::hasVisibility ( ) const
inlinenoexcept

Références castor3d::PrepassRendering::hasVisibility().

Voici le graphe d'appel pour cette fonction :

◆ isMultisampling()

bool castor3d::RenderTechnique::isMultisampling ( ) const
inlinenoexcept

◆ isOpaqueEnabled()

C3D_API bool castor3d::RenderTechnique::isOpaqueEnabled ( ) const

◆ preRender()

C3D_API crg::SemaphoreWaitArray castor3d::RenderTechnique::preRender ( crg::SemaphoreWaitArray const & toWait,
ashes::Queue const & queue )

Dessine les textures nécessaires au rendu.

Paramètres
[in]toWaitLes sémaphores à attendre.
[in]queueThe queue recevant les commandes de dessin.
Renvoie
Les sémaphores signalés par ce dessin.

◆ setNeedsDepthRange()

void castor3d::RenderTechnique::setNeedsDepthRange ( bool v)
inlinenoexcept

Références castor3d::PrepassRendering::setNeedsDepthRange().

Voici le graphe d'appel pour cette fonction :

◆ update() [1/2]

C3D_API void castor3d::RenderTechnique::update ( CpuUpdater & updater)

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

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

◆ update() [2/2]

C3D_API void castor3d::RenderTechnique::update ( GpuUpdater & updater)

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

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

Documentation des fonctions amies et associées

◆ RenderTechniquePass

friend class RenderTechniquePass
friend

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