2 * blenlib/DNA_lamp_types.h (mar-2001 nzc)
6 * ***** BEGIN GPL LICENSE BLOCK *****
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software Foundation,
20 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23 * All rights reserved.
25 * The Original Code is: all of this file.
27 * Contributor(s): none yet.
29 * ***** END GPL LICENSE BLOCK *****
31 #ifndef DNA_LAMP_TYPES_H
32 #define DNA_LAMP_TYPES_H
47 struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
52 short colormodel, totex;
54 float shdwr, shdwg, shdwb, shdwpad;
56 float energy, dist, spotsize, spotblend;
60 float att1, att2; /* Quad1 and Quad2 attenuation */
61 struct CurveMapping *curfalloff;
65 float clipsta, clipend, shadspotsize;
67 short bufsize, samp, buffers, filtertype;
68 char bufflag, buftype;
70 short ray_samp, ray_sampy, ray_sampz;
73 float area_size, area_sizey, area_sizez;
75 short ray_samp_method;
78 /* texact is for buttons */
79 short texact, shadhalostep;
82 short sun_effect_type;
84 float horizon_brightness;
88 float backscattered_light;
91 float atm_inscattering_factor;
92 float atm_extinction_factor;
93 float atm_distance_factor;
96 short sky_colorspace, pad4;
98 /* yafray: photonlight params */
99 int YF_numphotons, YF_numsearch;
100 short YF_phdepth, YF_useqmc, YF_bufsize, YF_pad;
101 float YF_causticblur, YF_ltradius;
102 /* yafray: glow params */
103 float YF_glowint, YF_glowofs;
104 short YF_glowtype, YF_pad2;
106 struct Ipo *ipo; // XXX depreceated... old animation system
107 struct MTex *mtex[18]; /* MAX_MTEX */
108 short pr_texture, pad[3];
111 struct PreviewImage *preview;
114 /* **************** LAMP ********************* */
117 #define LA_DS_EXPAND 1
125 /* yafray: extra lamp type used for caustic photonmap */
126 #define LA_YF_PHOTON 5
129 #define LA_SHAD_BUF 1
132 #define LA_QUAD 8 /* no longer used */
134 #define LA_ONLYSHADOW 32
136 #define LA_SQUARE 128
137 #define LA_TEXTURE 256
138 #define LA_OSATEX 512
139 #define LA_DEEP_SHADOW 1024
140 #define LA_NO_DIFF 2048
141 #define LA_NO_SPEC 4096
142 #define LA_SHAD_RAY 8192
143 /* yafray: lamp shadowbuffer flag, softlight */
144 /* Since it is used with LOCAL lamp, can't use LA_SHAD */
145 #define LA_YF_SOFT 16384
146 #define LA_LAYER_SHADOW 32768
147 #define LA_SHAD_TEX (1<<16)
150 #define LA_LAYER_SHADOW_BOTH 0
151 #define LA_LAYER_SHADOW_CAST 1
152 #define LA_LAYER_SHADOW_RECEIVE 2
155 #define LA_SUN_EFFECT_SKY 1
156 #define LA_SUN_EFFECT_AP 2
159 #define LA_FALLOFF_CONSTANT 0
160 #define LA_FALLOFF_INVLINEAR 1
161 #define LA_FALLOFF_INVSQUARE 2
162 #define LA_FALLOFF_CURVE 3
163 #define LA_FALLOFF_SLIDERS 4
166 /* buftype, no flag */
167 #define LA_SHADBUF_REGULAR 0
168 #define LA_SHADBUF_IRREGULAR 1
169 #define LA_SHADBUF_HALFWAY 2
171 /* bufflag, auto clipping */
172 #define LA_SHADBUF_AUTO_START 1
173 #define LA_SHADBUF_AUTO_END 2
176 #define LA_SHADBUF_BOX 0
177 #define LA_SHADBUF_TENT 1
178 #define LA_SHADBUF_GAUSS 2
181 #define LA_AREA_SQUARE 0
182 #define LA_AREA_RECT 1
183 #define LA_AREA_CUBE 2
184 #define LA_AREA_BOX 3
186 /* ray_samp_method */
187 #define LA_SAMP_CONSTANT 0
188 #define LA_SAMP_HALTON 1
189 #define LA_SAMP_HAMMERSLEY 2
193 #define LA_SAMP_ROUND 1
194 #define LA_SAMP_UMBRA 2
195 #define LA_SAMP_DITHER 4
196 #define LA_SAMP_JITTER 8
203 #endif /* DNA_LAMP_TYPES_H */