| 1 | < | /* Copyright (c) 1998 Silicon Graphics, Inc. */ | 
| 2 | < |  | 
| 3 | < | /* SCCSid "$SunId$ SGI" */ | 
| 4 | < |  | 
| 1 | > | /* RCSid $Id$ */ | 
| 2 |  | /* | 
| 3 |  | * Quadtree data structures for holodeck display drivers. | 
| 4 |  | */ | 
| 5 | + | #ifndef _RAD_RHD_QTREE_H_ | 
| 6 | + | #define _RAD_RHD_QTREE_H_ | 
| 7 |  |  | 
| 8 | + | #include "color.h" | 
| 9 |  | #include "tonemap.h" | 
| 10 |  | #include "rhdriver.h" | 
| 11 |  |  | 
| 12 | + | #ifdef __cplusplus | 
| 13 | + | extern "C" { | 
| 14 | + | #endif | 
| 15 | + |  | 
| 16 |  | #define DL              0               /* down left */ | 
| 17 |  | #define DR              1               /* down right */ | 
| 18 |  | #define UL              2               /* up left */ | 
| 37 |  |  | 
| 38 |  | extern struct rleaves { | 
| 39 |  | float           (*wp)[3];       /* world intersection point array */ | 
| 40 | < | int4            *wd;            /* world direction array */ | 
| 40 | > | int32           *wd;            /* world direction array */ | 
| 41 |  | TMbright        *brt;           /* encoded brightness array */ | 
| 42 |  | BYTE            (*chr)[3];      /* encoded chrominance array */ | 
| 43 |  | BYTE            (*rgb)[3];      /* tone-mapped color array */ | 
| 55 |  |  | 
| 56 |  | extern int      rayqleft;       /* number of rays to queue before flush */ | 
| 57 |  |  | 
| 58 | < | extern int4     encodedir(); | 
| 58 | > | extern TMstruct *tmGlobal;      /* global tone-mapping structure */ | 
| 59 | > |  | 
| 60 | > | /* | 
| 61 | > | extern int32    encodedir(); | 
| 62 |  | extern double   fdir2diff(), dir2diff(); | 
| 63 | + | */ | 
| 64 | + |  | 
| 65 | + | /* rhd_qtree.c */ | 
| 66 | + | extern int qtAllocLeaves(register int n); | 
| 67 | + | extern void qtFreeLeaves(void); | 
| 68 | + | extern int qtCompost(int pct); | 
| 69 | + | extern void qtReplant(void); | 
| 70 | + | extern int qtFindLeaf(int x, int y); | 
| 71 | + | extern int qtMapLeaves(int redo); | 
| 72 | + | /* rhd_qtree2c.c rhd_qtree2r.c */ | 
| 73 | + | extern void qtRedraw(int x0, int y0, int x1, int y1); | 
| 74 | + | extern void qtUpdate(void); | 
| 75 | + |  | 
| 76 | + | #ifdef __cplusplus | 
| 77 | + | } | 
| 78 | + | #endif | 
| 79 | + | #endif /* _RAD_RHD_QTREE_H_ */ | 
| 80 | + |  |