basic gui

This commit is contained in:
Dynamitos
2025-01-26 22:50:37 +01:00
parent c52a983faf
commit 441fab6f81
2 changed files with 33 additions and 32 deletions
+2 -2
View File
@@ -25,8 +25,8 @@ private:
std::mutex queueLock; std::mutex queueLock;
std::condition_variable queueCV; std::condition_variable queueCV;
std::condition_variable completedCV; std::condition_variable completedCV;
uint32_t numRemaining; uint32_t numRemaining = 0;
uint32_t numRunning; uint32_t numRunning = 0;
std::list<Batch> taskQueue; std::list<Batch> taskQueue;
std::vector<std::thread> workers; std::vector<std::thread> workers;
}; };
+31 -30
View File
@@ -1,40 +1,41 @@
#include "scene/Renderer.h" #include "scene/Renderer.h"
#include "util/ModelLoader.h" #include "util/ModelLoader.h"
#include "window/Window.h" #include "window/Window.h"
#include <iostream>
#include <imgui.h> #include <imgui.h>
#include <iostream>
int main() int main()
{ {
Renderer scene; Renderer scene;
Window window(1920, 1080); Window window(1920, 1080);
scene.startRender( Camera camera = Camera{
Camera{ .position = glm::vec3(20, 5, 5),
.position = glm::vec3(-2, 5, 5), .target = glm::vec3(0, 0, 0),
.target = glm::vec3(0, 0, 0), };
}, RenderParameter render = RenderParameter{
RenderParameter{ .width = 1920,
.width = 1920, .height = 1080,
.height = 1080, .numSamples = 10000,
.numSamples = 10000, };
}); scene.startRender(camera, render);
while (true)
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(); scene.startRender(camera, render);
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());
} }
return 0; window.update(scene.getImage());
}
return 0;
} }