ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/source.h
Revision: 1.4
Committed: Thu Jun 8 09:35:41 1989 UTC (34 years, 10 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 1.3: +5 -2 lines
Log Message:
Changed sorting array to reduce memory exchange time in qsort

File Contents

# Content
1 /* Copyright (c) 1986 Regents of the University of California */
2
3 /* SCCSid "$SunId$ LBL" */
4
5 /*
6 * source.h - header file for ray tracing sources.
7 *
8 * 8/20/85
9 */
10
11 #define SDISTANT 01 /* source distant flag */
12 #define SSKIP 02 /* source skip flag */
13 #define SPROX 04 /* source proximity flag */
14 #define SSPOT 010 /* source spotlight flag */
15
16 typedef struct {
17 float siz; /* output solid angle */
18 float flen; /* focal length */
19 FVECT aim; /* aim direction */
20 } SPOT; /* spotlight */
21
22 typedef struct {
23 short sflags; /* source flags */
24 FVECT sloc; /* direction or position of source */
25 float ss; /* tangent or disk radius */
26 float ss2; /* domega or projected area */
27 union {
28 float prox; /* proximity */
29 SPOT *s; /* spot */
30 } sl; /* localized source information */
31 long ntests, nhits; /* shadow tests and hits */
32 OBJREC *so; /* source object */
33 } SRCREC; /* light source */
34
35 typedef struct {
36 FVECT dir; /* source direction */
37 float dom; /* domega for source */
38 COLOR val; /* contribution */
39 } CONTRIB; /* direct contribution */
40
41 typedef struct {
42 int sno; /* source number */
43 float brt; /* brightness (for comparison) */
44 } CNTPTR; /* contribution pointer */
45
46 extern SRCREC *source; /* our source list */
47 extern int nsources; /* the number of sources */
48
49 extern double srcray(); /* ray to source */
50
51 extern SPOT *makespot(); /* make spotlight */