From 8acb27a788f24f85f38cf4ca45f2c3124128fa26 Mon Sep 17 00:00:00 2001
From: Vito Caputo <vcaputo@pengaru.com>
Date: Tue, 8 Aug 2017 10:40:14 -0700
Subject: ray: add rudimentary gamma correction

color banding has been quite visible, and somewhat expected with a
direct conversion from the linear float color space to the 8-bit
integral rgb color components.

A simple lookup table is used here to non-linearly map the values, table
generation is taken from Greg Ward's REAL PIXELS gem in Graphics Gems II.
---
 src/modules/ray/ray.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'src/modules')

diff --git a/src/modules/ray/ray.c b/src/modules/ray/ray.c
index 5a2dd40..c0c067e 100644
--- a/src/modules/ray/ray.c
+++ b/src/modules/ray/ray.c
@@ -112,7 +112,8 @@ static ray_scene_t	scene = {
 	.objects = objects,
 	.lights = lights,
 	.ambient_color = { .x = 1.0f, .y = 1.0f, .z = 1.0f },
-	.ambient_brightness = .04f,
+	.ambient_brightness = .1f,
+	.gamma = .55f,
 };
 
 static float	r;
-- 
cgit v1.2.3