--- ray/src/hd/rholo.h 1998/06/03 16:39:14 3.14 +++ ray/src/hd/rholo.h 1999/01/31 10:56:57 3.18 @@ -1,4 +1,4 @@ -/* Copyright (c) 1997 Silicon Graphics, Inc. */ +/* Copyright (c) 1998 Silicon Graphics, Inc. */ /* SCCSid "$SunId$ SGI" */ @@ -18,7 +18,7 @@ typedef struct packet { int4 bi; /* beam index (second) */ int4 nr; /* number of rays (third) */ int4 nc; /* number calculated (fourth) */ - RAYVAL ra[RPACKSIZ]; /* ray values (fourth) */ + RAYVAL ra[RPACKSIZ]; /* ray values (fifth) */ float *offset; /* offset array if !vbool(OBSTRUCTIONS) */ struct packet *next; /* next in packet list */ } PACKET; /* a beam packet */ @@ -33,29 +33,38 @@ typedef struct { #define packsiz(nr) (sizeof(PACKHEAD)+(nr)*sizeof(RAYVAL)) #define packra(p) ((RAYVAL *)((p)+1)) +typedef struct { + FVECT vpt; /* view (eye point) position */ + double rng; /* desired mean radius for sample rays */ +} VIEWPOINT; /* target eye position */ + /* input variables */ #define CACHE 0 /* amount of memory to use as cache */ #define DISKSPACE 1 /* how much disk space to use */ #define EYESEP 2 /* eye separation distance */ -#define GRID 3 /* target grid size */ -#define OBSTRUCTIONS 4 /* shall we track obstructions? */ -#define OCTREE 5 /* octree file name */ -#define RENDER 6 /* rendering options */ -#define REPORT 7 /* report interval and error file */ -#define RIF 8 /* rad input file */ -#define SECTION 9 /* holodeck section boundaries */ -#define TIME 10 /* maximum rendering time */ -#define VDIST 11 /* virtual distance calculation */ +#define GEOMETRY 3 /* section geometry */ +#define GRID 4 /* target grid size */ +#define OBSTRUCTIONS 5 /* shall we track obstructions? */ +#define OCTREE 6 /* octree file name */ +#define PORTS 7 /* section portals */ +#define RENDER 8 /* rendering options */ +#define REPORT 9 /* report interval and error file */ +#define RIF 10 /* rad input file */ +#define SECTION 11 /* holodeck section boundaries */ +#define TIME 12 /* maximum rendering time */ +#define VDIST 13 /* virtual distance calculation */ -#define NRHVARS 12 /* number of variables */ +#define NRHVARS 14 /* number of variables */ #define RHVINIT { \ {"CACHE", 2, 0, NULL, fltvalue}, \ {"DISKSPACE", 3, 0, NULL, fltvalue}, \ {"EYESEP", 3, 0, NULL, fltvalue}, \ + {"geometry", 3, 0, NULL, NULL}, \ {"GRID", 2, 0, NULL, fltvalue}, \ {"OBSTRUCTIONS",3, 0, NULL, boolvalue}, \ {"OCTREE", 3, 0, NULL, onevalue}, \ + {"portals", 3, 0, NULL, NULL}, \ {"render", 3, 0, NULL, catvalues}, \ {"REPORT", 3, 0, NULL, onevalue}, \ {"RIF", 3, 0, NULL, onevalue}, \ @@ -86,6 +95,8 @@ extern int ncprocs; /* number of requested compute pro extern int nprocs; /* number of running compute processes */ extern double expval; /* global exposure value */ + +extern VIEWPOINT myeye; /* target view position */ extern time_t starttime; /* time we got started */ extern time_t endtime; /* time we should end by */