ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/glare.h
Revision: 1.9
Committed: Wed Mar 20 13:47:38 1991 UTC (33 years, 1 month ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 1.8: +2 -0 lines
Log Message:
switched on DEBUG

File Contents

# User Rev Content
1 greg 1.1 /* Copyright (c) 1991 Regents of the University of California */
2    
3     /* SCCSid "$SunId$ LBL" */
4    
5     /*
6     * Common data structures for glare source finding routines
7     */
8    
9 greg 1.9 #define DEBUG 1
10    
11 greg 1.1 #include "standard.h"
12     #include "view.h"
13     #include "color.h"
14     #include "setscan.h"
15    
16     #define GLAREBR 10.0 /* glare source is this * avg. lum. */
17    
18 greg 1.4 #define SAMPDENS 50 /* default samples per unit in image */
19 greg 1.1 #define TSAMPSTEP 10 /* sample step to compute threshold */
20    
21     #define SEPS 2 /* sources this close ==> contig. */
22    
23 greg 1.8 #define SAMIN .005 /* minimum solid angle for source */
24     #define MAXBUDDY (4.*sqrt(SAMIN/PI)) /* max separation for pairing */
25    
26     #define TOOSMALL(s) ((s)->brt*(s)->dom < threshold*SAMIN)
27    
28 greg 1.1 extern VIEW ourview; /* our view */
29     extern VIEW pictview; /* picture view */
30     extern VIEW leftview, rightview; /* leftmost and rightmost views */
31    
32     extern int verbose; /* verbose reporting */
33     extern char *progname; /* global argv[0] */
34    
35 greg 1.7 extern double threshold; /* threshold value for glare sources */
36    
37 greg 1.4 extern int sampdens; /* sample density */
38 greg 1.1 extern ANGLE glarang[]; /* glare calculation angles */
39     extern int nglarangs;
40 greg 1.2 extern double maxtheta; /* maximum glare angle (in radians) */
41 greg 1.1 extern int hsize; /* horizontal size */
42     extern int hlim; /* horizontal limit of central view */
43    
44     #define nglardirs (2*nglarangs+1)
45 greg 1.5 #define vsize (sampdens-1)
46 greg 1.4 #define h_theta(h) (-(double)(h)/(double)sampdens)
47 greg 1.1
48     extern struct illum {
49     float theta; /* glare direction */
50     float lcos, lsin; /* cosine and sine to left view */
51     float rcos, rsin; /* cosine and sine to right view */
52     double sum; /* sum of indirect luminances */
53     int n; /* number of values in sum */
54     } *indirect; /* array of indirect illuminances */
55    
56     struct srcspan {
57     short v; /* vertical position */
58     short l, r; /* left and right horizontal limits */
59     float brsum; /* sum of brightnesses for this span */
60     struct srcspan *next; /* next source span in list */
61     };
62    
63     extern struct source {
64     FVECT dir; /* source direction */
65 greg 1.6 double dom; /* solid angle of source */
66     double brt; /* average source brightness */
67 greg 1.1 struct srcspan *first; /* first span for this source */
68     struct source *next; /* next source in list */
69     } *donelist; /* finished sources */
70    
71     extern double getviewpix();