| 1 | 
greg | 
2.8 | 
/* RCSid $Id: otspecial.h,v 2.7 2004/06/22 13:40:54 greg Exp $ */ | 
| 2 | 
greg | 
1.1 | 
/* | 
| 3 | 
  | 
  | 
 * Special type flags for objects used in rendering. | 
| 4 | 
  | 
  | 
 * Depends on definitions in otypes.h | 
| 5 | 
greg | 
2.2 | 
 */ | 
| 6 | 
schorsch | 
2.4 | 
#ifndef _RAD_OTSPECIAL_H_ | 
| 7 | 
  | 
  | 
#define _RAD_OTSPECIAL_H_ | 
| 8 | 
  | 
  | 
#ifdef __cplusplus | 
| 9 | 
  | 
  | 
extern "C" { | 
| 10 | 
  | 
  | 
#endif | 
| 11 | 
greg | 
1.1 | 
 | 
| 12 | 
greg | 
2.8 | 
                /* flag for nominally transparent materials */ | 
| 13 | 
  | 
  | 
#define  T_TRANSP       T_SP1 | 
| 14 | 
greg | 
2.6 | 
 | 
| 15 | 
  | 
  | 
                /* flag for completely opaque materials */ | 
| 16 | 
  | 
  | 
#define  T_OPAQUE       T_SP2 | 
| 17 | 
greg | 
1.1 | 
 | 
| 18 | 
greg | 
2.8 | 
#define  istransp(t)    (ofun[t].flags & T_TRANSP) | 
| 19 | 
schorsch | 
2.4 | 
 | 
| 20 | 
greg | 
2.7 | 
#define  isopaque(t)    (ofun[t].flags & T_OPAQUE) | 
| 21 | 
  | 
  | 
 | 
| 22 | 
greg | 
2.8 | 
                /* test if we have a BSDF proxy surface */ | 
| 23 | 
  | 
  | 
#define isBSDFproxy(m)  ((m)->otype == MAT_BSDF && (m)->oargs.nsargs && \ | 
| 24 | 
  | 
  | 
                                strcmp((m)->oargs.sarg[0], "0")) | 
| 25 | 
schorsch | 
2.4 | 
 | 
| 26 | 
  | 
  | 
#ifdef __cplusplus | 
| 27 | 
  | 
  | 
} | 
| 28 | 
  | 
  | 
#endif | 
| 29 | 
  | 
  | 
#endif /* _RAD_OTSPECIAL_H_ */ | 
| 30 | 
  | 
  | 
 |