Castor3D 0.16.0
Multiplatform 3D engine
|
#include <RenderTechnique.hpp>
Public Types | |
using | ShadowMapArray = castor::Vector< ShadowMapUPtr > |
Public Member Functions | |
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) |
Constructor. | |
C3D_API | ~RenderTechnique () noexcept |
Destructor. | |
C3D_API void | update (CpuUpdater &updater) |
Updates the render pass, CPU wise. | |
C3D_API void | update (GpuUpdater &updater) |
Updates the render pass, GPU wise. | |
C3D_API crg::SemaphoreWaitArray | preRender (crg::SemaphoreWaitArray const &toWait, ashes::Queue const &queue) |
Renders maps needed for the actual rendering. | |
C3D_API void | accept (RenderTechniqueVisitor &visitor) |
Visitor acceptance function. | |
C3D_API crg::FramePass const & | getLastPass () const |
C3D_API SsaoConfig const & | getSsaoConfig () const |
C3D_API ClustersConfig const * | getClustersConfig () const |
C3D_API SsaoConfig & | getSsaoConfig () |
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 DebugConfig & | getDebugConfig () 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 |
CameraUbo & | getCameraUbo () noexcept |
SceneUbo const & | getSceneUbo () const noexcept |
SceneUbo & | getSceneUbo () noexcept |
ShadowMapLightTypeArray const & | getShadowMaps () const noexcept |
RenderTarget const & | getRenderTarget () const noexcept |
RenderTarget & | getRenderTarget () 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 |
ShadowBuffer & | getShadowBuffer () const noexcept |
Public Member Functions inherited from castor::OwnedBy< Engine > | |
Engine * | getOwner () const |
Public Member Functions inherited from castor::NamedBaseT< T > | |
NamedBaseT (T name) noexcept | |
Constructor. | |
T const & | getName () const noexcept |
Retrieves the name. | |
void | rename (T name) noexcept |
Static Public Member Functions | |
static uint32_t | countInitialisationSteps () noexcept |
Friends | |
class | RenderTechniquePass |
Additional Inherited Members | |
Protected Member Functions inherited from castor::OwnedBy< Engine > | |
OwnedBy (Engine &owner) | |
Constructor. | |
Protected Attributes inherited from castor::NamedBaseT< T > | |
T | m_name |
using castor3d::RenderTechnique::ShadowMapArray = castor::Vector< ShadowMapUPtr > |
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 ) |
Constructor.
[in] | name | The technique name. |
[in] | renderTarget | The render target for this technique. |
[in] | device | The GPU device. |
[in] | colour | The result colour image. |
[in] | intermediate | The intermediate colour image. |
[in] | previousPasses | The passes that the technique has to wait for. |
[in] | progress | The optional progress bar. |
[in] | visbuffer | true to enable visibility buffer. |
[in] | weightedBlended | true to enable weighted blended rendering. |
|
noexcept |
Destructor.
C3D_API void castor3d::RenderTechnique::accept | ( | RenderTechniqueVisitor & | visitor | ) |
Visitor acceptance function.
visitor | The ... visitor. |
|
noexcept |
|
staticnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API ClustersConfig const * castor3d::RenderTechnique::getClustersConfig | ( | ) | const |
C3D_API TechniquePassVector castor3d::RenderTechnique::getCustomRenderPasses | ( | ) | const |
C3D_API DebugConfig & castor3d::RenderTechnique::getDebugConfig | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API crg::FramePass const & castor3d::RenderTechnique::getLastPass | ( | ) | const |
name Getters.
|
inlinenoexcept |
References castor3d::OpaqueRendering::getMaterialsCounts().
|
inlinenoexcept |
References castor3d::OpaqueRendering::getMaterialsIndirectCounts().
|
inlinenoexcept |
References castor3d::OpaqueRendering::getMaterialsStarts().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API crg::ResourcesCache & castor3d::RenderTechnique::getResources | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
References castor3d::Texture::sampledViewId.
|
inlinenoexcept |
References castor3d::Texture::sampledViewId.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API SsaoConfig & castor3d::RenderTechnique::getSsaoConfig | ( | ) |
C3D_API SsaoConfig const & castor3d::RenderTechnique::getSsaoConfig | ( | ) | const |
|
inlinenoexcept |
References castor3d::Texture::targetViewId.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References castor3d::Texture::targetViewId.
|
inlinenoexcept |
References castor3d::Texture::targetViewId.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API bool castor3d::RenderTechnique::isOpaqueEnabled | ( | ) | const |
C3D_API crg::SemaphoreWaitArray castor3d::RenderTechnique::preRender | ( | crg::SemaphoreWaitArray const & | toWait, |
ashes::Queue const & | queue ) |
Renders maps needed for the actual rendering.
[in] | toWait | The semaphores to wait. |
[in] | queue | The queue receiving the render commands. |
|
inlinenoexcept |
References castor3d::PrepassRendering::setNeedsDepthRange().
C3D_API void castor3d::RenderTechnique::update | ( | CpuUpdater & | updater | ) |
Updates the render pass, CPU wise.
[in,out] | updater | The update data. |
C3D_API void castor3d::RenderTechnique::update | ( | GpuUpdater & | updater | ) |
Updates the render pass, GPU wise.
[in,out] | updater | The update data. |
|
friend |