small refactor
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Mon, 26 Oct 2020 03:40:11 +0000 (22:40 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Mon, 26 Oct 2020 03:40:11 +0000 (22:40 -0500)
include/container.h
src/sim.cpp

index 18bd5b3dcacb4365c41ec3e8189370724311827a..3ff34cc325aaa1c27a9816bfb61f2544418d4ad4 100644 (file)
@@ -124,6 +124,10 @@ struct Array
         return false;
     }
     
+    u64 size_in_bytes() const
+    {
+        return sizeof(T) * count;
+    }
     
     T* begin() const
     {
index 57ea29746b574d7460923b7a4c3b9f5018ca0629..a58bb093920cf67e7907b12dc80ed3c491438f36 100644 (file)
@@ -244,7 +244,7 @@ draw(SimState* state)
 {
     // NOTE(Brendan): Rebuffer all the body data to the GPU.
     glBindBuffer(GL_ARRAY_BUFFER, body_buffer);
-    glBufferSubData(GL_ARRAY_BUFFER, 0, state->bodies.count * sizeof(Body), state->bodies.data);
+    glBufferSubData(GL_ARRAY_BUFFER, 0, state->bodies.size_in_bytes(), state->bodies.data);
     glBindBuffer(GL_ARRAY_BUFFER, -1);
     
     glUseProgram(body_program);
@@ -324,7 +324,7 @@ main(i32 argc, char* argv[])
         
         glGenBuffers(1, &body_buffer);
         glBindBuffer(GL_ARRAY_BUFFER, body_buffer);
-        glBufferData(GL_ARRAY_BUFFER, sizeof(Body) * state->bodies.count, state->bodies.data, GL_STREAM_DRAW);
+        glBufferData(GL_ARRAY_BUFFER, state->bodies.size_in_bytes(), state->bodies.data, GL_STREAM_DRAW);
         
         foreach (i, 1, 4)
         {