14 template<
typename ...Args>
15 gUbo(Args&&... args,
int bindingpoint,
int usage = GL_DYNAMIC_DRAW) : id(GL_NONE), size(sizeof(T)), bindingpoint(bindingpoint) {
16 data =
new T(std::forward<Args>(args)...);
43 void update(
int offset,
int length) {
44 void* ptr =
reinterpret_cast<char*
>(data) + offset;
Definition gRenderObject.h:25
virtual void setBufferData(GLuint buffer, const void *data, size_t size, int usage)=0
virtual void deleteBuffer(GLuint &buffer)=0
virtual void bindBuffer(GLenum target, GLuint buffer)=0
virtual void unbindBuffer(GLenum target)=0
virtual void bufSubData(GLuint buffer, int offset, int size, const void *data)=0
virtual GLuint genBuffers()=0
virtual void setBufferRange(int index, GLuint buffer, int offset, int size)=0
void bind() const
Definition gUbo.h:31
GLuint getId() const
Definition gUbo.h:57
int getSize() const
Definition gUbo.h:65
void update(int offset, int length)
Definition gUbo.h:43
void setData(T *newObject)
Definition gUbo.h:52
~gUbo()
Definition gUbo.h:24
gUbo(Args &&... args, int bindingpoint, int usage=GL_DYNAMIC_DRAW)
Definition gUbo.h:15
int getBindingPoint() const
Definition gUbo.h:61
void unbind() const
Definition gUbo.h:35
void update()
Definition gUbo.h:39
T * getData()
Definition gUbo.h:48