ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/initotypes.c
(Generate patch)

Comparing ray/src/rt/initotypes.c (file contents):
Revision 1.3 by greg, Wed May 1 11:45:09 1991 UTC vs.
Revision 2.7 by greg, Sat Feb 22 02:07:28 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1990 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   * Initialize ofun[] list for renderers
6   */
7  
8 + /* ====================================================================
9 + * The Radiance Software License, Version 1.0
10 + *
11 + * Copyright (c) 1990 - 2002 The Regents of the University of California,
12 + * through Lawrence Berkeley National Laboratory.   All rights reserved.
13 + *
14 + * Redistribution and use in source and binary forms, with or without
15 + * modification, are permitted provided that the following conditions
16 + * are met:
17 + *
18 + * 1. Redistributions of source code must retain the above copyright
19 + *         notice, this list of conditions and the following disclaimer.
20 + *
21 + * 2. Redistributions in binary form must reproduce the above copyright
22 + *       notice, this list of conditions and the following disclaimer in
23 + *       the documentation and/or other materials provided with the
24 + *       distribution.
25 + *
26 + * 3. The end-user documentation included with the redistribution,
27 + *           if any, must include the following acknowledgment:
28 + *             "This product includes Radiance software
29 + *                 (http://radsite.lbl.gov/)
30 + *                 developed by the Lawrence Berkeley National Laboratory
31 + *               (http://www.lbl.gov/)."
32 + *       Alternately, this acknowledgment may appear in the software itself,
33 + *       if and wherever such third-party acknowledgments normally appear.
34 + *
35 + * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
36 + *       and "The Regents of the University of California" must
37 + *       not be used to endorse or promote products derived from this
38 + *       software without prior written permission. For written
39 + *       permission, please contact [email protected].
40 + *
41 + * 5. Products derived from this software may not be called "Radiance",
42 + *       nor may "Radiance" appear in their name, without prior written
43 + *       permission of Lawrence Berkeley National Laboratory.
44 + *
45 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
46 + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
47 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48 + * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
49 + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
50 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
51 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
52 + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
53 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
55 + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
56 + * SUCH DAMAGE.
57 + * ====================================================================
58 + *
59 + * This software consists of voluntary contributions made by many
60 + * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
61 + * information on Lawrence Berkeley National Laboratory, please see
62 + * <http://www.lbl.gov/>.
63 + */
64 +
65   #include  "standard.h"
66  
67   #include  "otypes.h"
# Line 20 | Line 74 | extern int  o_cone();
74   extern int  o_instance();
75   extern int  m_light();
76   extern int  m_normal();
77 + extern int  m_aniso();
78   extern int  m_dielectric();
79 + extern int  m_mist();
80   extern int  m_glass();
81   extern int  m_clip();
82 + extern int  m_mirror();
83 + extern int  m_direct();
84   extern int  m_brdf();
85 + extern int  m_brdf2();
86   extern int  t_func(), t_data();
87   extern int  p_cfunc(), p_bfunc();
88   extern int  p_pdata(), p_cdata(), p_bdata();
89 < extern int  mx_func(), mx_data();
90 < extern int  text();
89 > extern int  mx_func(), mx_data(), mx_pdata();
90 > extern int  do_text();
91  
92   FUN  ofun[NUMOTYPE] = INIT_OTYPE;
93  
# Line 52 | Line 111 | initotypes()                   /* initialize ofun array */
111          ofun[MAT_METAL].funp =
112          ofun[MAT_TRANS].funp = m_normal;
113          ofun[MAT_TRANS].flags |= T_IRR_IGN;
114 +        ofun[MAT_PLASTIC2].funp =
115 +        ofun[MAT_METAL2].funp =
116 +        ofun[MAT_TRANS2].funp = m_aniso;
117 +        ofun[MAT_TRANS2].flags |= T_IRR_IGN;
118          ofun[MAT_DIELECTRIC].funp =
119          ofun[MAT_INTERFACE].funp = m_dielectric;
120          ofun[MAT_DIELECTRIC].flags |= T_IRR_IGN;
121          ofun[MAT_INTERFACE].flags |= T_IRR_IGN;
122 +        ofun[MAT_MIST].funp = m_mist;
123 +        ofun[MAT_MIST].flags |= T_IRR_IGN;
124          ofun[MAT_GLASS].funp = m_glass;
125          ofun[MAT_GLASS].flags |= T_IRR_IGN;
126 +        ofun[MAT_MIRROR].funp = m_mirror;
127 +        ofun[MAT_DIRECT1].funp =
128 +        ofun[MAT_DIRECT2].funp = m_direct;
129          ofun[MAT_CLIP].funp = m_clip;
130 +        ofun[MAT_BRTDF].funp = m_brdf;
131          ofun[MAT_PFUNC].funp =
132          ofun[MAT_MFUNC].funp =
133          ofun[MAT_PDATA].funp =
134 <        ofun[MAT_MDATA].funp = m_brdf;
134 >        ofun[MAT_MDATA].funp =
135 >        ofun[MAT_TFUNC].funp =
136 >        ofun[MAT_TDATA].funp = m_brdf2;
137          ofun[TEX_FUNC].funp = t_func;
138          ofun[TEX_DATA].funp = t_data;
139          ofun[PAT_CFUNC].funp = p_cfunc;
# Line 72 | Line 143 | initotypes()                   /* initialize ofun array */
143          ofun[PAT_BDATA].funp = p_bdata;
144          ofun[PAT_CTEXT].funp =
145          ofun[PAT_BTEXT].funp =
146 <        ofun[MIX_TEXT].funp = text;
146 >        ofun[MIX_TEXT].funp = do_text;
147          ofun[MIX_FUNC].funp = mx_func;
148          ofun[MIX_DATA].funp = mx_data;
149 +        ofun[MIX_PICT].funp = mx_pdata;
150   }
151  
152  
153   o_default()                     /* default action is error */
154   {
155          error(INTERNAL, "unexpected object call");
156 +                                /* call to pull in freeobjmem.o */
157 +        free_objs(0, 0);
158   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines