--- ray/src/rt/otspecial.h 2003/06/27 06:53:22 2.5 +++ ray/src/rt/otspecial.h 2018/01/09 05:01:15 2.8 @@ -1,4 +1,4 @@ -/* RCSid $Id: otspecial.h,v 2.5 2003/06/27 06:53:22 greg Exp $ */ +/* RCSid $Id: otspecial.h,v 2.8 2018/01/09 05:01:15 greg Exp $ */ /* * Special type flags for objects used in rendering. * Depends on definitions in otypes.h @@ -9,11 +9,19 @@ extern "C" { #endif - /* flag for materials to ignore during irradiance comp. */ -#define T_IRR_IGN T_SP1 + /* flag for nominally transparent materials */ +#define T_TRANSP T_SP1 -#define irr_ignore(t) (ofun[t].flags & T_IRR_IGN) + /* flag for completely opaque materials */ +#define T_OPAQUE T_SP2 +#define istransp(t) (ofun[t].flags & T_TRANSP) + +#define isopaque(t) (ofun[t].flags & T_OPAQUE) + + /* test if we have a BSDF proxy surface */ +#define isBSDFproxy(m) ((m)->otype == MAT_BSDF && (m)->oargs.nsargs && \ + strcmp((m)->oargs.sarg[0], "0")) #ifdef __cplusplus }