#ifndef POST_PROCESSING_H #define POST_PROCESSING_H #include "cglm/struct/vec4.h" #include "cglm/struct/mat4.h" // Maybe full aces later inline vec4s aces_tone_map(const vec4s color) { vec4s mapped_color = color; float a = 2.51f; float b = 0.03f; float c = 2.43f; float d = 0.59f; float e = 0.14f; mapped_color.x = (color.x * (a * color.x + b)) / (color.x * (c * color.x + d) + e); mapped_color.y = (color.y * (a * color.y + b)) / (color.y * (c * color.y + d) + e); mapped_color.z = (color.z * (a * color.z + b)) / (color.z * (c * color.z + d) + e); return mapped_color; } #endif // POST_PROCESSING_H