13 |
|
#define T_TRANSP T_SP1 |
14 |
|
#define istransp(m) (ofun[(m)->otype].flags & T_TRANSP || \ |
15 |
|
(((m)->otype==MAT_WGMDF) & ((m)->oargs.nsargs > 5) \ |
16 |
< |
&& strcmp((m)->oargs.sarg[5], "0"))) |
16 |
> |
&& strcmp((m)->oargs.sarg[5], "0")) || \ |
17 |
> |
(((m)->otype==MAT_BRTDF) & ((m)->oargs.nsargs > 5) \ |
18 |
> |
&& strcmp((m)->oargs.sarg[3], "0") | \ |
19 |
> |
strcmp((m)->oargs.sarg[4], "0") | \ |
20 |
> |
strcmp((m)->oargs.sarg[5], "0"))) |
21 |
|
|
22 |
< |
/* test for completely opaque materials */ |
22 |
> |
/* test for opaque (SHADOW) materials */ |
23 |
|
#define T_OPAQUE T_SP2 |
24 |
|
#define isopaque(m) (ofun[(m)->otype].flags & T_OPAQUE || \ |
25 |
|
(((m)->otype==MAT_WGMDF) & ((m)->oargs.nsargs > 5) \ |
26 |
< |
&& !strcmp((m)->oargs.sarg[5], "0"))) |
26 |
> |
&& !strcmp((m)->oargs.sarg[5], "0")) || \ |
27 |
> |
(((m)->otype==MAT_BRTDF) & ((m)->oargs.nsargs > 5) \ |
28 |
> |
&& !strcmp((m)->oargs.sarg[3], "0") & \ |
29 |
> |
!strcmp((m)->oargs.sarg[4], "0") & \ |
30 |
> |
!strcmp((m)->oargs.sarg[5], "0"))) |
31 |
|
|
32 |
|
/* test if we have a BSDF proxy surface */ |
33 |
|
#define isBSDFproxy(m) (((m)->otype==MAT_BSDF) & ((m)->oargs.nsargs > 0) \ |