diff options
Diffstat (limited to 'src/utils/raytracerutils.cpp')
-rw-r--r-- | src/utils/raytracerutils.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
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 |