From 3ef1112d085a101aa55d11ff894f1fb515d29c27 Mon Sep 17 00:00:00 2001 From: sanine-a Date: Tue, 27 Oct 2020 14:33:25 -0500 Subject: add mesh lua functions and refactor lua type names --- src/primitives/primitives.c | 356 ++++++++++++++++++++++---------------------- 1 file changed, 178 insertions(+), 178 deletions(-) (limited to 'src/primitives/primitives.c') diff --git a/src/primitives/primitives.c b/src/primitives/primitives.c index efc4a0f..0d8f209 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; +//} -- cgit v1.2.1