44 virtual void Allocate(GLsizeiptr nSize,
const void* pData =
nullptr, GLenum eUsage = GL_DYNAMIC_DRAW);
52 virtual void Update(
const void* pData, GLsizeiptr nSize, GLintptr nOffset = 0);
68 GLuint m_nBuffer = std::numeric_limits<GLuint>::max();
71 #define QX_DECL_BUFFER_BASE \
72 virtual GLenum GetBufferType() const override; \
73 virtual GLbitfield GetBarrierBit() const override;
Base OpenGL buffer object class.
virtual GLenum GetBufferType() const =0
Get buffer type.
virtual GLbitfield GetBarrierBit() const =0
Get buffer type barrier bit.
virtual void Allocate(GLsizeiptr nSize, const void *pData=nullptr, GLenum eUsage=GL_DYNAMIC_DRAW)
Allocate memory for the buffer.
virtual QX_DECL_IBUFFER void MemBarrier()
Defines a barrier ordering memory transactions.
virtual void Update(const void *pData, GLsizeiptr nSize, GLintptr nOffset=0)
Update buffer.