ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/source.h
Revision: 1.3
Committed: Wed Jun 7 10:29:01 1989 UTC (34 years, 10 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 1.2: +14 -0 lines
Log Message:
reinstated spot and glow types

File Contents

# User Rev Content
1 greg 1.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 greg 1.3 #define SPROX 04 /* source proximity flag */
14     #define SSPOT 010 /* source spotlight flag */
15 greg 1.1
16     typedef struct {
17 greg 1.3 float siz; /* output solid angle */
18     float flen; /* focal length */
19     FVECT aim; /* aim direction */
20     } SPOT; /* spotlight */
21    
22     typedef struct {
23 greg 1.1 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 greg 1.3 union {
28     float prox; /* proximity */
29     SPOT *s; /* spot */
30     } sl; /* localized source information */
31 greg 1.2 long ntests, nhits; /* shadow tests and hits */
32 greg 1.1 OBJREC *so; /* source object */
33 greg 1.2 } SRCREC; /* light source */
34 greg 1.1
35 greg 1.2 typedef struct {
36     int sno; /* source number */
37     FVECT dir; /* source direction */
38     float dom; /* domega for source */
39     float brt; /* brightness (for comparison) */
40     COLOR val; /* contribution */
41     } CONTRIB; /* direct contribution */
42 greg 1.1
43 greg 1.2 extern SRCREC *source; /* our source list */
44 greg 1.1 extern int nsources; /* the number of sources */
45    
46 greg 1.2 extern double srcray(); /* ray to source */
47 greg 1.3
48     extern SPOT *makespot(); /* make spotlight */