summaryrefslogtreecommitdiff
path: root/Runtime/Graphics/GPUDataBuffers.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-27 19:30:06 +0800
committerchai <chaifix@163.com>2021-10-27 19:30:06 +0800
commit51ced5a191078ce4ef08d57e343e91db007f556f (patch)
tree72dce341b2019e5b14c789a9edfb47d5b31900a6 /Runtime/Graphics/GPUDataBuffers.cpp
parente6a15decac22912900d2cbd2e5525229b92bb55a (diff)
*misc
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();
+}
+