--- ray/src/common/view.h 1989/02/02 10:34:24 1.1 +++ ray/src/common/view.h 1990/01/18 23:58:55 1.5 @@ -19,16 +19,22 @@ typedef struct { FVECT vup; /* view up */ double horiz; /* horizontal view size */ double vert; /* vertical view size */ - int hresolu; /* horizontal resolution */ - int vresolu; /* vertical resolution */ - FVECT vhinc; /* computed horizontal increment */ - FVECT vvinc; /* computed vertical increment */ + double hoff; /* horizontal image offset */ + double voff; /* vertical image offset */ + FVECT hvec; /* computed horizontal image vector */ + FVECT vvec; /* computed vertical image vector */ + double hn2; /* DOT(hvec,hvec) */ + double vn2; /* DOT(vvec,vvec) */ } VIEW; /* view parameters */ extern VIEW stdview; extern char *setview(); -#define STDVIEW(h) {VT_PER,0.,0.,0.,0.,1.,0.,0.,0.,1.,45.,45.,h,h} +extern double sqrt(); + +#define viewaspect(v) sqrt((v)->vn2/(v)->hn2) + +#define STDVIEW {VT_PER,0.,0.,0.,0.,1.,0.,0.,0.,1.,45.,45.,0.,0.} #define VIEWSTR "VIEW="