summaryrefslogtreecommitdiffstats
path: root/libdimension/raytrace.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-11-19 14:30:41 -0500
committerTavian Barnes <tavianator@gmail.com>2010-11-19 14:30:41 -0500
commit6137aed0179476eaa626660885f01ea3f04f988a (patch)
treee23b07cac6c9b8df58d9700e8a2fa2c719cf965b /libdimension/raytrace.c
parent30cb9cb572cf8fa942faff7384580e5e2a06a7b3 (diff)
downloaddimension-6137aed0179476eaa626660885f01ea3f04f988a.tar.xz
Support global ambient_light.
Diffstat (limited to 'libdimension/raytrace.c')
-rw-r--r--libdimension/raytrace.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libdimension/raytrace.c b/libdimension/raytrace.c
index 74f4557..e6596e4 100644
--- a/libdimension/raytrace.c
+++ b/libdimension/raytrace.c
@@ -337,9 +337,11 @@ dmnsn_raytrace_light_ray(const dmnsn_raytrace_state *state,
static void
dmnsn_raytrace_lighting(dmnsn_raytrace_state *state)
{
- /* The illuminated color */
+ /* The ambient color */
state->diffuse = TEXTURE_CALLBACK(state, finish, ambient_fn, dmnsn_black,
state->pigment);
+ state->diffuse = dmnsn_color_illuminate(state->scene->ambient,
+ state->diffuse);
if (!TEXTURE_HAS_CALLBACK(state, finish, diffuse_fn)
&& !TEXTURE_HAS_CALLBACK(state, finish, specular_fn))