![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
#include <glGenericVertexData.h>
Classes | |
struct | GenericBufferImpl |
struct | IndexBufferEntry |
Public Member Functions | |
glGenericVertexData (GFXDevice &context, U16 ringBufferLength, const std::string_view name) | |
void | reset () override |
Also clears GPU memory. | |
BufferLock | setIndexBuffer (const IndexBuffer &indices) override |
BufferLock | setBuffer (const SetBufferParams ¶ms) override |
Specify the structure and data of the given buffer. | |
BufferLock | updateBuffer (U32 buffer, U32 elementCountOffset, U32 elementCountRange, bufferPtr data) override |
Update the elementCount worth of data contained in the buffer starting from elementCountOffset size offset. | |
![]() | |
GenericVertexData (GFXDevice &context, U16 ringBufferLength, const std::string_view name) | |
virtual BufferLock | setIndexBuffer (const IndexBuffer &indices)=0 |
virtual void | reset ()=0 |
Also clears GPU memory. | |
virtual BufferLock | setBuffer (const SetBufferParams ¶ms)=0 |
virtual BufferLock | updateBuffer (U32 buffer, U32 elementCountOffset, U32 elementCountRange, bufferPtr data)=0 |
![]() | |
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) | |
![]() | |
GUIDWrapper () noexcept | |
GUIDWrapper (const GUIDWrapper &old) noexcept | |
GUIDWrapper (GUIDWrapper &&old) noexcept | |
virtual | ~GUIDWrapper ()=default |
FORCE_INLINE I64 | getGUID () const noexcept |
GUIDWrapper & | operator= (const GUIDWrapper &old)=delete |
GUIDWrapper & | operator= (GUIDWrapper &&other)=delete |
![]() | |
virtual | ~GraphicsResource () |
GFXDevice & | context () const noexcept |
U64 | nameHash () const noexcept |
![]() | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable (NonCopyable &&)=default | |
NonCopyable & | operator= (NonCopyable &&)=default |
![]() | |
NonMovable (NonMovable &&)=delete | |
NonMovable & | operator= (NonMovable &&)=delete |
NonMovable (const NonMovable &)=default | |
NonMovable & | operator= (const NonMovable &)=default |
![]() | |
RingBuffer (U16 queueLength) noexcept | |
virtual | ~RingBuffer ()=default |
virtual void | resize (U16 queueLength) noexcept |
U16 | queueLength () const noexcept |
I32 | queueIndex () const noexcept |
void | incQueue () noexcept |
void | decQueue () noexcept |
Protected Member Functions | |
void | draw (const GenericDrawCommand &command, VDIUserData *data) override |
Submit a draw command to the GPU using this object and the specified command. | |
void | bindBufferInternal (const SetBufferParams::BufferBindConfig &bindConfig) |
![]() | |
GraphicsResource (GFXDevice &context, Type type, I64 GUID, U64 nameHash) | |
![]() | |
NonCopyable ()=default | |
~NonCopyable ()=default | |
![]() | |
NonMovable ()=default | |
~NonMovable ()=default | |
Private Attributes | |
eastl::fixed_vector< IndexBufferEntry, 1, true > | _idxBuffers |
eastl::fixed_vector< GenericBufferImpl, 1, true > | _bufferObjects |
SharedMutex | _idxBufferLock |
Friends | |
class | GFXDevice |
class | glVertexArray |
Additional Inherited Members | |
![]() | |
using | Handle = PoolHandle |
using | VDIPool = ObjectPool< VertexDataInterface, 256, true > |
![]() | |
enum class | Type : U8 { RENDER_TARGET , SHADER_BUFFER , BUFFER , SHADER , SHADER_PROGRAM , TEXTURE , COUNT } |
![]() | |
static I64 | generateGUID () noexcept |
![]() | |
static constexpr Handle | INVALID_VDI_HANDLE {U16_MAX, 0u} |
static VDIPool | s_VDIPool |
![]() | |
Str< 256 > | _name |
![]() | |
const I64 | _guid |
![]() | |
GFXDevice & | _context |
Definition at line 42 of file glGenericVertexData.h.
Divide::glGenericVertexData::glGenericVertexData | ( | GFXDevice & | context, |
U16 | ringBufferLength, | ||
const std::string_view | name | ||
) |
Definition at line 16 of file glGenericVertexData.cpp.
|
protected |
Definition at line 272 of file glGenericVertexData.cpp.
|
overrideprotectedvirtual |
Submit a draw command to the GPU using this object and the specified command.
Implements Divide::VertexDataInterface.
Definition at line 39 of file glGenericVertexData.cpp.
|
overridevirtual |
Also clears GPU memory.
Implements Divide::GenericVertexData.
Definition at line 21 of file glGenericVertexData.cpp.
|
overridevirtual |
Specify the structure and data of the given buffer.
Implements Divide::GenericVertexData.
Definition at line 172 of file glGenericVertexData.cpp.
|
overridevirtual |
Implements Divide::GenericVertexData.
Definition at line 80 of file glGenericVertexData.cpp.
|
overridevirtual |
Update the elementCount worth of data contained in the buffer starting from elementCountOffset size offset.
Implements Divide::GenericVertexData.
Definition at line 229 of file glGenericVertexData.cpp.
|
friend |
Definition at line 53 of file glGenericVertexData.h.
|
friend |
Definition at line 54 of file glGenericVertexData.h.
|
private |
Definition at line 77 of file glGenericVertexData.h.
|
private |
Definition at line 79 of file glGenericVertexData.h.
|
private |
Definition at line 76 of file glGenericVertexData.h.