summaryrefslogtreecommitdiffstats
path: root/libdimension/diffuse.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-02-25 22:03:11 -0500
committerTavian Barnes <tavianator@gmail.com>2010-02-25 22:03:11 -0500
commit40b180db2833e4e6ef835a463ca15ff865ce0d18 (patch)
treeebb3f808374d653cd150852e252e68b9addca8d0 /libdimension/diffuse.c
parentb27ad82573bc70d84bc4213ba00771f4746b36bc (diff)
downloaddimension-40b180db2833e4e6ef835a463ca15ff865ce0d18.tar.xz
Point the normal vectors away from the object.
Diffstat (limited to 'libdimension/diffuse.c')
-rw-r--r--libdimension/diffuse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libdimension/diffuse.c b/libdimension/diffuse.c
index 75d4c52..910e23f 100644
--- a/libdimension/diffuse.c
+++ b/libdimension/diffuse.c
@@ -32,7 +32,7 @@ dmnsn_diffuse_finish_fn(const dmnsn_finish *finish,
dmnsn_vector ray, dmnsn_vector normal)
{
double *diffuse = finish->ptr;
- double diffuse_factor = (*diffuse)*dmnsn_vector_dot(ray, normal);
+ double diffuse_factor = fabs((*diffuse)*dmnsn_vector_dot(ray, normal));
dmnsn_color ret
= dmnsn_color_mul(diffuse_factor, dmnsn_color_illuminate(light, color));
ret.filter = 0.0;