2 * blenlib/DNA_texture_types.h (mar-2001 nzc)
6 * ***** BEGIN GPL/BL DUAL 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. The Blender
12 * Foundation also sells licenses for use in proprietary software under
13 * the Blender License. See http://www.blender.org/BL/ for information
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software Foundation,
23 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
26 * All rights reserved.
28 * The Original Code is: all of this file.
30 * Contributor(s): none yet.
32 * ***** END GPL/BL DUAL LICENSE BLOCK *****
34 #ifndef DNA_TEXTURE_TYPES_H
35 #define DNA_TEXTURE_TYPES_H
49 short texco, mapto, maptoneg, blendtype;
50 struct Object *object;
53 char projx, projy, projz, mapping;
54 float ofs[3], size[3];
56 short texflag, colormodel;
60 float colfac, norfac, varfac;
64 #ifndef DNA_USHORT_FIX
65 #define DNA_USHORT_FIX
67 * @deprecated This typedef serves to avoid badly typed functions when
68 * @deprecated compiling while delivering a proper dna.c. Do not use
69 * @deprecated it in any case.
71 typedef unsigned short dna_ushort_fix;
74 typedef struct PluginTex {
91 /* should be void (*)(unsigned short)... patched */
92 void (*callback)(dna_ushort_fix);
97 typedef struct CBData {
98 float r, g, b, a, pos;
102 typedef struct ColorBand {
103 short flag, tot, cur, ipotype;
108 typedef struct EnvMap {
109 struct Object *object;
110 struct Image *ima; /* type ENV_LOAD */
111 struct Image *cube[6]; /* these images are dynamic, not part of the main struct */
114 float clipsta, clipend;
123 float noisesize, turbul;
124 float bright, contrast, rfac, gfac, bfac;
126 short noisedepth, noisetype;
131 float cropxmin, cropymin, cropxmax, cropymax;
132 short xrepeat, yrepeat;
134 short frames, offset, sfra, fie_ima;
139 struct PluginTex *plugin;
140 struct ColorBand *coba;
147 /* **************** TEX ********************* */
159 #define TEX_ENVMAP 10
162 #define TEX_INTERPOL 1
163 #define TEX_USEALPHA 2
166 #define TEX_IMAROT 16
167 #define TEX_CALCALPHA 32
168 #define TEX_ANIMCYCLIC 64
169 #define TEX_ANIM5 128
170 #define TEX_ANTIALI 256
171 #define TEX_ANTISCALE 512
172 #define TEX_STD_FIELD 1024
174 #define TEX_LASOPPATCH 8192
175 #define TEX_MORKPATCH 16384
178 #define TEX_COLORBAND 1
179 #define TEX_FLIPBLEND 2
180 #define TEX_NEGALPHA 4
182 /* extend (begint bij 1 ivm backward comp.) */
186 #define TEX_CLIPCUBE 4
189 #define TEX_NOISESOFT 0
190 #define TEX_NOISEPERL 1
196 #define MTEX_SPHERE 3
209 #define TEXCO_OBJECT 32
210 #define TEXCO_LAVECTOR 64
211 #define TEXCO_VIEW 128
212 #define TEXCO_STICKY 256
213 #define TEXCO_OSA 512
214 #define TEXCO_WINDOW 1024
220 #define MAP_COLSPEC 4
222 #define MAP_VARS (0xFFF0)
226 #define MAP_ALPHA 128
240 /* **************** MTEX ********************* */
249 #define MTEX_RGBTOINT 1
250 #define MTEX_STENCIL 2
251 #define MTEX_NEGATIVE 4
252 #define MTEX_ALPHAMIX 8
260 /* **************** EnvMap ********************* */