summaryrefslogtreecommitdiffstats
path: root/game/client/world/chunk_vbo.hh
diff options
context:
space:
mode:
Diffstat (limited to 'game/client/world/chunk_vbo.hh')
-rw-r--r--game/client/world/chunk_vbo.hh26
1 files changed, 26 insertions, 0 deletions
diff --git a/game/client/world/chunk_vbo.hh b/game/client/world/chunk_vbo.hh
new file mode 100644
index 0000000..586c313
--- /dev/null
+++ b/game/client/world/chunk_vbo.hh
@@ -0,0 +1,26 @@
+#ifndef CLIENT_CHUNK_VBO_HH
+#define CLIENT_CHUNK_VBO_HH 1
+#pragma once
+
+namespace world
+{
+class ChunkVBO final {
+public:
+ std::size_t size;
+ GLuint handle;
+
+public:
+ inline ~ChunkVBO(void)
+ {
+ // The ChunkVBO structure is meant to be a part
+ // of the ChunkMesh component within the EnTT registry;
+ // When the registry is cleaned or a chunk is removed, components
+ // are expected to be safely disposed of so we need a destructor;
+ if(handle) {
+ glDeleteBuffers(1, &handle);
+ }
+ }
+};
+} // namespace world
+
+#endif // CLIENT_CHUNK_VBO_HH