Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::GFX::CommandBase Struct Referenceabstract

#include <Commands.h>

+ Inheritance diagram for Divide::GFX::CommandBase:

Public Member Functions

 CommandBase (CommandType type)
 
 CommandBase (const CommandBase &)=default
 
CommandBaseoperator= (const CommandBase &)=default
 
virtual ~CommandBase ()=default
 
template<typename T >
requires std::is_base_of_v<CommandBase, T>
FORCE_INLINE T * As ()
 
virtual void addToBuffer (CommandBuffer *buffer) const =0
 
 PROPERTY_R (CommandType, type)
 

Protected Member Functions

virtual void DeleteCmd (CommandBase *&cmd) const =0
 

Friends

class CommandBuffer
 

Detailed Description

Definition at line 50 of file Commands.h.

Constructor & Destructor Documentation

◆ CommandBase() [1/2]

Divide::GFX::CommandBase::CommandBase ( CommandType  type)
inlineexplicit

Definition at line 52 of file Commands.h.

◆ CommandBase() [2/2]

Divide::GFX::CommandBase::CommandBase ( const CommandBase )
default

◆ ~CommandBase()

virtual Divide::GFX::CommandBase::~CommandBase ( )
virtualdefault

Member Function Documentation

◆ addToBuffer()

virtual void Divide::GFX::CommandBase::addToBuffer ( CommandBuffer buffer) const
pure virtual

Implemented in Divide::GFX::Command< EnumVal >, Divide::GFX::Command< CommandType::ADD_DEBUG_MESSAGE >, Divide::GFX::Command< CommandType::BEGIN_DEBUG_SCOPE >, Divide::GFX::Command< CommandType::BEGIN_GPU_QUERY >, Divide::GFX::Command< CommandType::BEGIN_RENDER_PASS >, Divide::GFX::Command< CommandType::BIND_PIPELINE >, Divide::GFX::Command< CommandType::BIND_SHADER_RESOURCES >, Divide::GFX::Command< CommandType::BLIT_RT >, Divide::GFX::Command< CommandType::CLEAR_BUFFER_DATA >, Divide::GFX::Command< CommandType::CLEAR_TEXTURE >, Divide::GFX::Command< CommandType::COMPUTE_MIPMAPS >, Divide::GFX::Command< CommandType::COPY_TEXTURE >, Divide::GFX::Command< CommandType::DISPATCH_COMPUTE >, Divide::GFX::Command< CommandType::DRAW_COMMANDS >, Divide::GFX::Command< CommandType::END_DEBUG_SCOPE >, Divide::GFX::Command< CommandType::END_GPU_QUERY >, Divide::GFX::Command< CommandType::END_RENDER_PASS >, Divide::GFX::Command< CommandType::MEMORY_BARRIER >, Divide::GFX::Command< CommandType::POP_CAMERA >, Divide::GFX::Command< CommandType::POP_VIEWPORT >, Divide::GFX::Command< CommandType::PUSH_CAMERA >, Divide::GFX::Command< CommandType::PUSH_VIEWPORT >, Divide::GFX::Command< CommandType::READ_BUFFER_DATA >, Divide::GFX::Command< CommandType::READ_TEXTURE >, Divide::GFX::Command< CommandType::SEND_PUSH_CONSTANTS >, Divide::GFX::Command< CommandType::SET_CAMERA >, Divide::GFX::Command< CommandType::SET_CLIP_PLANES >, Divide::GFX::Command< CommandType::SET_SCISSOR >, and Divide::GFX::Command< CommandType::SET_VIEWPORT >.

◆ As()

template<typename T >
requires std::is_base_of_v<CommandBase, T>
FORCE_INLINE T * Divide::GFX::CommandBase::As ( )
inline

Definition at line 60 of file Commands.h.

◆ DeleteCmd()

virtual void Divide::GFX::CommandBase::DeleteCmd ( CommandBase *&  cmd) const
protectedpure virtual

Implemented in Divide::GFX::Command< EnumVal >, Divide::GFX::Command< CommandType::ADD_DEBUG_MESSAGE >, Divide::GFX::Command< CommandType::BEGIN_DEBUG_SCOPE >, Divide::GFX::Command< CommandType::BEGIN_GPU_QUERY >, Divide::GFX::Command< CommandType::BEGIN_RENDER_PASS >, Divide::GFX::Command< CommandType::BIND_PIPELINE >, Divide::GFX::Command< CommandType::BIND_SHADER_RESOURCES >, Divide::GFX::Command< CommandType::BLIT_RT >, Divide::GFX::Command< CommandType::CLEAR_BUFFER_DATA >, Divide::GFX::Command< CommandType::CLEAR_TEXTURE >, Divide::GFX::Command< CommandType::COMPUTE_MIPMAPS >, Divide::GFX::Command< CommandType::COPY_TEXTURE >, Divide::GFX::Command< CommandType::DISPATCH_COMPUTE >, Divide::GFX::Command< CommandType::DRAW_COMMANDS >, Divide::GFX::Command< CommandType::END_DEBUG_SCOPE >, Divide::GFX::Command< CommandType::END_GPU_QUERY >, Divide::GFX::Command< CommandType::END_RENDER_PASS >, Divide::GFX::Command< CommandType::MEMORY_BARRIER >, Divide::GFX::Command< CommandType::POP_CAMERA >, Divide::GFX::Command< CommandType::POP_VIEWPORT >, Divide::GFX::Command< CommandType::PUSH_CAMERA >, Divide::GFX::Command< CommandType::PUSH_VIEWPORT >, Divide::GFX::Command< CommandType::READ_BUFFER_DATA >, Divide::GFX::Command< CommandType::READ_TEXTURE >, Divide::GFX::Command< CommandType::SEND_PUSH_CONSTANTS >, Divide::GFX::Command< CommandType::SET_CAMERA >, Divide::GFX::Command< CommandType::SET_CLIP_PLANES >, Divide::GFX::Command< CommandType::SET_SCISSOR >, and Divide::GFX::Command< CommandType::SET_VIEWPORT >.

◆ operator=()

CommandBase & Divide::GFX::CommandBase::operator= ( const CommandBase )
default

◆ PROPERTY_R()

Divide::GFX::CommandBase::PROPERTY_R ( CommandType  ,
type   
)

Friends And Related Function Documentation

◆ CommandBuffer

friend class CommandBuffer
friend

Definition at line 67 of file Commands.h.


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