From 9e9e1482d190936caf9174fdeea0a90e42ca0e05 Mon Sep 17 00:00:00 2001 From: Dynamitos Date: Thu, 23 Jan 2025 15:55:24 +0100 Subject: [PATCH] Adding some files --- src/Minimal.h | 12 ++++++++++++ src/scene/BVH.cpp | 1 + src/scene/BVH.h | 15 +++++++++++++++ src/scene/Scene.h | 1 + src/util/CMakeLists.txt | 7 +++++++ src/util/Model.cpp | 0 src/util/Model.h | 11 +++++++++++ src/util/ModelLoader.cpp | 2 ++ src/util/ModelLoader.h | 9 +++++++++ 9 files changed, 58 insertions(+) create mode 100644 src/Minimal.h create mode 100644 src/scene/BVH.cpp create mode 100644 src/scene/BVH.h create mode 100644 src/util/CMakeLists.txt create mode 100644 src/util/Model.cpp create mode 100644 src/util/Model.h create mode 100644 src/util/ModelLoader.cpp create mode 100644 src/util/ModelLoader.h diff --git a/src/Minimal.h b/src/Minimal.h new file mode 100644 index 0000000..36773bf --- /dev/null +++ b/src/Minimal.h @@ -0,0 +1,12 @@ +#pragma once + +#define DEFINE_REF(x) \ + typedef ::Seele::RefPtr P##x; \ + typedef ::Seele::UniquePtr UP##x; \ + typedef ::Seele::OwningPtr O##x; + +#define DECLARE_REF(x) \ + class x; \ + typedef ::Seele::RefPtr P##x; \ + typedef ::Seele::UniquePtr UP##x; \ + typedef ::Seele::OwningPtr O##x; \ No newline at end of file diff --git a/src/scene/BVH.cpp b/src/scene/BVH.cpp new file mode 100644 index 0000000..6e24743 --- /dev/null +++ b/src/scene/BVH.cpp @@ -0,0 +1 @@ +#include "BVH.h" \ No newline at end of file diff --git a/src/scene/BVH.h b/src/scene/BVH.h new file mode 100644 index 0000000..5aae953 --- /dev/null +++ b/src/scene/BVH.h @@ -0,0 +1,15 @@ +#pragma once +#include +#include + +struct AABB { + glm::vec3 min; + glm::vec3 max; +}; + +class BVH +{ +public: +private: + std::vector boundingBoxes; +}; \ No newline at end of file diff --git a/src/scene/Scene.h b/src/scene/Scene.h index 30a13ef..bd4980f 100644 --- a/src/scene/Scene.h +++ b/src/scene/Scene.h @@ -4,4 +4,5 @@ class Scene { public: private: + }; \ No newline at end of file diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt new file mode 100644 index 0000000..8e79e3f --- /dev/null +++ b/src/util/CMakeLists.txt @@ -0,0 +1,7 @@ +target_sources(RayTracer + PRIVATE + Model.h + Model.cpp + ModelLoader.h + ModelLoader.cpp +) \ No newline at end of file diff --git a/src/util/Model.cpp b/src/util/Model.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/util/Model.h b/src/util/Model.h new file mode 100644 index 0000000..76a799a --- /dev/null +++ b/src/util/Model.h @@ -0,0 +1,11 @@ +#pragma once +#include "Minimal.h" +#include +#include + +class Model +{ + std::vector positions; + std::vector indices; +}; +DECLARE_REF(Model) \ No newline at end of file diff --git a/src/util/ModelLoader.cpp b/src/util/ModelLoader.cpp new file mode 100644 index 0000000..17a46dc --- /dev/null +++ b/src/util/ModelLoader.cpp @@ -0,0 +1,2 @@ +#include "ModelLoader.h" + diff --git a/src/util/ModelLoader.h b/src/util/ModelLoader.h new file mode 100644 index 0000000..60068b8 --- /dev/null +++ b/src/util/ModelLoader.h @@ -0,0 +1,9 @@ +#pragma once +#include "Model.h" + +class ModelLoader +{ +public: + OModel loadModel(std::string_view filename); +private: +}; \ No newline at end of file