Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::RenderPass Class Referencefinal

#include <RenderPass.h>

+ Inheritance diagram for Divide::RenderPass:

Classes

struct  PassData
 

Public Member Functions

 RenderPass (RenderPassManager &parent, GFXDevice &context, RenderStage renderStage, const vector< RenderStage > &dependencies)
 
 ~RenderPass ()=default
 
void render (PlayerIndex idx, const Task &parentTask, const SceneRenderState &renderState, GFX::CommandBuffer &bufferInOut, GFX::MemoryBarrierCommand &memCmdInOut) const
 
U32 getLastTotalBinSize () const noexcept
 
const Str< 64 > & name () const noexcept
 
RenderStage stageFlag () const noexcept
 
PassData getPassData () const noexcept
 
 PROPERTY_RW (vector< RenderStage >, dependencies)
 

Private Attributes

GFXDevice_context
 
RenderPassManager_parent
 
Configuration_config
 
UniformData _uniforms
 
U32 _lastCmdCount = 0u
 
U32 _lastNodeCount = 0u
 
Str< 64 > _name = ""
 
U32 _transformIndexOffset = 0u
 
RenderStage _stageFlag = RenderStage::COUNT
 

Additional Inherited Members

- Private Member Functions inherited from Divide::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 

Detailed Description

Definition at line 63 of file RenderPass.h.

Constructor & Destructor Documentation

◆ RenderPass()

Divide::RenderPass::RenderPass ( RenderPassManager parent,
GFXDevice context,
RenderStage  renderStage,
const vector< RenderStage > &  dependencies 
)
explicit

Definition at line 78 of file RenderPass.cpp.

◆ ~RenderPass()

Divide::RenderPass::~RenderPass ( )
default

Member Function Documentation

◆ getLastTotalBinSize()

U32 Divide::RenderPass::getLastTotalBinSize ( ) const
inlinenoexcept

Definition at line 79 of file RenderPass.h.

◆ getPassData()

RenderPass::PassData Divide::RenderPass::getPassData ( ) const
noexcept

Definition at line 93 of file RenderPass.cpp.

◆ name()

const Str< 64 > & Divide::RenderPass::name ( ) const
inlinenoexcept

Definition at line 80 of file RenderPass.h.

◆ PROPERTY_RW()

Divide::RenderPass::PROPERTY_RW ( vector< RenderStage ,
dependencies   
)

◆ render()

void Divide::RenderPass::render ( PlayerIndex  idx,
const Task parentTask,
const SceneRenderState renderState,
GFX::CommandBuffer bufferInOut,
GFX::MemoryBarrierCommand memCmdInOut 
) const

< We use a custom GBuffer resolve for this

< Resolve here since rendering should be done

< We use a custom GBuffer resolve for this

< Resolve here since rendering should be done

Definition at line 103 of file RenderPass.cpp.

◆ stageFlag()

RenderStage Divide::RenderPass::stageFlag ( ) const
inlinenoexcept

Definition at line 82 of file RenderPass.h.

Member Data Documentation

◆ _config

Configuration& Divide::RenderPass::_config
private

Definition at line 91 of file RenderPass.h.

◆ _context

GFXDevice& Divide::RenderPass::_context
private

Definition at line 89 of file RenderPass.h.

◆ _lastCmdCount

U32 Divide::RenderPass::_lastCmdCount = 0u
mutableprivate

Definition at line 94 of file RenderPass.h.

◆ _lastNodeCount

U32 Divide::RenderPass::_lastNodeCount = 0u
mutableprivate

Definition at line 95 of file RenderPass.h.

◆ _name

Str<64> Divide::RenderPass::_name = ""
private

Definition at line 97 of file RenderPass.h.

◆ _parent

RenderPassManager& Divide::RenderPass::_parent
private

Definition at line 90 of file RenderPass.h.

◆ _stageFlag

RenderStage Divide::RenderPass::_stageFlag = RenderStage::COUNT
private

Definition at line 99 of file RenderPass.h.

◆ _transformIndexOffset

U32 Divide::RenderPass::_transformIndexOffset = 0u
private

Definition at line 98 of file RenderPass.h.

◆ _uniforms

UniformData Divide::RenderPass::_uniforms
mutableprivate

Definition at line 93 of file RenderPass.h.


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