From 441fab6f81fd0b4a1c6133dabe8b32f4c689cd07 Mon Sep 17 00:00:00 2001 From: Dynamitos Date: Sun, 26 Jan 2025 22:50:37 +0100 Subject: [PATCH] basic gui --- src/ThreadPool.h | 4 ++-- src/main.cpp | 61 ++++++++++++++++++++++++------------------------ 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/src/ThreadPool.h b/src/ThreadPool.h index 3157980..abf2c50 100644 --- a/src/ThreadPool.h +++ b/src/ThreadPool.h @@ -25,8 +25,8 @@ private: std::mutex queueLock; std::condition_variable queueCV; std::condition_variable completedCV; - uint32_t numRemaining; - uint32_t numRunning; + uint32_t numRemaining = 0; + uint32_t numRunning = 0; std::list taskQueue; std::vector workers; }; \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 71692ce..bbccc7a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,40 +1,41 @@ #include "scene/Renderer.h" #include "util/ModelLoader.h" #include "window/Window.h" -#include #include +#include int main() { - Renderer scene; - Window window(1920, 1080); - scene.startRender( - Camera{ - .position = glm::vec3(-2, 5, 5), - .target = glm::vec3(0, 0, 0), - }, - RenderParameter{ - .width = 1920, - .height = 1080, - .numSamples = 10000, - }); - while (true) + Renderer scene; + Window window(1920, 1080); + Camera camera = Camera{ + .position = glm::vec3(20, 5, 5), + .target = glm::vec3(0, 0, 0), + }; + RenderParameter render = RenderParameter{ + .width = 1920, + .height = 1080, + .numSamples = 10000, + }; + scene.startRender(camera, render); + + while (true) + { + window.beginFrame(); + ImGui::Text("Camera Parameters"); + ImGui::InputFloat3("Position", &camera.position.x); + ImGui::InputFloat3("Target", &camera.target.x); + ImGui::InputFloat("Focal Length", &camera.f); + ImGui::InputFloat("Aperture", &camera.A); + ImGui::Text("Render Parameters"); + ImGui::InputInt2("Dimensions", &render.width); + ImGui::InputInt("Samples", &render.numSamples); + + if (ImGui::Button("Render")) { - window.beginFrame(); - if (ImGui::Button("Render")) - { - scene.startRender( - Camera{ - .position = glm::vec3(5, 5, 5), - .target = glm::vec3(0, 0, 0), - }, - RenderParameter{ - .width = 1920, - .height = 1080, - .numSamples = 10000, - }); - } - window.update(scene.getImage()); + scene.startRender(camera, render); } - return 0; + window.update(scene.getImage()); + } + return 0; } \ No newline at end of file