summaryrefslogtreecommitdiff
path: root/Runtime/Graphics/GPUDataBuffers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/Graphics/GPUDataBuffers.cpp')
-rw-r--r--Runtime/Graphics/GPUDataBuffers.cpp42
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();
+}
+