97 |
|
|
98 |
|
typedef void oputf_t(RAY *r); |
99 |
|
static oputf_t oputo, oputd, oputv, oputl, oputL, oputc, |
100 |
< |
oputp, oputn, oputN, oputs, oputw, oputm; |
100 |
> |
oputp, oputn, oputN, oputs, oputw, oputm, oputM; |
101 |
|
|
102 |
|
static void setoutput(char *vs); |
103 |
|
static void tranotify(OBJECT obj); |
274 |
|
case 'm': /* modifier */ |
275 |
|
*table++ = oputm; |
276 |
|
break; |
277 |
+ |
case 'M': /* material */ |
278 |
+ |
*table++ = oputM; |
279 |
+ |
break; |
280 |
|
} |
281 |
|
*table = NULL; |
282 |
|
} |
615 |
|
else |
616 |
|
fputs(VOIDID, stdout); |
617 |
|
else |
618 |
+ |
putchar('*'); |
619 |
+ |
putchar('\t'); |
620 |
+ |
} |
621 |
+ |
|
622 |
+ |
|
623 |
+ |
static void |
624 |
+ |
oputM( /* print material */ |
625 |
+ |
RAY *r |
626 |
+ |
) |
627 |
+ |
{ |
628 |
+ |
OBJREC *mat; |
629 |
+ |
|
630 |
+ |
if (r->ro != NULL) { |
631 |
+ |
if ((mat = findmaterial(r->ro)) != NULL) |
632 |
+ |
fputs(mat->oname, stdout); |
633 |
+ |
else |
634 |
+ |
fputs(VOIDID, stdout); |
635 |
+ |
} else |
636 |
|
putchar('*'); |
637 |
|
putchar('\t'); |
638 |
|
} |