summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-11-24 18:19:42 -0700
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-11-24 18:19:42 -0700
commitebc517c800a90f6f0ed157e5c3bd7c3bd18165b5 (patch)
tree781ab3e1aca5444fc0cdec56cb8c5b479d59c492 /src
parent9e35115be8950e2891232027aaf4bef7be44ace2 (diff)
downloadgbarubik-ebc517c800a90f6f0ed157e5c3bd7c3bd18165b5.tar.gz
gbarubik-ebc517c800a90f6f0ed157e5c3bd7c3bd18165b5.zip
base 3d uml setup
Diffstat (limited to 'src')
-rw-r--r--src/cube.cpp6
-rw-r--r--src/mesh.hpp11
-rw-r--r--src/scene.cpp0
3 files changed, 17 insertions, 0 deletions
diff --git a/src/cube.cpp b/src/cube.cpp
new file mode 100644
index 0000000..fddc601
--- /dev/null
+++ b/src/cube.cpp
@@ -0,0 +1,6 @@
+#include "cube.hpp"
+
+Cube::Cube() {
+ for (std::uint8_t i = 0; i < 8; ++i)
+ m_vertices.add({(i >> 2) & 1, (i >> 1) & 1, i & 1});
+}
diff --git a/src/mesh.hpp b/src/mesh.hpp
new file mode 100644
index 0000000..55b414a
--- /dev/null
+++ b/src/mesh.hpp
@@ -0,0 +1,11 @@
+#include "mesh.hpp"
+#include "scene.hpp"
+#include <tuple>
+
+void Mesh::render(std::shared_ptr<Scene> scene_context) {
+ for (const TRIANGLE triangle : m_triangles) {
+ VECTOR v0 = m_vertices[std::get<0>(triangle.vertex_indices)];
+ VECTOR v1 = m_vertices[std::get<1>(triangle.vertex_indices)];
+ VECTOR v2 = m_vertices[std::get<2>(triangle.vertex_indices)];
+ }
+}
diff --git a/src/scene.cpp b/src/scene.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/scene.cpp