Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Static Public Attributes | List of all members
castor3d::RenderTarget Class Reference

#include <RenderTarget.hpp>

Inheritance diagram for castor3d::RenderTarget:
Inheritance graph
[legend]
Collaboration diagram for castor3d::RenderTarget:
Collaboration graph
[legend]

Public Member Functions

C3D_API RenderTarget (Engine &engine, TargetType type, castor::Size const &size, castor::PixelFormat pixelFormat)
 Specified constructor. More...
 
C3D_API ~RenderTarget ()
 Destructor. More...
 
C3D_API void update (CpuUpdater &updater)
 Updates the render pass, CPU wise. More...
 
C3D_API void update (GpuUpdater &updater)
 Updates the render pass, GPU wise. More...
 
C3D_API void upload (ashes::CommandBuffer const &cb)
 Uploads overlays GPU buffers to VRAM. More...
 
C3D_API crg::SemaphoreWaitArray render (RenderDevice const &device, RenderInfo &info, ashes::Queue const &queue, crg::SemaphoreWaitArray const &toWait={})
 Renders one frame. More...
 
C3D_API uint32_t countInitialisationSteps () const
 
C3D_API void initialise (RenderDevice const &device, QueueData const &queueData, ProgressBar *progress=nullptr)
 Initialisation function. More...
 
C3D_API void cleanup (RenderDevice const &device)
 Cleanup function. More...
 
C3D_API void addTechniqueParameters (Parameters const &parameters)
 adds RenderTechnique parameters. More...
 
C3D_API ViewportType getViewportType () const
 
C3D_API void setViewportType (ViewportType value)
 Sets the ViewportType. More...
 
C3D_API void setCamera (CameraSPtr camera)
 Sets the camera. More...
 
C3D_API void setScene (Scene &scene)
 Sets the scene. More...
 
C3D_API void setToneMappingType (castor::String const &name, Parameters const &parameters)
 Sets the tone mapping implementation type. More...
 
C3D_API PostEffectSPtr getPostEffect (castor::String const &name) const
 adds a post effect to the list. More...
 
C3D_API void listIntermediateViews (IntermediateViewArray &result) const
 Lists the intermediate views used by this render target. More...
 
C3D_API void resetSemaphore ()
 
C3D_API HdrConfig const & getHdrConfig () const
 
C3D_API HdrConfiggetHdrConfig ()
 
C3D_API ShadowMapLightTypeArray getShadowMaps () const
 
C3D_API TechniquePassVector getCustomRenderPasses () const
 
SsaoConfig const & getSsaoConfig () const
 
SsaoConfiggetSsaoConfig ()
 
bool isInitialised () const
 
castor::Size const & getSize () const
 
bool hasTechnique () const
 
RenderTechniquegetTechnique () const
 
SceneRPtr getScene () const
 
CameraSPtr getCamera () const
 
Texture const & getTexture () const
 
TexturePtr getVelocity () const
 
VkFormat getPixelFormat () const
 
TargetType getTargetType () const
 
uint32_t getIndex () const
 
PostEffectPtrArray const & getHDRPostEffects () const
 
PostEffectPtrArray const & getSRGBPostEffects () const
 
ToneMappingSPtr getToneMapping () const
 
crg::SemaphoreWaitArray const & getSemaphore () const
 
SceneCuller const & getCuller () const
 
SceneCullergetCuller ()
 
castor::Point2f const & getJitter () const
 
castor::String const & getName () const
 
HdrConfigUbo const & getHdrConfigUbo () const
 
crg::FrameGraph & getGraph ()
 
C3D_API void setExposure (float value)
 
C3D_API void setGamma (float value)
 
void setSsaoConfig (SsaoConfig const &config)
 
void setJitter (castor::Point2f const &value)
 

Static Public Attributes

static C3D_API const castor::String DefaultSamplerName
 The render target default sampler name. More...
 

Constructor & Destructor Documentation

◆ RenderTarget()

C3D_API castor3d::RenderTarget::RenderTarget ( Engine engine,
TargetType  type,
castor::Size const &  size,
castor::PixelFormat  pixelFormat 
)

Specified constructor.

Parameters
[in]engineThe engine.
[in]typeThe render target type.
[in]sizeThe render target dimensions.
[in]pixelFormatThe target's pixels format.

◆ ~RenderTarget()

C3D_API castor3d::RenderTarget::~RenderTarget ( )

Destructor.

Member Function Documentation

◆ addTechniqueParameters()

C3D_API void castor3d::RenderTarget::addTechniqueParameters ( Parameters const &  parameters)

adds RenderTechnique parameters.

Parameters
[in]parametersThe RenderTechnique parameters.

◆ cleanup()

C3D_API void castor3d::RenderTarget::cleanup ( RenderDevice const &  device)

Cleanup function.

Parameters
[in]deviceThe GPU device.

◆ countInitialisationSteps()

C3D_API uint32_t castor3d::RenderTarget::countInitialisationSteps ( ) const
Returns
The number of steps needed for initialisation, to show progression.

◆ getCamera()

CameraSPtr castor3d::RenderTarget::getCamera ( ) const
inline

◆ getCuller() [1/2]

SceneCuller & castor3d::RenderTarget::getCuller ( )
inline

◆ getCuller() [2/2]

SceneCuller const & castor3d::RenderTarget::getCuller ( ) const
inline

◆ getCustomRenderPasses()

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

◆ getGraph()

crg::FrameGraph & castor3d::RenderTarget::getGraph ( )
inline

◆ getHdrConfig() [1/2]

C3D_API HdrConfig & castor3d::RenderTarget::getHdrConfig ( )

◆ getHdrConfig() [2/2]

C3D_API HdrConfig const & castor3d::RenderTarget::getHdrConfig ( ) const

name Getters.

◆ getHdrConfigUbo()

HdrConfigUbo const & castor3d::RenderTarget::getHdrConfigUbo ( ) const
inline

◆ getHDRPostEffects()

PostEffectPtrArray const & castor3d::RenderTarget::getHDRPostEffects ( ) const
inline

◆ getIndex()

uint32_t castor3d::RenderTarget::getIndex ( ) const
inline

◆ getJitter()

castor::Point2f const & castor3d::RenderTarget::getJitter ( ) const
inline

◆ getName()

castor::String const & castor3d::RenderTarget::getName ( ) const
inline

◆ getPixelFormat()

VkFormat castor3d::RenderTarget::getPixelFormat ( ) const
inline

◆ getPostEffect()

C3D_API PostEffectSPtr castor3d::RenderTarget::getPostEffect ( castor::String const &  name) const

adds a post effect to the list.

Parameters
[in]nameThe effect name.

◆ getScene()

SceneRPtr castor3d::RenderTarget::getScene ( ) const
inline

◆ getSemaphore()

crg::SemaphoreWaitArray const & castor3d::RenderTarget::getSemaphore ( ) const
inline

◆ getShadowMaps()

C3D_API ShadowMapLightTypeArray castor3d::RenderTarget::getShadowMaps ( ) const

◆ getSize()

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

◆ getSRGBPostEffects()

PostEffectPtrArray const & castor3d::RenderTarget::getSRGBPostEffects ( ) const
inline

◆ getSsaoConfig() [1/2]

SsaoConfig & castor3d::RenderTarget::getSsaoConfig ( )
inline

◆ getSsaoConfig() [2/2]

SsaoConfig const & castor3d::RenderTarget::getSsaoConfig ( ) const
inline

◆ getTargetType()

TargetType castor3d::RenderTarget::getTargetType ( ) const
inline

◆ getTechnique()

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

References hasTechnique().

Here is the call graph for this function:

◆ getTexture()

Texture const & castor3d::RenderTarget::getTexture ( ) const
inline

◆ getToneMapping()

ToneMappingSPtr castor3d::RenderTarget::getToneMapping ( ) const
inline

◆ getVelocity()

TexturePtr castor3d::RenderTarget::getVelocity ( ) const
inline

◆ getViewportType()

C3D_API ViewportType castor3d::RenderTarget::getViewportType ( ) const
Returns
The ViewportType.

◆ hasTechnique()

bool castor3d::RenderTarget::hasTechnique ( ) const
inline

Referenced by getTechnique().

Here is the caller graph for this function:

◆ initialise()

C3D_API void castor3d::RenderTarget::initialise ( RenderDevice const &  device,
QueueData const &  queueData,
ProgressBar progress = nullptr 
)

Initialisation function.

Parameters
[in]deviceThe GPU device.
[in]queueDataThe queue receiving the GPU commands.
[in]progressThe optional progress bar.

◆ isInitialised()

bool castor3d::RenderTarget::isInitialised ( ) const
inline

◆ listIntermediateViews()

C3D_API void castor3d::RenderTarget::listIntermediateViews ( IntermediateViewArray &  result) const

Lists the intermediate views used by this render target.

Parameters
[in,out]resultReceives the views.

◆ render()

C3D_API crg::SemaphoreWaitArray castor3d::RenderTarget::render ( RenderDevice const &  device,
RenderInfo info,
ashes::Queue const &  queue,
crg::SemaphoreWaitArray const &  toWait = {} 
)

Renders one frame.

Parameters
[in]deviceThe GPU device.
[out]infoReceives the render informations.
[in]queueThe queue receiving the render commands.
[in]toWaitThe semaphores to wait.
Returns
The semaphores signaled by this render.

◆ resetSemaphore()

C3D_API void castor3d::RenderTarget::resetSemaphore ( )

◆ setCamera()

C3D_API void castor3d::RenderTarget::setCamera ( CameraSPtr  camera)

Sets the camera.

Remarks
Defines also LEye and REye cameras.
Parameters
[in]cameraThe new camera.

◆ setExposure()

C3D_API void castor3d::RenderTarget::setExposure ( float  value)

name Mutators.

◆ setGamma()

C3D_API void castor3d::RenderTarget::setGamma ( float  value)

◆ setJitter()

void castor3d::RenderTarget::setJitter ( castor::Point2f const &  value)
inline

◆ setScene()

C3D_API void castor3d::RenderTarget::setScene ( Scene scene)

Sets the scene.

Parameters
[in]sceneThe new scene.

◆ setSsaoConfig()

void castor3d::RenderTarget::setSsaoConfig ( SsaoConfig const &  config)
inline

◆ setToneMappingType()

C3D_API void castor3d::RenderTarget::setToneMappingType ( castor::String const &  name,
Parameters const &  parameters 
)

Sets the tone mapping implementation type.

Parameters
[in]nameThe type.
[in]parametersThe parameters.

◆ setViewportType()

C3D_API void castor3d::RenderTarget::setViewportType ( ViewportType  value)

Sets the ViewportType.

Parameters
[in]valueThe new ViewportType.

◆ update() [1/2]

C3D_API void castor3d::RenderTarget::update ( CpuUpdater updater)

Updates the render pass, CPU wise.

Parameters
[in,out]updaterThe update data.

◆ update() [2/2]

C3D_API void castor3d::RenderTarget::update ( GpuUpdater updater)

Updates the render pass, GPU wise.

Parameters
[in,out]updaterThe update data.

◆ upload()

C3D_API void castor3d::RenderTarget::upload ( ashes::CommandBuffer const &  cb)

Uploads overlays GPU buffers to VRAM.

Parameters
[in]cbThe command buffer on which transfer commands are recorded.

Member Data Documentation

◆ DefaultSamplerName

C3D_API const castor::String castor3d::RenderTarget::DefaultSamplerName
static

The render target default sampler name.


The documentation for this class was generated from the following file: