--- ray/src/rt/otspecial.h 2003/06/27 06:53:22 2.5 +++ ray/src/rt/otspecial.h 2018/11/08 00:54:07 2.9 @@ -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.9 2018/11/08 00:54:07 greg Exp $ */ /* * Special type flags for objects used in rendering. * Depends on definitions in otypes.h @@ -9,11 +9,22 @@ 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")) + + /* defined in initotypes.c */ +extern OBJREC *findmaterial(OBJREC *o); #ifdef __cplusplus }