From caa765bff49d54217b75aaf0e7acf4e5392a11e4 Mon Sep 17 00:00:00 2001 From: sotech117 Date: Thu, 7 Dec 2023 16:23:20 -0500 Subject: upload base code --- src/utils/raytracerutils.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/utils/raytracerutils.cpp (limited to 'src/utils/raytracerutils.cpp') diff --git a/src/utils/raytracerutils.cpp b/src/utils/raytracerutils.cpp new file mode 100644 index 0000000..bdb49a4 --- /dev/null +++ b/src/utils/raytracerutils.cpp @@ -0,0 +1,21 @@ +// +// Created by Michael Foiani on 11/4/23. +// + +#include "raytracer/raytracer.h" + +// Helper function to convert illumination to RGBA, applying some form of tone-mapping (e.g. clamping) in the process +RGBA RayTracer::toRGBA(const glm::vec4 &illumination) { + // Task 1 + return RGBA + { + (std::uint8_t) (255 * std::clamp(illumination.r, 0.f, 1.f)), + (std::uint8_t) (255 * std::clamp(illumination.g, 0.f, 1.f)), + (std::uint8_t) (255 * std::clamp(illumination.b, 0.f, 1.f)), + (std::uint8_t) (255 * std::clamp(illumination.b, 0.f, 1.f)) + }; +} + +bool RayTracer::floatEquals(float a, float b, float epsilon) { + return std::abs(a - b) <= epsilon; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2