summaryrefslogtreecommitdiff
path: root/engine-ocean/Graphics/GLWrappers/vbo.cpp
diff options
context:
space:
mode:
authorjjesswan <jessica_wan@brown.edu>2024-04-22 21:56:26 -0400
committerjjesswan <jessica_wan@brown.edu>2024-04-22 21:56:26 -0400
commita556b45abf18f1bd509daaf63b66b7d55e9fd291 (patch)
treebc9b8a2d184c12aee236e7f9f276a34b84ca552d /engine-ocean/Graphics/GLWrappers/vbo.cpp
parentcd7c76017a12bb548036571c1ff13e551369d06d (diff)
add engine version
Diffstat (limited to 'engine-ocean/Graphics/GLWrappers/vbo.cpp')
-rw-r--r--engine-ocean/Graphics/GLWrappers/vbo.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/engine-ocean/Graphics/GLWrappers/vbo.cpp b/engine-ocean/Graphics/GLWrappers/vbo.cpp
new file mode 100644
index 0000000..a8d08fb
--- /dev/null
+++ b/engine-ocean/Graphics/GLWrappers/vbo.cpp
@@ -0,0 +1,27 @@
+#include "vbo.h"
+#include <iostream>
+
+VBO::VBO(std::vector<float> data):
+ m_length(data.size())
+{
+ glGenBuffers(1, &m_handle);
+ bind();
+ glBufferData(GL_ARRAY_BUFFER, m_length*sizeof(float), data.data(), GL_STATIC_DRAW);
+ unbind();
+}
+
+VBO::~VBO(){
+ glDeleteBuffers(1, &m_handle);
+}
+
+void VBO::bind(){
+ glBindBuffer(GL_ARRAY_BUFFER, m_handle);
+}
+
+void VBO::unbind(){
+ glBindBuffer(GL_ARRAY_BUFFER, 0);
+}
+
+GLsizei VBO::getLength(){
+ return m_length;
+} \ No newline at end of file