1개월 전 · Jul 16, 2026 1:43 PM
Compressing high dynamic range (HDR) light values ($[0, \infty)$) into displayable LDR $[0, 1]$:
- Reinhard:
vec3 ldr = hdr / (hdr + vec3(1.0));(Simple, but washes out color saturation in bright areas). - ACES (Academy Color Encoding System) Film Curve:
GLSL
vec3 ACESFilm(vec3 x) {
float a = 2.51f;
float b = 0.03f;
float c = 2.43f;
float d = 0.59f;
float e = 0.14f;
return clamp((x * (a * x + b)) / (x * (c * x + d) + e), 0.0, 1.0);
}ACES preserves color vibrancy in highlights and gives games a cinematic, high-contrast film aesthetic!