Castor3D 0.15.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 = std::vector< ShadowMapUPtr >
 

Fonctions membres publiques

C3D_API RenderTechnique (castor::String const &name, RenderTarget &renderTarget, RenderDevice const &device, QueueData const &queueData, Parameters const &parameters, Texture const &colour, Texture const &intermediate, SsaoConfig const &ssaoConfig, ProgressBar *progress, bool deferred, bool visbuffer, bool weightedBlended)
 Constructeur.
 
C3D_API ~RenderTechnique ()
 Destructeur.
 
C3D_API void listIntermediates (std::vector< IntermediateView > &intermediates)
 Liste les vues intermédiaires utilisées par toute la technique.
 
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 bool writeInto (castor::TextFile &file)
 Ecrit la technique dans un fichier texte.
 
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 SsaoConfiggetSsaoConfig ()
 
C3D_API Texture const & getSsaoResult () const
 
C3D_API Texture const & getFirstVctBounce () const
 
C3D_API Texture const & getSecondaryVctBounce () const
 
C3D_API TechniquePassVector getCustomRenderPasses () const
 
C3D_API Texture const & getDiffuseLightingResult () const
 
C3D_API Texture const & getScatteringLightingResult () const
 
C3D_API Texture const & getBaseColourResult () const
 
C3D_API crg::ResourcesCache & getResources () const
 
C3D_API bool isOpaqueEnabled () const
 
castor::Size const & getSize () const
 
crg::ImageViewIdArray getSampledResult () const
 
crg::ImageViewIdArray getTargetResult () const
 
crg::ImageViewIdArray getSampledIntermediate () const
 
crg::ImageViewIdArray getTargetIntermediate () const
 
crg::ImageViewIdArray getTargetDepth () const
 
Texture const & getResult () const
 
Texture const & getIntermediate () const
 
VkExtent3D const & getTargetExtent () const
 
VkFormat getTargetFormat () const
 
Texture const & getNormal () const
 
Texture const & getDepthObj () const
 
ashes::Buffer< int32_t > const & getDepthRange () const
 
void setNeedsDepthRange (bool v)
 
ShadowMapResult const & getDirectionalShadowPassResult () const
 
ShadowMapResult const & getPointShadowPassResult () const
 
ShadowMapResult const & getSpotShadowPassResult () const
 
LightVolumePassResult const & getLpvResult () const
 
LightVolumePassResultArray const & getLlpvResult () const
 
CameraUbo const & getCameraUbo () const
 
CameraUbogetCameraUbo ()
 
SceneUbo const & getSceneUbo () const
 
SceneUbogetSceneUbo ()
 
LpvGridConfigUbo const & getLpvConfigUbo () const
 
LayeredLpvGridConfigUbo const & getLlpvConfigUbo () const
 
VoxelizerUbo const & getVctConfigUbo () const
 
ShadowMapLightTypeArray const & getShadowMaps () const
 
RenderTarget const & getRenderTarget () const
 
RenderTargetgetRenderTarget ()
 
bool isMultisampling () const
 
ashes::Buffer< uint32_t > const & getMaterialsCounts () const
 
ashes::Buffer< uint32_t > const & getMaterialsStarts () const
 
ashes::Buffer< castor::Point2ui > const & getPixelXY () const
 
bool hasVisibility () const
 
OpaquePassResult const & getOpaqueResult () const
 
Texture const & getVisibilityResult () const
 
crg::FramePass const & getGetLastDepthPass () const
 
crg::FramePass const & getDepthRangePass () const
 
crg::FramePass const & getGetLastOpaquePass () const
 
crg::FramePass const & getGetLastTransparentPass () const
 
crg::FramePassGroup & getGraph ()
 

Fonctions membres publiques statiques

static C3D_API uint32_t countInitialisationSteps ()
 

Amis

class RenderTechniquePass
 

Documentation des définitions de type membres

◆ ShadowMapArray

using castor3d::RenderTechnique::ShadowMapArray = std::vector< ShadowMapUPtr >

Documentation des constructeurs et destructeur

◆ RenderTechnique()

C3D_API castor3d::RenderTechnique::RenderTechnique ( castor::String const &  name,
RenderTarget renderTarget,
RenderDevice const &  device,
QueueData const &  queueData,
Parameters const &  parameters,
Texture const &  colour,
Texture const &  intermediate,
SsaoConfig const &  ssaoConfig,
ProgressBar progress,
bool  deferred,
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]queueDataLa queue recevant les commandes GPU.
[in]parametersLes paramètres de la technique.
[in]colourL'image couleur résultat.
[in]intermediateL'image couleur intermédiaire.
[in]ssaoConfigLa configuration du SSAO.
[in]progressLa barre de progression optionnelle.
[in]deferredtrue pour activer le deferred rendering.
[in]visbuffertrue pour activer le visibility buffer.
[in]weightedBlendedtrue pour activer le weighed blended rendering.

◆ ~RenderTechnique()

C3D_API castor3d::RenderTechnique::~RenderTechnique ( )

Destructeur.

Documentation des fonctions membres

◆ accept()

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

Fonction d'acceptation de visiteur.

Paramètres
visitorLe ... visiteur.

◆ countInitialisationSteps()

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

◆ getBaseColourResult()

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

◆ getCameraUbo() [1/2]

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

◆ getCameraUbo() [2/2]

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

◆ getCustomRenderPasses()

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

◆ getDepthObj()

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

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

Voici le graphe d'appel pour cette fonction :

◆ getDepthRange()

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

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

Voici le graphe d'appel pour cette fonction :

◆ getDepthRangePass()

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

◆ getDiffuseLightingResult()

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

◆ getDirectionalShadowPassResult()

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

◆ getFirstVctBounce()

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

◆ getGetLastDepthPass()

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

◆ getGetLastOpaquePass()

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

◆ getGetLastTransparentPass()

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

◆ getGraph()

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

◆ getIntermediate()

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

◆ getLastPass()

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

name Accesseurs.

◆ getLlpvConfigUbo()

LayeredLpvGridConfigUbo const & castor3d::RenderTechnique::getLlpvConfigUbo ( ) const
inline

◆ getLlpvResult()

LightVolumePassResultArray const & castor3d::RenderTechnique::getLlpvResult ( ) const
inline

◆ getLpvConfigUbo()

LpvGridConfigUbo const & castor3d::RenderTechnique::getLpvConfigUbo ( ) const
inline

◆ getLpvResult()

LightVolumePassResult const & castor3d::RenderTechnique::getLpvResult ( ) const
inline

◆ getMaterialsCounts()

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

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

Voici le graphe d'appel pour cette fonction :

◆ getMaterialsStarts()

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

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

Voici le graphe d'appel pour cette fonction :

◆ getNormal()

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

◆ getOpaqueResult()

OpaquePassResult const & castor3d::RenderTechnique::getOpaqueResult ( ) const
inline

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

Voici le graphe d'appel pour cette fonction :

◆ getPixelXY()

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

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

Voici le graphe d'appel pour cette fonction :

◆ getPointShadowPassResult()

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

◆ getRenderTarget() [1/2]

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

◆ getRenderTarget() [2/2]

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

◆ getResources()

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

◆ getResult()

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

◆ getSampledIntermediate()

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

◆ getSampledResult()

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

◆ getScatteringLightingResult()

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

◆ getSceneUbo() [1/2]

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

◆ getSceneUbo() [2/2]

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

◆ getSecondaryVctBounce()

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

◆ getShadowMaps()

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

◆ getSize()

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

◆ getSpotShadowPassResult()

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

◆ 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

◆ getTargetDepth()

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

◆ getTargetExtent()

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

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

Voici le graphe d'appel pour cette fonction :

◆ getTargetFormat()

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

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

Voici le graphe d'appel pour cette fonction :

◆ getTargetIntermediate()

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

◆ getTargetResult()

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

◆ getVctConfigUbo()

VoxelizerUbo const & castor3d::RenderTechnique::getVctConfigUbo ( ) const
inline

◆ getVisibilityResult()

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

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

Voici le graphe d'appel pour cette fonction :

◆ hasVisibility()

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

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

Voici le graphe d'appel pour cette fonction :

◆ isMultisampling()

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

◆ isOpaqueEnabled()

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

◆ listIntermediates()

C3D_API void castor3d::RenderTechnique::listIntermediates ( std::vector< IntermediateView > &  intermediates)

Liste les vues intermédiaires utilisées par toute la technique.

Paramètres
[out]intermediatesReçoit les vues intermédiaires.

◆ 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)
inline

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.

◆ writeInto()

C3D_API bool castor3d::RenderTechnique::writeInto ( castor::TextFile &  file)

Ecrit la technique dans un fichier texte.

Paramètres
[in]fileLe fichier.

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 :