summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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