--- ray/src/rt/func.c 1991/06/17 08:51:33 1.17 +++ ray/src/rt/func.c 1991/06/18 08:59:52 1.18 @@ -175,8 +175,10 @@ register int n; return(sum * funcxf.sca); } - if (n == 10) /* dot product */ - return(fray->rod); + if (n == 10) /* dot product (range [-1,1]) */ + return( fray->rod <= -1.0 ? -1.0 : + fray->rod >= 1.0 ? 1.0 : + fray->rod ); if (n == 11) /* scale */ return(funcxf.sca);