summaryrefslogtreecommitdiff
path: root/src/primitives/primitives.c
diff options
context:
space:
mode:
authorsanine-a <sanine.not@pm.me>2020-10-27 15:01:15 -0500
committersanine-a <sanine.not@pm.me>2020-10-27 15:01:15 -0500
commit50a8d3dc884816fbb1e3a3df3c401358e62b5eea (patch)
tree8513fa576be4905262f724d2be42bc59d40ee03e /src/primitives/primitives.c
parentfc16337c080db7013791bf25ace538546d2779dc (diff)
revert mesh.* with minor refactor and honey_setup_mesh()
Diffstat (limited to 'src/primitives/primitives.c')
-rw-r--r--src/primitives/primitives.c356
1 files changed, 178 insertions, 178 deletions
diff --git a/src/primitives/primitives.c b/src/primitives/primitives.c
index 0d8f209..efc4a0f 100644
--- a/src/primitives/primitives.c
+++ b/src/primitives/primitives.c
@@ -1,180 +1,180 @@
#include "primitives.h"
-//honey_result honey_mesh_new_textured_plane(honey_mesh* mesh,
-// float width,
-// float height) {
-// float x0 = 0;
-// float y0 = 0;
-// float x1 = width;
-// float y1 = height;
-//
-// float vertices[] = {
-// /* position normal uv */
-// x0, y0, 0, 0, 0, 1, 0, 0,
-// x1, y0, 0, 0, 0, 1, 1, 0,
-// x0, y1, 0, 0, 0, 1, 0, 1,
-// x1, y1, 0, 0, 0, 1, 1, 1 };
-//
-// unsigned int indices[] = {
-// 0, 1, 2,
-// 1, 2, 3 };
-//
-// unsigned int attrib_sizes[] = { 3, 3, 2 };
-//
-// honey_result result = honey_mesh_new(mesh,
-// vertices, 4,
-// 3, attrib_sizes,
-// indices, 6);
-// return result;
-//}
-//
-///* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-//
-//honey_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[] = {
-// /* position normal tex coord */
-// /* back face */
-// x0, y0, z0, 0, 0, -1,
-// x1, y0, z0, 0, 0, -1,
-// x0, y1, z0, 0, 0, -1,
-// x1, y1, z0, 0, 0, -1,
-//
-// /* front face */
-// x0, y0, z1, 0, 0, 1,
-// x1, y0, z1, 0, 0, 1,
-// x0, y1, z1, 0, 0, 1,
-// x1, y1, z1, 0, 0, 1,
-//
-// /* left face */
-// x0, y0, z0, -1, 0, 0,
-// x0, y1, z0, -1, 0, 0,
-// x0, y0, z1, -1, 0, 0,
-// x0, y1, z1, -1, 0, 0,
-//
-// /* right face */
-// x1, y0, z0, 1, 0, 0,
-// x1, y1, z0, 1, 0, 0,
-// x1, y0, z1, 1, 0, 0,
-// x1, y1, z1, 1, 0, 0,
-//
-// /* bottom face */
-// x0, y0, z0, 0, -1, 0,
-// x1, y0, z0, 0, -1, 0,
-// x0, y0, z1, 0, -1, 0,
-// x1, y0, z1, 0, -1, 0,
-//
-// /* top face */
-// x0, y1, z0, 0, 1, 0,
-// x1, y1, z0, 0, 1, 0,
-// x0, y1, z1, 0, 1, 0,
-// x1, y1, z1, 0, 1, 0 };
-//
-// unsigned int indices[] = {
-// 0, 1, 2,
-// 1, 2, 3,
-// 4, 5, 6,
-// 5, 6, 7,
-// 8, 9, 10,
-// 9, 10, 11,
-// 12, 13, 14,
-// 13, 14, 15,
-// 16, 17, 18,
-// 17, 18, 19,
-// 20, 21, 22,
-// 21, 22, 23 };
-//
-// unsigned int attrib_sizes[] = { 3, 3 };
-//
-// honey_result result = honey_mesh_new(mesh,
-// vertices, 24,
-// 2, attrib_sizes,
-// indices, 36);
-//
-// return result;
-//}
-//
-///* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-//
-//honey_result honey_mesh_new_textured_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[] = {
-// /* position normal tex coord */
-// /* back face */
-// x0, y0, z0, 0, 0, -1, 0, 0,
-// x1, y0, z0, 0, 0, -1, 1, 0,
-// x0, y1, z0, 0, 0, -1, 0, 1,
-// x1, y1, z0, 0, 0, -1, 1, 1,
-//
-// /* front face */
-// x0, y0, z1, 0, 0, 1, 0, 0,
-// x1, y0, z1, 0, 0, 1, 1, 0,
-// x0, y1, z1, 0, 0, 1, 0, 1,
-// x1, y1, z1, 0, 0, 1, 1, 1,
-//
-// /* left face */
-// x0, y0, z0, -1, 0, 0, 0, 0,
-// x0, y1, z0, -1, 0, 0, 1, 0,
-// x0, y0, z1, -1, 0, 0, 0, 1,
-// x0, y1, z1, -1, 0, 0, 1, 1,
-//
-// /* right face */
-// x1, y0, z0, 1, 0, 0, 0, 0,
-// x1, y1, z0, 1, 0, 0, 1, 0,
-// x1, y0, z1, 1, 0, 0, 0, 1,
-// x1, y1, z1, 1, 0, 0, 1, 1,
-//
-// /* bottom face */
-// x0, y0, z0, 0, -1, 0, 0, 0,
-// x1, y0, z0, 0, -1, 0, 1, 0,
-// x0, y0, z1, 0, -1, 0, 0, 1,
-// x1, y0, z1, 0, -1, 0, 1, 1,
-//
-// /* top face */
-// x0, y1, z0, 0, 1, 0, 0, 0,
-// x1, y1, z0, 0, 1, 0, 1, 0,
-// x0, y1, z1, 0, 1, 0, 0, 1,
-// x1, y1, z1, 0, 1, 0, 1, 1 };
-//
-// unsigned int indices[] = {
-// 0, 1, 2,
-// 1, 2, 3,
-// 4, 5, 6,
-// 5, 6, 7,
-// 8, 9, 10,
-// 9, 10, 11,
-// 12, 13, 14,
-// 13, 14, 15,
-// 16, 17, 18,
-// 17, 18, 19,
-// 20, 21, 22,
-// 21, 22, 23 };
-//
-// unsigned int attrib_sizes[] = { 3, 3, 2 };
-//
-// honey_result result;
-// result = honey_mesh_new(mesh, vertices, 24,
-// 3, attrib_sizes,
-// indices, 36);
-// return result;
-//}
+honey_result honey_mesh_new_textured_plane(honey_mesh* mesh,
+ float width,
+ float height) {
+ float x0 = 0;
+ float y0 = 0;
+ float x1 = width;
+ float y1 = height;
+
+ float vertices[] = {
+ /* position normal uv */
+ x0, y0, 0, 0, 0, 1, 0, 0,
+ x1, y0, 0, 0, 0, 1, 1, 0,
+ x0, y1, 0, 0, 0, 1, 0, 1,
+ x1, y1, 0, 0, 0, 1, 1, 1 };
+
+ unsigned int indices[] = {
+ 0, 1, 2,
+ 1, 2, 3 };
+
+ unsigned int attrib_sizes[] = { 3, 3, 2 };
+
+ honey_result result = honey_mesh_new(mesh,
+ vertices, 4,
+ 3, attrib_sizes,
+ indices, 6);
+ return result;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+honey_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[] = {
+ /* position normal tex coord */
+ /* back face */
+ x0, y0, z0, 0, 0, -1,
+ x1, y0, z0, 0, 0, -1,
+ x0, y1, z0, 0, 0, -1,
+ x1, y1, z0, 0, 0, -1,
+
+ /* front face */
+ x0, y0, z1, 0, 0, 1,
+ x1, y0, z1, 0, 0, 1,
+ x0, y1, z1, 0, 0, 1,
+ x1, y1, z1, 0, 0, 1,
+
+ /* left face */
+ x0, y0, z0, -1, 0, 0,
+ x0, y1, z0, -1, 0, 0,
+ x0, y0, z1, -1, 0, 0,
+ x0, y1, z1, -1, 0, 0,
+
+ /* right face */
+ x1, y0, z0, 1, 0, 0,
+ x1, y1, z0, 1, 0, 0,
+ x1, y0, z1, 1, 0, 0,
+ x1, y1, z1, 1, 0, 0,
+
+ /* bottom face */
+ x0, y0, z0, 0, -1, 0,
+ x1, y0, z0, 0, -1, 0,
+ x0, y0, z1, 0, -1, 0,
+ x1, y0, z1, 0, -1, 0,
+
+ /* top face */
+ x0, y1, z0, 0, 1, 0,
+ x1, y1, z0, 0, 1, 0,
+ x0, y1, z1, 0, 1, 0,
+ x1, y1, z1, 0, 1, 0 };
+
+ unsigned int indices[] = {
+ 0, 1, 2,
+ 1, 2, 3,
+ 4, 5, 6,
+ 5, 6, 7,
+ 8, 9, 10,
+ 9, 10, 11,
+ 12, 13, 14,
+ 13, 14, 15,
+ 16, 17, 18,
+ 17, 18, 19,
+ 20, 21, 22,
+ 21, 22, 23 };
+
+ unsigned int attrib_sizes[] = { 3, 3 };
+
+ honey_result result = honey_mesh_new(mesh,
+ vertices, 24,
+ 2, attrib_sizes,
+ indices, 36);
+
+ return result;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+honey_result honey_mesh_new_textured_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[] = {
+ /* position normal tex coord */
+ /* back face */
+ x0, y0, z0, 0, 0, -1, 0, 0,
+ x1, y0, z0, 0, 0, -1, 1, 0,
+ x0, y1, z0, 0, 0, -1, 0, 1,
+ x1, y1, z0, 0, 0, -1, 1, 1,
+
+ /* front face */
+ x0, y0, z1, 0, 0, 1, 0, 0,
+ x1, y0, z1, 0, 0, 1, 1, 0,
+ x0, y1, z1, 0, 0, 1, 0, 1,
+ x1, y1, z1, 0, 0, 1, 1, 1,
+
+ /* left face */
+ x0, y0, z0, -1, 0, 0, 0, 0,
+ x0, y1, z0, -1, 0, 0, 1, 0,
+ x0, y0, z1, -1, 0, 0, 0, 1,
+ x0, y1, z1, -1, 0, 0, 1, 1,
+
+ /* right face */
+ x1, y0, z0, 1, 0, 0, 0, 0,
+ x1, y1, z0, 1, 0, 0, 1, 0,
+ x1, y0, z1, 1, 0, 0, 0, 1,
+ x1, y1, z1, 1, 0, 0, 1, 1,
+
+ /* bottom face */
+ x0, y0, z0, 0, -1, 0, 0, 0,
+ x1, y0, z0, 0, -1, 0, 1, 0,
+ x0, y0, z1, 0, -1, 0, 0, 1,
+ x1, y0, z1, 0, -1, 0, 1, 1,
+
+ /* top face */
+ x0, y1, z0, 0, 1, 0, 0, 0,
+ x1, y1, z0, 0, 1, 0, 1, 0,
+ x0, y1, z1, 0, 1, 0, 0, 1,
+ x1, y1, z1, 0, 1, 0, 1, 1 };
+
+ unsigned int indices[] = {
+ 0, 1, 2,
+ 1, 2, 3,
+ 4, 5, 6,
+ 5, 6, 7,
+ 8, 9, 10,
+ 9, 10, 11,
+ 12, 13, 14,
+ 13, 14, 15,
+ 16, 17, 18,
+ 17, 18, 19,
+ 20, 21, 22,
+ 21, 22, 23 };
+
+ unsigned int attrib_sizes[] = { 3, 3, 2 };
+
+ honey_result result;
+ result = honey_mesh_new(mesh, vertices, 24,
+ 3, attrib_sizes,
+ indices, 36);
+ return result;
+}