OGLplus is a collection of open-source, cross-platform libraries which implement an object-oriented facade over the OpenGL® (version 3 and higher) and also OpenAL® (version 1.1) and EGL (version 1.4) C-language APIs. It provides wrappers which automate resource and object management and make the use of these libraries in C++ safer and more convenient.
VertexArrayAttrib provides wrappers for VertexAttribFormat, VertexAttribIFormat, VertexAttribLFormat, but I couldn't find any wrapper for the following functions:
BindVertexBuffer
VertexAttribBinding
VertexBindingDivisor
It seems to me like it would be beneficial to abstract vertex buffer binding points by wrapping the index in a class (the same way a vertex array attribute is wrapped by VertexArrayAttrib), and implement the above three functions as members of this class.
I'd be willing to spearhead the implementation, but I'm not familiar with the template programming techniques used by oglplus, and I'm unsure of how to approach implementing a new class in a way that lines up with the rest of the library. Should I create an *Ops<> class, and if so, how should I use it? Are there any enumerations or existing classes that need to be updated?
VertexArrayAttrib
provides wrappers forVertexAttribFormat
,VertexAttribIFormat
,VertexAttribLFormat
, but I couldn't find any wrapper for the following functions:BindVertexBuffer
VertexAttribBinding
VertexBindingDivisor
It seems to me like it would be beneficial to abstract vertex buffer binding points by wrapping the index in a class (the same way a vertex array attribute is wrapped by
VertexArrayAttrib
), and implement the above three functions as members of this class.I'd be willing to spearhead the implementation, but I'm not familiar with the template programming techniques used by oglplus, and I'm unsure of how to approach implementing a new class in a way that lines up with the rest of the library. Should I create an
*Ops<>
class, and if so, how should I use it? Are there any enumerations or existing classes that need to be updated?Reference: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_vertex_attrib_binding.txt