From 8fdaff1e4c5af8a66ae0b6f2f550237756e706f2 Mon Sep 17 00:00:00 2001 From: Dynamitos Date: Sat, 25 Jan 2025 23:19:43 +0100 Subject: [PATCH] adding material class --- src/scene/Renderer.cpp | 4 ++++ src/scene/Scene.cpp | 2 +- src/util/CMakeLists.txt | 2 ++ src/util/Material.cpp | 1 + src/util/Material.h | 7 +++++++ 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 src/util/Material.cpp create mode 100644 src/util/Material.h diff --git a/src/scene/Renderer.cpp b/src/scene/Renderer.cpp index e4f1e7a..426111f 100644 --- a/src/scene/Renderer.cpp +++ b/src/scene/Renderer.cpp @@ -6,6 +6,10 @@ Renderer::Renderer() { + bvh.addPointLight(PointLight{ + .position = glm::vec3(2, 0, 2), + .color = glm::vec3(0, 1, 0), + }); bvh.addModels(ModelLoader::loadModel("../res/models/cube.fbx"), glm::mat4(glm::vec4(1.0f, 0.0f, 0.0f, 0.0f), glm::vec4(0.0f, 1.0f, 0.0f, 0.0f), glm::vec4(0.0f, 0.0f, 1.0f, 0.0f), glm::vec4(0.0f, 0.0f, 0.0f, 1.0f))); diff --git a/src/scene/Scene.cpp b/src/scene/Scene.cpp index a8848d7..348f929 100644 --- a/src/scene/Scene.cpp +++ b/src/scene/Scene.cpp @@ -161,7 +161,7 @@ std::optional Scene::intersectModel(const ModelReference& refe intersection = IntersectionInfo{.position = ray.origin + ray.direction * resultVector.x, .normal = n, .albedo = glm::vec3(0.7f, 0.7f, 0.7f), - .emissive = glm::vec3(0.0f, 0.0f, 0.0f)}; + .emissive = glm::vec3(0.0f, 0.0f, 0.0f),}; distance = resultVector.x; } } diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index 0ea555d..fd1d686 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -1,6 +1,8 @@ target_sources(RayTracer PRIVATE Camera.h + Material.h + Material.cpp Model.h Model.cpp ModelLoader.h diff --git a/src/util/Material.cpp b/src/util/Material.cpp new file mode 100644 index 0000000..435d592 --- /dev/null +++ b/src/util/Material.cpp @@ -0,0 +1 @@ +#include "Material.h" \ No newline at end of file diff --git a/src/util/Material.h b/src/util/Material.h new file mode 100644 index 0000000..f4663c4 --- /dev/null +++ b/src/util/Material.h @@ -0,0 +1,7 @@ +#pragma once + +class Material +{ +public: +private: +}; \ No newline at end of file