ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/radogl.h
(Generate patch)

Comparing ray/src/common/radogl.h (file contents):
Revision 3.1 by gwlarson, Tue Jun 9 11:18:36 1998 UTC vs.
Revision 3.4 by greg, Sat Feb 22 02:07:22 2003 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1998 Silicon Graphics, Inc. */
2 <
3 < /* SCCSid "$SunId$ SGI" */
4 <
1 > /* RCSid: $Id$ */
2   /*
3   * Header file for Radiance - OpenGL routines.
4   */
5  
6 + /* ====================================================================
7 + * The Radiance Software License, Version 1.0
8 + *
9 + * Copyright (c) 1990 - 2002 The Regents of the University of California,
10 + * through Lawrence Berkeley National Laboratory.   All rights reserved.
11 + *
12 + * Redistribution and use in source and binary forms, with or without
13 + * modification, are permitted provided that the following conditions
14 + * are met:
15 + *
16 + * 1. Redistributions of source code must retain the above copyright
17 + *         notice, this list of conditions and the following disclaimer.
18 + *
19 + * 2. Redistributions in binary form must reproduce the above copyright
20 + *       notice, this list of conditions and the following disclaimer in
21 + *       the documentation and/or other materials provided with the
22 + *       distribution.
23 + *
24 + * 3. The end-user documentation included with the redistribution,
25 + *           if any, must include the following acknowledgment:
26 + *             "This product includes Radiance software
27 + *                 (http://radsite.lbl.gov/)
28 + *                 developed by the Lawrence Berkeley National Laboratory
29 + *               (http://www.lbl.gov/)."
30 + *       Alternately, this acknowledgment may appear in the software itself,
31 + *       if and wherever such third-party acknowledgments normally appear.
32 + *
33 + * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
34 + *       and "The Regents of the University of California" must
35 + *       not be used to endorse or promote products derived from this
36 + *       software without prior written permission. For written
37 + *       permission, please contact [email protected].
38 + *
39 + * 5. Products derived from this software may not be called "Radiance",
40 + *       nor may "Radiance" appear in their name, without prior written
41 + *       permission of Lawrence Berkeley National Laboratory.
42 + *
43 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
44 + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
45 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
46 + * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
47 + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
48 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
49 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
50 + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
51 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
52 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
53 + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
54 + * SUCH DAMAGE.
55 + * ====================================================================
56 + *
57 + * This software consists of voluntary contributions made by many
58 + * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
59 + * information on Lawrence Berkeley National Laboratory, please see
60 + * <http://www.lbl.gov/>.
61 + */
62 +
63   #include "standard.h"
64 + #include <GL/glu.h>
65   #include "color.h"
66   #include "object.h"
67   #include "otypes.h"
68   #include "lookup.h"
14 #include <GL/glu.h>
69  
70   #define MAXLIGHTS       8       /* number of OGL light sources */
71  
# Line 37 | Line 91 | typedef struct {
91  
92   extern double   expval;         /* global exposure value */
93   extern COLOR    ambval;         /* global ambient value */
94 + extern int      glightid[MAXLIGHTS];    /* OpenGL GL_LIGHTi values */
95   extern int      dolights;       /* are we outputting light sources? */
96   extern int      domats;         /* are we doing materials? */
97  
98   extern LUTAB    mtab;           /* material/modifier lookup table */
99  
100 < extern MATREC   *newmaterial(), *getmatp();
100 > #define issrcmat(m)     ((m) != NULL && islight((m)->type) && \
101 >                                (m)->type != MAT_GLOW)
102  
103 < extern int      newglist();
103 > #ifdef NOPROTO
104  
105 + extern void     domatobj();
106 + extern void     domatvert();
107 + extern int      newglist();
108 + extern void     rgl_checkerr();
109 + extern int      rgl_filelist();
110 + extern int      rgl_octlist();
111 + extern void     rgl_load();
112 + extern void     rgl_object();
113 + extern int      o_instance();
114 + extern int      loadoctrees();
115   extern double   checkoct();
116 + extern int      loadoct();
117 + extern void     rgl_matclear();
118 + extern MATREC   *getmatp();
119 + extern int      o_default();
120 + extern MATREC   *newmaterial();
121 + extern void     freemtl();
122 + extern int      m_normal();
123 + extern int      m_aniso();
124 + extern int      m_glass();
125 + extern int      m_brdf();
126 + extern int      m_brdf2();
127 + extern int      m_light();
128 + extern int      m_mirror();
129 + extern int      m_prism();
130 + extern void     lightinit();
131 + extern void     lightclean();
132 + extern void     lightdefs();
133 + extern int      o_source();
134 + extern int      doflatsrc();
135 + extern int      dosphsrc();
136 + extern void     setmaterial();
137 + extern double   polyarea();
138 + extern int      o_face();
139 + extern void     surfclean();
140 + extern int      o_sphere();
141 + extern int      o_cone();
142 + extern int      o_ring();
143  
144 < #define issrcmat(m)     ((m) != NULL && islight((m)->type) && \
145 <                                (m)->type != MAT_GLOW)
144 > #else
145 >                                /* defined in rgldomat.c */
146 > extern void     domatobj(MATREC *mp, FVECT cent);
147 > extern void     domatvert(MATREC *mp, FVECT v, FVECT n);
148 >                                /* defined in rglfile.c */
149 > extern int      newglist(void);
150 > extern void     rgl_checkerr(char *where);
151 > extern int      rgl_filelist(int ic, char **inp, int *nl);
152 > extern int      rgl_octlist(char *fname, FVECT cent, FLOAT *radp, int *nl);
153 > extern void     rgl_load(char *inpspec);
154 > extern void     rgl_object(char *name, FILE *fp);
155 >                                /* defined in rglinst.c */
156 > extern int      o_instance(OBJREC *o);
157 > extern int      loadoctrees(void);
158 > extern double   checkoct(char *fname, FVECT cent);
159 > extern int      loadoct(char *fname);
160 >                                /* defined in rglmat.c */
161 > extern void     rgl_matclear(void);
162 > extern MATREC   *getmatp(char *nam);
163 > extern int      o_default(OBJREC *o);
164 > extern MATREC   *newmaterial(char *nam);
165 > extern void     freemtl(MATREC *mp);
166 > extern int      m_normal(OBJREC *o);
167 > extern int      m_aniso(OBJREC *o);
168 > extern int      m_glass(OBJREC *o);
169 > extern int      m_brdf(OBJREC *o);
170 > extern int      m_brdf2(OBJREC *o);
171 > extern int      m_light(OBJREC *o);
172 > extern int      m_mirror(OBJREC *o);
173 > extern int      m_prism(OBJREC *o);
174 >                                /* defined in rglsrc.c */
175 > extern void     lightinit(void);
176 > extern void     lightclean(void);
177 > extern void     lightdefs(void);
178 > extern int      o_source(OBJREC *o);
179 > extern int      doflatsrc(MATREC *m, FVECT pos, FVECT norm, double area);
180 > extern int      dosphsrc(MATREC *m, FVECT pos, double area);
181 >                                /* defined in rglsurf.c */
182 > extern void     setmaterial(MATREC *mp, FVECT cent, int ispoly);
183 > extern double   polyarea(FVECT cent, FVECT norm, int n, FVECT v[]);
184 > extern int      o_face(OBJREC *o);
185 > extern void     surfclean(void);
186 > extern int      o_sphere(OBJREC *o);
187 > extern int      o_cone(OBJREC *o);
188 > extern int      o_ring(OBJREC *o);
189 >
190 > #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines