diff options
Diffstat (limited to 'Runtime/Graphics/GPUDataBuffers.cpp')
-rw-r--r-- | Runtime/Graphics/GPUDataBuffers.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Runtime/Graphics/GPUDataBuffers.cpp b/Runtime/Graphics/GPUDataBuffers.cpp new file mode 100644 index 0000000..9e8df9f --- /dev/null +++ b/Runtime/Graphics/GPUDataBuffers.cpp @@ -0,0 +1,42 @@ +#include "GPUDataBuffers.h"
+
+void foo()
+{
+ GPUDataBuffer<float> buf = GPUDataBuffer<float>(GL_ARRAY_BUFFER, GL_STATIC_DRAW);
+ int n = buf.GetComponentSize();
+}
+
+VBO::VBO() + : GPUDataBuffer<float>(GL_ARRAY_BUFFER, GL_STATIC_DRAW) +{ +} +VBO::VBO(GLenum usage) + : GPUDataBuffer<float>(GL_ARRAY_BUFFER, usage) +{ +} +
+VBO::~VBO() +{ +} + +void VBO::AddVertexAttribute(int index, int numOfComps, int stride) +{ + VertexAttributeDescriptor attribute = VertexAttributeDescriptor();
+ attribute.index = index;
+ attribute.numOfComponents = numOfComps;
+ attribute.stride = stride;
+ m_Layout.attributes.push_back(attribute);
+} +void VBO::AddVertexAttribute(VertexAttributeDescriptor& attribute) +{ + m_Layout.attributes.push_back(attribute);
+} +int VBO::GetVertexAttributesCount() +{ + return m_Layout.attributes.size(); +} +void VBO::ClearVertexAttribute() +{ + m_Layout.attributes.clear();
+} + |