33#ifndef GL_GENERIC_VERTEX_DATA_H
34#define GL_GENERIC_VERTEX_DATA_H
46 void reset()
override;
Rough around the edges Adapter pattern abstracting the actual rendering API and access to the GPU.
GFXDevice & context() const noexcept
SharedMutex _idxBufferLock
void draw(const GenericDrawCommand &command, VDIUserData *data) override
Submit a draw command to the GPU using this object and the specified command.
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 o...
eastl::fixed_vector< IndexBufferEntry, 1, true > _idxBuffers
BufferLock setBuffer(const SetBufferParams ¶ms) override
Specify the structure and data of the given buffer.
void bindBufferInternal(const SetBufferParams::BufferBindConfig &bindConfig)
friend class glVertexArray
eastl::fixed_vector< GenericBufferImpl, 1, true > _bufferObjects
void reset() override
Also clears GPU memory.
BufferLock setIndexBuffer(const IndexBuffer &indices) override
Handle console commands that start with a forward slash.
std::shared_mutex SharedMutex
constexpr gl46core::GLuint GL_NULL_HANDLE
Invalid object value. Used to compare handles and determine if they were properly created.
glBufferImpl_uptr _buffer
SetBufferParams::BufferBindConfig _bindConfig
gl46core::GLsync _idxBufferSync