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

#include <VertexDataInterface.h>

+ Inheritance diagram for Divide::VertexDataInterface:

Public Types

using Handle = PoolHandle
 
using VDIPool = ObjectPool< VertexDataInterface, 256, true >
 
- Public Types inherited from Divide::GraphicsResource
enum class  Type : U8 {
  RENDER_TARGET , SHADER_BUFFER , BUFFER , SHADER ,
  SHADER_PROGRAM , TEXTURE , COUNT
}
 

Public Member Functions

 VertexDataInterface (GFXDevice &context, const std::string_view name)
 
virtual ~VertexDataInterface () override
 
virtual void draw (const GenericDrawCommand &command, VDIUserData *data)=0
 
 PROPERTY_R (Handle, handle)
 
 PROPERTY_RW (bool, primitiveRestartRequired, false)
 
- Public Member Functions inherited from Divide::GUIDWrapper
 GUIDWrapper () noexcept
 
 GUIDWrapper (const GUIDWrapper &old) noexcept
 
 GUIDWrapper (GUIDWrapper &&old) noexcept
 
virtual ~GUIDWrapper ()=default
 
FORCE_INLINE I64 getGUID () const noexcept
 
GUIDWrapperoperator= (const GUIDWrapper &old)=delete
 
GUIDWrapperoperator= (GUIDWrapper &&other)=delete
 
- Public Member Functions inherited from Divide::GraphicsResource
virtual ~GraphicsResource ()
 
GFXDevicecontext () const noexcept
 
U64 nameHash () const noexcept
 
- Public Member Functions inherited from Divide::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 
- Public Member Functions inherited from Divide::NonMovable
 NonMovable (NonMovable &&)=delete
 
NonMovableoperator= (NonMovable &&)=delete
 
 NonMovable (const NonMovable &)=default
 
NonMovableoperator= (const NonMovable &)=default
 

Static Public Attributes

static constexpr Handle INVALID_VDI_HANDLE {U16_MAX, 0u}
 
static VDIPool s_VDIPool
 

Additional Inherited Members

- Static Public Member Functions inherited from Divide::GUIDWrapper
static I64 generateGUID () noexcept
 
- Protected Member Functions inherited from Divide::GraphicsResource
 GraphicsResource (GFXDevice &context, Type type, I64 GUID, U64 nameHash)
 
- Protected Member Functions inherited from Divide::NonCopyable
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 
- Protected Member Functions inherited from Divide::NonMovable
 NonMovable ()=default
 
 ~NonMovable ()=default
 
- Protected Attributes inherited from Divide::GUIDWrapper
const I64 _guid
 
- Protected Attributes inherited from Divide::GraphicsResource
GFXDevice_context
 

Detailed Description

Definition at line 47 of file VertexDataInterface.h.

Member Typedef Documentation

◆ Handle

◆ VDIPool

Constructor & Destructor Documentation

◆ VertexDataInterface()

Divide::VertexDataInterface::VertexDataInterface ( GFXDevice context,
const std::string_view  name 
)
explicit

Definition at line 9 of file VertexDataInterface.cpp.

◆ ~VertexDataInterface()

Divide::VertexDataInterface::~VertexDataInterface ( )
overridevirtual

Definition at line 15 of file VertexDataInterface.cpp.

Member Function Documentation

◆ draw()

virtual void Divide::VertexDataInterface::draw ( const GenericDrawCommand command,
VDIUserData data 
)
pure virtual

◆ PROPERTY_R()

Divide::VertexDataInterface::PROPERTY_R ( Handle  ,
handle   
)

◆ PROPERTY_RW()

Divide::VertexDataInterface::PROPERTY_RW ( bool  ,
primitiveRestartRequired  ,
false   
)

Member Data Documentation

◆ INVALID_VDI_HANDLE

constexpr Handle Divide::VertexDataInterface::INVALID_VDI_HANDLE {U16_MAX, 0u}
staticconstexpr

Definition at line 50 of file VertexDataInterface.h.

◆ s_VDIPool

VertexDataInterface::VDIPool Divide::VertexDataInterface::s_VDIPool
static

Definition at line 61 of file VertexDataInterface.h.


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