|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
#include <platform/graphics/renderPass.h>
Public Member Functions | |
| void | addAfterPass (const std::shared_ptr< RenderPass > &renderPass) |
| void | addBeforePass (const std::shared_ptr< RenderPass > &renderPass) |
| virtual void | after () |
| const std::vector< std::shared_ptr< RenderPass > > & | afterPasses () const |
| void | allocateAttachments () |
| virtual void | before () |
| const std::vector< std::shared_ptr< RenderPass > > & | beforePasses () const |
| void | clearAfterPasses () |
| void | clearBeforePasses () |
| const std::vector< std::shared_ptr< ColorAttachmentOps > > & | colorArrayOps () const |
| std::shared_ptr< ColorAttachmentOps > | colorOps () const |
| std::shared_ptr< DepthStencilAttachmentOps > | depthStencilOps () const |
| bool | enabled () const |
| virtual void | execute () |
| virtual void | frameUpdate () const |
| virtual void | init (const std::shared_ptr< RenderTarget > &renderTarget=nullptr, const std::shared_ptr< RenderPassOptions > &options=nullptr) |
| void | log (std::shared_ptr< GraphicsDevice > device, int index=0) const |
| virtual void | onDisable () |
| virtual void | onEnable () |
| virtual void | postInit () |
| void | render () |
| RenderPass (const std::shared_ptr< GraphicsDevice > &device) | |
| std::shared_ptr< RenderTarget > | renderTarget () const |
| bool | requiresCubemaps () const |
| float | scaleX () const |
| float | scaleY () const |
| void | setClearColor (const Color *color=nullptr) |
| void | setClearDepth (const float *depthValue=nullptr) |
| void | setClearStencil (const int *stencilValue=nullptr) |
| void | setEnabled (bool value) |
| void | setOptions (const std::shared_ptr< RenderPassOptions > &value) |
| void | setRequiresCubemaps (bool value) |
| void | setSkipEnd (const bool value) |
| void | setSkipStart (const bool value) |
Protected Member Functions | |
| std::shared_ptr< GraphicsDevice > | device () const |
Protected Attributes | |
| std::string | _name |
| bool | _requiresCubemaps = true |
Definition at line 63 of file renderPass.h.
|
inline |
Definition at line 66 of file renderPass.h.
References device().
Referenced by visutwin::canvas::RenderPassBloom::RenderPassBloom(), visutwin::canvas::RenderPassCameraFrame::RenderPassCameraFrame(), visutwin::canvas::RenderPassColorGrab::RenderPassColorGrab(), visutwin::canvas::RenderPassCookieRenderer::RenderPassCookieRenderer(), visutwin::canvas::RenderPassDepthGrab::RenderPassDepthGrab(), visutwin::canvas::RenderPassDof::RenderPassDof(), visutwin::canvas::RenderPassForward::RenderPassForward(), visutwin::canvas::RenderPassPostprocessing::RenderPassPostprocessing(), visutwin::canvas::RenderPassPrepass::RenderPassPrepass(), visutwin::canvas::RenderPassShaderQuad::RenderPassShaderQuad(), visutwin::canvas::RenderPassShadowDirectional::RenderPassShadowDirectional(), visutwin::canvas::RenderPassShadowLocalClustered::RenderPassShadowLocalClustered(), visutwin::canvas::RenderPassShadowLocalNonClustered::RenderPassShadowLocalNonClustered(), and visutwin::canvas::RenderPassUpdateClustered::RenderPassUpdateClustered().
| void visutwin::canvas::RenderPass::addAfterPass | ( | const std::shared_ptr< RenderPass > & | renderPass | ) |
Definition at line 244 of file renderPass.cpp.
Referenced by visutwin::canvas::RenderPassSsao::RenderPassSsao().
| void visutwin::canvas::RenderPass::addBeforePass | ( | const std::shared_ptr< RenderPass > & | renderPass | ) |
Definition at line 237 of file renderPass.cpp.
Referenced by visutwin::canvas::RenderPassDof::RenderPassDof(), visutwin::canvas::RenderPassPostprocessing::RenderPassPostprocessing(), and visutwin::canvas::RenderPassCameraFrame::updateSourceActions().
|
inlinevirtual |
Reimplemented in visutwin::canvas::RenderPassForward, visutwin::canvas::RenderPassPrepass, visutwin::canvas::RenderPassShadowDirectional, and visutwin::canvas::RenderPassSsao.
Definition at line 74 of file renderPass.h.
Referenced by visutwin::canvas::RenderPassPrepass::after(), and render().
|
inline |
Definition at line 85 of file renderPass.h.
| void visutwin::canvas::RenderPass::allocateAttachments | ( | ) |
Definition at line 103 of file renderPass.cpp.
References colorOps(), and visutwin::canvas::isIntegerPixelFormat().
Referenced by init().
|
inlinevirtual |
Reimplemented in visutwin::canvas::RenderPassDepthGrab, visutwin::canvas::RenderPassForward, and visutwin::canvas::RenderPassTAA.
Definition at line 73 of file renderPass.h.
Referenced by render().
|
inline |
Definition at line 83 of file renderPass.h.
| void visutwin::canvas::RenderPass::clearAfterPasses | ( | ) |
Definition at line 256 of file renderPass.cpp.
| void visutwin::canvas::RenderPass::clearBeforePasses | ( | ) |
Definition at line 251 of file renderPass.cpp.
Referenced by visutwin::canvas::RenderPassCameraFrame::reset(), and visutwin::canvas::RenderPassCameraFrame::updateSourceActions().
|
inline |
Definition at line 100 of file renderPass.h.
Referenced by visutwin::canvas::MetalGraphicsDevice::endRenderPass(), and visutwin::canvas::MetalGraphicsDevice::startRenderPass().
| std::shared_ptr< ColorAttachmentOps > visutwin::canvas::RenderPass::colorOps | ( | ) | const |
Definition at line 229 of file renderPass.cpp.
Referenced by allocateAttachments(), setClearColor(), visutwin::canvas::ShadowRenderer::setupRenderPass(), and visutwin::canvas::MetalGraphicsDevice::startRenderPass().
|
inline |
Definition at line 102 of file renderPass.h.
Referenced by visutwin::canvas::ShadowRenderer::setupRenderPass(), and visutwin::canvas::MetalGraphicsDevice::startRenderPass().
|
inlineprotected |
Definition at line 124 of file renderPass.h.
Referenced by visutwin::canvas::RenderPassForward::after(), visutwin::canvas::RenderPassPrepass::after(), visutwin::canvas::RenderPassDepthGrab::before(), visutwin::canvas::RenderPassForward::before(), visutwin::canvas::RenderPassCameraFrame::destroy(), visutwin::canvas::RenderPassCoC::execute(), visutwin::canvas::RenderPassCompose::execute(), visutwin::canvas::RenderPassDepthAwareBlur::execute(), visutwin::canvas::RenderPassDofBlur::execute(), visutwin::canvas::RenderPassShaderQuad::execute(), visutwin::canvas::RenderPassSsao::execute(), visutwin::canvas::RenderPassTAA::execute(), visutwin::canvas::RenderPassCameraFrame::frameUpdate(), log(), RenderPass(), visutwin::canvas::RenderPassBloom::RenderPassBloom(), visutwin::canvas::RenderPassCameraFrame::RenderPassCameraFrame(), visutwin::canvas::RenderPassCoC::RenderPassCoC(), visutwin::canvas::RenderPassColorGrab::RenderPassColorGrab(), visutwin::canvas::RenderPassCompose::RenderPassCompose(), visutwin::canvas::RenderPassCookieRenderer::RenderPassCookieRenderer(), visutwin::canvas::RenderPassDepthAwareBlur::RenderPassDepthAwareBlur(), visutwin::canvas::RenderPassDepthGrab::RenderPassDepthGrab(), visutwin::canvas::RenderPassDof::RenderPassDof(), visutwin::canvas::RenderPassDofBlur::RenderPassDofBlur(), visutwin::canvas::RenderPassDownsample::RenderPassDownsample(), visutwin::canvas::RenderPassDownsample::RenderPassDownsample(), visutwin::canvas::RenderPassForward::RenderPassForward(), visutwin::canvas::RenderPassPostprocessing::RenderPassPostprocessing(), visutwin::canvas::RenderPassPrepass::RenderPassPrepass(), visutwin::canvas::RenderPassShaderQuad::RenderPassShaderQuad(), visutwin::canvas::RenderPassShadowDirectional::RenderPassShadowDirectional(), visutwin::canvas::RenderPassShadowLocalClustered::RenderPassShadowLocalClustered(), visutwin::canvas::RenderPassShadowLocalNonClustered::RenderPassShadowLocalNonClustered(), visutwin::canvas::RenderPassSsao::RenderPassSsao(), visutwin::canvas::RenderPassTAA::RenderPassTAA(), visutwin::canvas::RenderPassUpdateClustered::RenderPassUpdateClustered(), and visutwin::canvas::RenderPassUpsample::RenderPassUpsample().
|
inline |
Definition at line 95 of file renderPass.h.
|
inlinevirtual |
Reimplemented in visutwin::canvas::RenderPassCoC, visutwin::canvas::RenderPassCompose, visutwin::canvas::RenderPassDepthAwareBlur, visutwin::canvas::RenderPassDepthGrab, visutwin::canvas::RenderPassDofBlur, visutwin::canvas::RenderPassDownsample, visutwin::canvas::RenderPassForward, visutwin::canvas::RenderPassPostprocessing, visutwin::canvas::RenderPassPrepass, visutwin::canvas::RenderPassShaderQuad, visutwin::canvas::RenderPassShadowDirectional, visutwin::canvas::RenderPassShadowLocalNonClustered, visutwin::canvas::RenderPassSsao, visutwin::canvas::RenderPassTAA, and visutwin::canvas::RenderPassUpsample.
Definition at line 75 of file renderPass.h.
Referenced by render().
|
virtual |
Reimplemented in visutwin::canvas::RenderPassBloom, visutwin::canvas::RenderPassCameraFrame, visutwin::canvas::RenderPassDof, and visutwin::canvas::RenderPassTAA.
Definition at line 13 of file renderPass.cpp.
References scaleX(), and scaleY().
Referenced by visutwin::canvas::RenderPassBloom::frameUpdate(), visutwin::canvas::RenderPassCameraFrame::frameUpdate(), visutwin::canvas::RenderPassDof::frameUpdate(), and visutwin::canvas::RenderPassTAA::frameUpdate().
|
virtual |
Definition at line 68 of file renderPass.cpp.
References allocateAttachments(), postInit(), renderTarget(), and setOptions().
Referenced by visutwin::canvas::RenderPassPostprocessing::RenderPassPostprocessing(), visutwin::canvas::RenderPassSsao::RenderPassSsao(), visutwin::canvas::ShadowRenderer::setupRenderPass(), and visutwin::canvas::RenderPassTAA::update().
| void visutwin::canvas::RenderPass::log | ( | std::shared_ptr< GraphicsDevice > | device, |
| int | index = 0 ) const |
|
inlinevirtual |
Reimplemented in visutwin::canvas::RenderPassBloom.
Definition at line 111 of file renderPass.h.
Referenced by setEnabled().
|
inlinevirtual |
Definition at line 110 of file renderPass.h.
Referenced by setEnabled().
|
inlinevirtual |
Definition at line 117 of file renderPass.h.
Referenced by init().
| void visutwin::canvas::RenderPass::render | ( | ) |
|
inline |
Definition at line 98 of file renderPass.h.
Referenced by visutwin::canvas::RenderPassDepthAwareBlur::execute(), visutwin::canvas::RenderPassDofBlur::execute(), visutwin::canvas::RenderPassSsao::execute(), init(), and visutwin::canvas::MetalGraphicsDevice::startRenderPass().
|
inline |
Definition at line 107 of file renderPass.h.
References _requiresCubemaps.
|
inline |
Definition at line 79 of file renderPass.h.
Referenced by frameUpdate().
|
inline |
Definition at line 81 of file renderPass.h.
Referenced by frameUpdate().
| void visutwin::canvas::RenderPass::setClearColor | ( | const Color * | color = nullptr | ) |
Definition at line 140 of file renderPass.cpp.
References colorOps().
Referenced by visutwin::canvas::RenderPassSsao::RenderPassSsao().
| void visutwin::canvas::RenderPass::setClearDepth | ( | const float * | depthValue = nullptr | ) |
Definition at line 157 of file renderPass.cpp.
| void visutwin::canvas::RenderPass::setClearStencil | ( | const int * | stencilValue = nullptr | ) |
Definition at line 169 of file renderPass.cpp.
| void visutwin::canvas::RenderPass::setEnabled | ( | bool | value | ) |
Definition at line 57 of file renderPass.cpp.
References onDisable(), and onEnable().
Referenced by visutwin::canvas::RenderPassShadowLocalClustered::update().
| void visutwin::canvas::RenderPass::setOptions | ( | const std::shared_ptr< RenderPassOptions > & | value | ) |
Definition at line 86 of file renderPass.cpp.
Referenced by visutwin::canvas::RenderPassTAA::before(), init(), visutwin::canvas::RenderPassPrepass::RenderPassPrepass(), and visutwin::canvas::RenderPassSsao::setScale().
|
inline |
Definition at line 108 of file renderPass.h.
References _requiresCubemaps.
Referenced by visutwin::canvas::ShadowRenderer::setupRenderPass().
|
inline |
Definition at line 105 of file renderPass.h.
|
inline |
Definition at line 104 of file renderPass.h.
|
protected |
Definition at line 128 of file renderPass.h.
Referenced by visutwin::canvas::RenderPassShadowDirectional::RenderPassShadowDirectional().
|
protected |
Definition at line 126 of file renderPass.h.
Referenced by visutwin::canvas::RenderPassShadowDirectional::RenderPassShadowDirectional(), visutwin::canvas::RenderPassShadowLocalNonClustered::RenderPassShadowLocalNonClustered(), requiresCubemaps(), and setRequiresCubemaps().