Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
Graphic::Resource::AMultipleExecutionRenderPass< TDerived > Class Template Referenceabstract

#include <AMultipleExecutionRenderPass.hpp>

Inheritance diagram for Graphic::Resource::AMultipleExecutionRenderPass< TDerived >:
Graphic::Resource::ARenderPass

Public Member Functions

 AMultipleExecutionRenderPass (std::string_view name)
virtual uint16_t GetNumberOfPasses (Engine::Core &core)=0
virtual void preMultiplePass (Engine::Core &core)
virtual void postMultiplePass (Engine::Core &core)
virtual void perPass (uint16_t passIndex, Engine::Core &core)
virtual void postPass (uint16_t passIndex, Engine::Core &core)
void Execute (Engine::Core &core) override
void ExecuteSinglePass (Engine::Core &core)
virtual void UniqueRenderCallback (wgpu::RenderPassEncoder &renderPass, Engine::Core &core)=0
Public Member Functions inherited from Graphic::Resource::ARenderPass
 ARenderPass (std::string_view name)
void BindShader (std::string_view shaderName)
void AddInput (uint32_t groupIndex, std::string_view bindGroupName)
void AddOutput (uint32_t id, ColorOutput &&output)
void AddOutput (DepthOutput &&output)
std::vector< Utils::ValidationErrorvalidate (Engine::Core &core) const
const auto & GetBoundShader (void) const
const auto & GetInputs (void) const
const auto & GetName (void) const
const auto & GetOutputs (void) const
auto & GetOutputs (void)

Private Member Functions

wgpu::RenderPassEncoder _CreateRenderPass (Resource::DeviceContext &context, Engine::Core &core)

Private Attributes

wgpu::CommandEncoder _commandEncoder

Constructor & Destructor Documentation

◆ AMultipleExecutionRenderPass()

template<typename TDerived>
Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::AMultipleExecutionRenderPass ( std::string_view name)
inlineexplicit

Member Function Documentation

◆ _CreateRenderPass()

template<typename TDerived>
wgpu::RenderPassEncoder Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::_CreateRenderPass ( Resource::DeviceContext & context,
Engine::Core & core )
inlineprivate

◆ Execute()

template<typename TDerived>
void Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::Execute ( Engine::Core & core)
inlineoverridevirtual

◆ ExecuteSinglePass()

template<typename TDerived>
void Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::ExecuteSinglePass ( Engine::Core & core)
inline

◆ GetNumberOfPasses()

template<typename TDerived>
virtual uint16_t Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::GetNumberOfPasses ( Engine::Core & core)
pure virtual

◆ perPass()

template<typename TDerived>
virtual void Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::perPass ( uint16_t passIndex,
Engine::Core & core )
inlinevirtual

◆ postMultiplePass()

template<typename TDerived>
virtual void Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::postMultiplePass ( Engine::Core & core)
inlinevirtual

◆ postPass()

template<typename TDerived>
virtual void Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::postPass ( uint16_t passIndex,
Engine::Core & core )
inlinevirtual

◆ preMultiplePass()

template<typename TDerived>
virtual void Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::preMultiplePass ( Engine::Core & core)
inlinevirtual

◆ UniqueRenderCallback()

template<typename TDerived>
virtual void Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::UniqueRenderCallback ( wgpu::RenderPassEncoder & renderPass,
Engine::Core & core )
pure virtual

Member Data Documentation

◆ _commandEncoder

template<typename TDerived>
wgpu::CommandEncoder Graphic::Resource::AMultipleExecutionRenderPass< TDerived >::_commandEncoder
private

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