Blender V4.5
DNA_texture_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_ID.h"
12#include "DNA_colorband_types.h"
13#include "DNA_defs.h"
14#include "DNA_image_types.h" /* ImageUser */
15
16struct AnimData;
17struct ColorBand;
18struct CurveMapping;
19struct Image;
20struct Ipo;
21struct Object;
22struct PreviewImage;
23struct Tex;
24
25/* -------------------------------------------------------------------- */
29typedef struct MTex {
31
33 char _pad2[2];
34 struct Object *object;
35 struct Tex *tex;
36 char uvname[/*MAX_CUSTOMDATA_LAYER_NAME*/ 68];
37
40
46
47 float ofs[3], size[3], rot, random_angle;
48
49 float r, g, b, k;
50 float def_var;
51
52 /* common */
53 float colfac;
54 float alphafac;
55
56 /* particles */
60 float twistfac;
62
65/* -------------------------------------------------------------------- */
71
72 short flag;
73
74 short falloff_type;
75 float falloff_softness;
76 float radius;
77 short source;
78 char _pad0[2];
79
81 short color_source;
82 short ob_color_source;
83
84 int totpoints;
85
87 struct Object *object;
89 int psys;
91 short psys_cache_space;
93 short ob_cache_space;
95 char vertex_attribute_name[/*MAX_CUSTOMDATA_LAYER_NAME*/ 68];
96 char _pad1[4];
97
99 void *point_tree;
101 float *point_data;
102
103 float noise_size;
104 short noise_depth;
105 short noise_influence;
106 short noise_basis;
107 char _pad2[6];
108 float noise_fac;
109
110 float speed_scale, falloff_speed_scale;
111 char _pad3[4];
113 struct ColorBand *coba;
114
116 struct CurveMapping *falloff_curve;
118
121/* -------------------------------------------------------------------- */
126 /* The Depsgraph::update_count when this ID was last updated. Covers any IDRecalcFlag. */
129
130typedef struct Tex {
131#ifdef __cplusplus
134 static constexpr ID_Type id_type = ID_TE;
135#endif
136
139 struct AnimData *adt;
140
141 float noisesize, turbul;
142 float bright, contrast, saturation, rfac, gfac, bfac;
144 char _pad2[4];
145
146 /* newnoise: musgrave parameters */
147 float mg_H, mg_lacunarity, mg_octaves, mg_offset, mg_gain;
148
149 /* newnoise: distorted noise amount, musgrave & voronoi output scale */
150 float dist_amount, ns_outscale;
151
152 /* newnoise: voronoi nearest neighbor weights, minkovsky exponent,
153 * distance metric & color type */
154 float vn_w1;
155 float vn_w2;
156 float vn_w3;
157 float vn_w4;
158 float vn_mexp;
159 short vn_distm, vn_coltype;
160
161 /* noisedepth MUST be <= 30 else we get floating point exceptions */
162 short noisedepth, noisetype;
163
164 /* newnoise: noisebasis type for clouds/marble/etc, noisebasis2 only used for distorted noise */
165 short noisebasis, noisebasis2;
166
167 short imaflag, flag;
168 short type, stype;
169
170 float cropxmin, cropymin, cropxmax, cropymax;
173 int afmax;
174 short xrepeat, yrepeat;
175 short extend;
176
177 /* Variables only used for versioning, moved to struct member `iuser`. */
178 short _pad0;
180 int frames DNA_DEPRECATED;
181 int offset DNA_DEPRECATED;
183
184 float checkerdist, nabla;
185 char _pad1[4];
186
187 struct ImageUser iuser;
188
190 /* old animation system, deprecated for 2.5 */
191 struct Ipo *ipo DNA_DEPRECATED;
192 struct Image *ima;
195
197 char _pad[7];
198
199 void *_pad3;
200
203
205typedef struct TexMapping {
206 float loc[3];
208 float rot[3];
209 float size[3];
210 int flag;
211 char projx, projy, projz, mapping;
212 int type;
213
214 float mat[4][4];
215 float min[3], max[3];
216 struct Object *ob;
217
219
220typedef struct ColorMapping {
221 struct ColorBand coba;
222
223 float bright, contrast, saturation;
224 int flag;
225
226 float blend_color[3];
229 char _pad[4];
231
234/* -------------------------------------------------------------------- */
239enum {
243};
244
246enum {
251};
252
254enum {
256};
257
260/* -------------------------------------------------------------------- */
265enum {
274 // TEX_PLUGIN = 9, /* Deprecated */
275 // TEX_ENVMAP = 10, /* Deprecated */
279 // TEX_POINTDENSITY = 14, /* Deprecated */
280 // TEX_VOXELDATA = 15, /* Deprecated */
281 // TEX_OCEAN = 16, /* Deprecated */
282};
283
285enum {
291};
292
294enum {
305};
306
308enum {
316};
317
319enum {
320 TEX_INTERPOL = 1 << 0,
321 TEX_USEALPHA = 1 << 1,
322 TEX_MIPMAP = 1 << 2,
323 TEX_IMAROT = 1 << 4,
325 TEX_NORMALMAP = 1 << 11,
326 TEX_GAUSS_MIP = 1 << 12,
327 TEX_FILTER_MIN = 1 << 13,
329};
330
332enum {
333 TXF_BOX = 0, /* Blender's old texture filtering method. */
337};
338
340enum {
343 TEX_NEGALPHA = 1 << 2,
347 TEX_PRV_NOR = 1 << 6,
351 TEX_NO_CLAMP = 1 << 10,
352};
353
355enum {
361};
362
364enum {
367};
368
370enum {
374};
375
377enum {
382};
383
385enum {
388};
389
391enum {
395};
396
398enum {
406};
407
409enum {
413};
414
416enum {
421};
422
424enum {
427};
428
435enum {
439};
440
443/* -------------------------------------------------------------------- */
452enum {
457};
458
461/* -------------------------------------------------------------------- */
466enum {
471};
472
474enum {
491};
492
494enum {
501};
502
504enum {
507};
508
511/* -------------------------------------------------------------------- */
516enum {
520};
521
523enum {
531};
532
534enum {
538};
539
541enum {
544};
545
547enum {
549 // TEX_PD_NOISE_VEL = 1, /* Deprecated. */
550 // TEX_PD_NOISE_AGE = 2, /* Deprecated. */
551 // TEX_PD_NOISE_TIME = 3, /* Deprecated. */
552};
553
555enum {
557 /* color_source: particles */
561 /* color_source: vertices */
565};
566
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_TE
#define DNA_DEFINE_CXX_METHODS(class_name)
Definition DNA_defs.h:66
@ TEX_SIN
@ TEX_SAW
@ TEX_TRI
@ MTEX_ANGLE_RANDOM
@ MTEX_ANGLE_RAKE
@ TEX_PD_FALLOFF_CURVE
@ TEX_PD_TURBULENCE
@ TEX_BLENDER
@ TEX_STDPERLIN
@ TEX_VORONOI_CRACKLE
@ TEX_VORONOI_F2
@ TEX_VORONOI_F2F1
@ TEX_NEWPERLIN
@ TEX_VORONOI_F1
@ TEX_VORONOI_F4
@ TEX_VORONOI_F3
@ TEX_CELLNOISE
@ TEX_NOISEPERL
@ TEX_NOISESOFT
@ TEX_PLASTIC
@ TEX_WALLIN
@ TEX_WALLOUT
@ TEX_PD_NOISE_STATIC
@ MTEX_DIFF
@ MTEX_DIV
@ MTEX_BLEND_VAL
@ MTEX_MUL
@ MTEX_DARK
@ MTEX_BLEND_HUE
@ MTEX_LIGHT
@ MTEX_BLEND_COLOR
@ MTEX_BLEND
@ MTEX_SOFT_LIGHT
@ MTEX_LIN_LIGHT
@ MTEX_SUB
@ MTEX_ADD
@ MTEX_OVERLAY
@ MTEX_SCREEN
@ MTEX_BLEND_SAT
@ TEX_BANDNOISE
@ TEX_RINGNOISE
@ TEX_RING
@ TEX_BAND
@ TEX_CLIP
@ TEX_EXTEND
@ TEX_CHECKER
@ TEX_REPEAT
@ TEX_CLIPCUBE
@ TEX_PD_OBJECT
@ TEX_PD_FILE
@ TEX_PD_PSYS
@ TEX_PD_FALLOFF_PARTICLE_VEL
@ TEX_PD_FALLOFF_PARTICLE_AGE
@ TEX_PD_FALLOFF_ROOT
@ TEX_PD_FALLOFF_STD
@ TEX_PD_FALLOFF_SMOOTH
@ TEX_PD_FALLOFF_SOFT
@ TEX_PD_FALLOFF_CONSTANT
@ TEX_INT
@ TEX_RGB
@ TEX_PD_OBJECTSPACE
@ TEX_PD_OBJECTLOC
@ TEX_PD_WORLDSPACE
@ TEX_PR_OTHER
@ TEX_PR_BOTH
@ TEX_PR_TEXTURE
struct TexMapping TexMapping
@ TEX_NO_CLAMP
@ TEX_DS_EXPAND
@ TEX_REPEAT_YMIR
@ TEX_CHECKER_EVEN
@ TEX_PRV_NOR
@ TEX_FLIPBLEND
@ TEX_PRV_ALPHA
@ TEX_NEGALPHA
@ TEX_COLORBAND
@ TEX_REPEAT_XMIR
@ TEX_CHECKER_ODD
@ TEXMAP_TYPE_NORMAL
@ TEXMAP_TYPE_POINT
@ TEXMAP_TYPE_TEXTURE
@ TEXMAP_TYPE_VECTOR
@ TEX_USEALPHA
@ TEX_MIPMAP
@ TEX_CALCALPHA
@ TEX_INTERPOL
@ TEX_GAUSS_MIP
@ TEX_FILTER_MIN
@ TEX_IMAROT
@ TEX_DERIVATIVEMAP
@ TEX_NORMALMAP
@ COLORMAP_USE_RAMP
@ TEX_HYBRIDMF
@ TEX_MFRACTAL
@ TEX_HTERRAIN
@ TEX_FBM
@ TEX_RIDGEDMF
@ MTEX_MAP_MODE_AREA
@ MTEX_MAP_MODE_3D
@ MTEX_MAP_MODE_STENCIL
@ MTEX_MAP_MODE_TILED
@ MTEX_MAP_MODE_RANDOM
@ MTEX_MAP_MODE_VIEW
struct ColorMapping ColorMapping
@ TEX_PD_COLOR_VERTWEIGHT
@ TEX_PD_COLOR_VERTNOR
@ TEX_PD_COLOR_VERTCOL
@ TEX_PD_COLOR_PARTAGE
@ TEX_PD_COLOR_CONSTANT
@ TEX_PD_COLOR_PARTVEL
@ TEX_PD_COLOR_PARTSPEED
@ TEX_DEFAULT
@ TEX_COLOR
@ TEX_SHARPER
@ TEX_SOFT
@ TEX_SHARP
@ TXF_FELINE
@ TXF_BOX
@ TXF_AREA
@ TXF_EWA
@ TEX_DIAG
@ TEX_EASE
@ TEX_HALO
@ TEX_QUAD
@ TEX_RAD
@ TEX_SPHERE
@ TEX_LIN
struct Tex Tex
@ TEX_COL2
@ TEX_COL1
@ TEX_COL3
@ TEX_INTENSITY
@ TEX_BLEND
@ TEX_MARBLE
@ TEX_NOISE
@ TEX_IMAGE
@ TEX_WOOD
@ TEX_CLOUDS
@ TEX_DISTNOISE
@ TEX_VORONOI
@ TEX_STUCCI
@ TEX_MAGIC
@ TEX_MUSGRAVE
struct Tex_Runtime Tex_Runtime
@ MTEX_FLAT
@ MTEX_SPHERE
@ MTEX_CUBE
@ MTEX_TUBE
@ TEXMAP_CLIP_MIN
@ TEXMAP_UNIT_MATRIX
@ TEXMAP_CLIP_MAX
@ TEX_CHEBYCHEV
@ TEX_DISTANCE_SQUARED
@ TEX_MINKOVSKY_FOUR
@ TEX_MINKOVSKY_HALF
@ TEX_MANHATTAN
@ TEX_DISTANCE
@ TEX_MINKOVSKY
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
btScalar max
#define rot(x, k)
#define typedef
#define min(a, b)
Definition sort.cc:36
unsigned __int64 uint64_t
Definition stdint.h:90
Definition DNA_ID.h:404
short texco
float fieldfac
char brush_angle_mode
float roughfac
float kinkampfac
float colfac
float lifefac
float padensfac
char brush_map_mode
short blendtype
float kinkfac
float dampfac
float def_var
char _pad2[2]
float clumpfac
float ivelfac
short which_output
float ofs[3]
short mapto
float timefac
float alphafac
float lengthfac
float size[3]
float gravityfac
float random_angle
char uvname[68]
float twistfac
float sizefac
struct Tex * tex
struct Object * ob
float dist_amount
struct AnimData * adt
float noisesize
short xrepeat
float vn_w4
short noisedepth
int offset DNA_DEPRECATED
float vn_w2
float cropxmax
float checkerdist
struct PreviewImage * preview
short _pad0
int sfra DNA_DEPRECATED
char use_nodes
float vn_mexp
Tex_Runtime runtime
float mg_gain
int frames DNA_DEPRECATED
short vn_coltype
int len DNA_DEPRECATED
short stype
struct ColorBand * coba
float vn_w3
struct bNodeTree * nodetree
short noisebasis
void * _pad3
float vn_w1
struct Image * ima
short extend
struct Ipo *ipo DNA_DEPRECATED
float filtersize
uint len