summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsanine-a <sanine.not@pm.me>2020-05-20 23:03:42 -0500
committersanine-a <sanine.not@pm.me>2020-05-20 23:03:42 -0500
commita09b5a72d365f10e35b012e04b95891abf0b8313 (patch)
tree8c233b15f5592371dde867abc62e31193b442c97 /src
parentc3a41085272644709d891bf04137a6c2bd901230 (diff)
add cube primitive
Diffstat (limited to 'src')
-rw-r--r--src/primitives.c49
1 files changed, 47 insertions, 2 deletions
diff --git a/src/primitives.c b/src/primitives.c
index 798a691..7cbea07 100644
--- a/src/primitives.c
+++ b/src/primitives.c
@@ -1,3 +1,48 @@
-#ifndef HONEY_PRIMITIVE_OBJECTS
-#define HONEY_PRIMITIVE_OBJECTS
+#include "include/primitives.h"
+
+enum honey_mesh_result honey_mesh_new_cube(honey_mesh* mesh,
+ float width,
+ float height,
+ float depth) {
+ float x0 = 0;
+ float y0 = 0;
+ float z0 = 0;
+
+ float x1 = width;
+ float y1 = height;
+ float z1 = depth;
+
+ float vertices[] = {
+ x0, y0, z0,
+ x1, y0, z0,
+ x0, y1, z0,
+ x1, y1, z0,
+ x0, y0, z1,
+ x1, y0, z1,
+ x0, y1, z1,
+ x1, y1, z1 };
+
+ unsigned int indices[] = { 0, 1, 2,
+ 1, 2, 3,
+ 4, 5, 6,
+ 5, 6, 7,
+ 0, 2, 4,
+ 2, 4, 6,
+ 1, 3, 5,
+ 3, 5, 7,
+ 2, 3, 6,
+ 3, 6, 7,
+ 0, 1, 4,
+ 1, 4, 5 };
+
+ unsigned int attrib_sizes[] = { 3 };
+
+ enum honey_mesh_result result = honey_mesh_new(mesh,
+ vertices,
+ 8, 1, attrib_sizes,
+ indices, 36);
+
+ return result;
+}
+