From b58d6db3b6e35cd95342fed9c259399352466614 Mon Sep 17 00:00:00 2001 From: Dynamitos Date: Sun, 26 Jan 2025 20:21:24 +0100 Subject: [PATCH] implemented preview resolution and gamma correction --- src/scene/Renderer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/scene/Renderer.cpp b/src/scene/Renderer.cpp index 89a3640..f5ea04c 100644 --- a/src/scene/Renderer.cpp +++ b/src/scene/Renderer.cpp @@ -94,7 +94,7 @@ void Renderer::render(Camera camera, RenderParameter params) Payload payload; bvh.traceRay(r, payload, 1e-4, 1e20); - accumulator[w + h * params.width] += payload.accumulatedRadiance / float(params.numSamples); + accumulator[w + h * params.width] += payload.accumulatedRadiance; } co_return; }(w, samp)); @@ -103,6 +103,9 @@ void Renderer::render(Camera camera, RenderParameter params) threadPool.runBatch(std::move(batch)); auto end = std::chrono::high_resolution_clock::now(); std::cout << std::chrono::duration_cast(end - start).count() << std::endl; - std::memcpy(image.data(), accumulator.data(), accumulator.size() * sizeof(glm::vec3)); + for (uint32_t i = 0; i < accumulator.size(); ++i) + { + image[i] = glm::pow(glm::max((accumulator[i] / float(samp)), 0.0f), glm::vec3(0.45f)); + } } }