diff options
| author | sanine-a <sanine.not@pm.me> | 2020-05-20 23:03:42 -0500 | 
|---|---|---|
| committer | sanine-a <sanine.not@pm.me> | 2020-05-20 23:03:42 -0500 | 
| commit | a09b5a72d365f10e35b012e04b95891abf0b8313 (patch) | |
| tree | 8c233b15f5592371dde867abc62e31193b442c97 /src/primitives.c | |
| parent | c3a41085272644709d891bf04137a6c2bd901230 (diff) | |
add cube primitive
Diffstat (limited to 'src/primitives.c')
| -rw-r--r-- | src/primitives.c | 49 | 
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; +} +  | 
