642 |
|
) |
643 |
|
{ |
644 |
|
RREAL contr[3]; |
645 |
+ |
/* shadow ray not on source? */ |
646 |
+ |
if (r->rsrc >= 0 && source[r->rsrc].so != r->ro) |
647 |
+ |
setcolor(contr, 0.0, 0.0, 0.0); |
648 |
+ |
else |
649 |
+ |
raycontrib(contr, r, PRIMARY); |
650 |
|
|
646 |
– |
raycontrib(contr, r, PRIMARY); |
651 |
|
(*putreal)(contr, 3); |
652 |
|
} |
653 |
|
|
712 |
|
static void |
713 |
|
putd(RREAL *v, int n) /* print binary double(s) */ |
714 |
|
{ |
715 |
< |
if (sizeof(RREAL) != sizeof(double)) |
715 |
> |
#ifdef SMLFLT |
716 |
> |
double da[3]; |
717 |
> |
int i; |
718 |
> |
|
719 |
> |
if (n > 3) |
720 |
|
error(INTERNAL, "code error in putd()"); |
721 |
+ |
for (i = n; i--; ) |
722 |
+ |
da[i] = v[i]; |
723 |
+ |
fwrite(da, sizeof(double), n, stdout); |
724 |
+ |
#else |
725 |
|
fwrite(v, sizeof(RREAL), n, stdout); |
726 |
+ |
#endif |
727 |
|
} |
728 |
|
|
729 |
|
|
730 |
|
static void |
731 |
|
putf(RREAL *v, int n) /* print binary float(s) */ |
732 |
|
{ |
733 |
+ |
#ifndef SMLFLT |
734 |
|
float fa[3]; |
735 |
|
int i; |
736 |
|
|
739 |
|
for (i = n; i--; ) |
740 |
|
fa[i] = v[i]; |
741 |
|
fwrite(fa, sizeof(float), n, stdout); |
742 |
+ |
#else |
743 |
+ |
fwrite(v, sizeof(RREAL), n, stdout); |
744 |
+ |
#endif |
745 |
|
} |