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
8
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/* -------------------------------------------------------------------- */
28
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
64
65/* -------------------------------------------------------------------- */
68
71
72 short flag;
73
76 float radius;
77 short source;
78 char _pad0[2];
79
83
85
87 struct Object *object;
89 int psys;
95 char vertex_attribute_name[/*MAX_CUSTOMDATA_LAYER_NAME*/ 68];
96 char _pad1[4];
97
102
107 char _pad2[6];
109
111 char _pad3[4];
114
118
120
121/* -------------------------------------------------------------------- */
124
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
144 char _pad2[4];
145
146 /* newnoise: musgrave parameters */
148
149 /* newnoise: distorted noise amount, musgrave & voronoi output scale */
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;
160
161 /* noisedepth MUST be <= 30 else we get floating point exceptions */
163
164 /* newnoise: noisebasis type for clouds/marble/etc, noisebasis2 only used for distorted noise */
166
167 short imaflag, flag;
168 short type, stype;
169
173 int afmax;
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
185 char _pad1[4];
186
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;
212 int type;
213
214 float mat[4][4];
215 float min[3], max[3];
216 struct Object *ob;
217
219
220typedef struct ColorMapping {
222
224 int flag;
225
226 float blend_color[3];
229 char _pad[4];
231
233
234/* -------------------------------------------------------------------- */
237
239enum {
243};
244
246enum {
251};
252
254enum {
256};
257
259
260/* -------------------------------------------------------------------- */
263
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
442
443/* -------------------------------------------------------------------- */
446
452enum {
457};
458
460
461/* -------------------------------------------------------------------- */
464
466enum {
471};
472
474enum {
491};
492
494enum {
501};
502
504enum {
507};
508
510
511/* -------------------------------------------------------------------- */
514
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
@ TEX_DEFAULT
@ TEX_COLOR
@ TEX_NOISEPERL
@ TEX_NOISESOFT
@ MTEX_MAP_MODE_AREA
@ MTEX_MAP_MODE_3D
@ MTEX_MAP_MODE_STENCIL
@ MTEX_MAP_MODE_TILED
@ MTEX_MAP_MODE_RANDOM
@ MTEX_MAP_MODE_VIEW
@ TEX_CHEBYCHEV
@ TEX_DISTANCE_SQUARED
@ TEX_MINKOVSKY_FOUR
@ TEX_MINKOVSKY_HALF
@ TEX_MANHATTAN
@ TEX_DISTANCE
@ TEX_MINKOVSKY
@ TEX_BANDNOISE
@ TEX_RINGNOISE
@ TEX_RING
@ TEX_BAND
@ TEX_SHARPER
@ TEX_SOFT
@ TEX_SHARP
@ TXF_FELINE
@ TXF_BOX
@ TXF_AREA
@ TXF_EWA
@ TEX_PR_OTHER
@ TEX_PR_BOTH
@ TEX_PR_TEXTURE
@ COLORMAP_USE_RAMP
@ 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
@ 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_DIAG
@ TEX_EASE
@ TEX_HALO
@ TEX_QUAD
@ TEX_RAD
@ TEX_SPHERE
@ TEX_LIN
@ 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
struct TexMapping TexMapping
@ TEX_PD_FALLOFF_CURVE
@ TEX_PD_TURBULENCE
@ TEX_PLASTIC
@ TEX_WALLIN
@ TEX_WALLOUT
@ TEX_BLEND
@ TEX_MARBLE
@ TEX_NOISE
@ TEX_IMAGE
@ TEX_WOOD
@ TEX_CLOUDS
@ TEX_DISTNOISE
@ TEX_VORONOI
@ TEX_STUCCI
@ TEX_MAGIC
@ TEX_MUSGRAVE
@ TEX_COL2
@ TEX_COL1
@ TEX_COL3
@ TEX_INTENSITY
struct ColorMapping ColorMapping
@ MTEX_ANGLE_RANDOM
@ MTEX_ANGLE_RAKE
@ TEXMAP_TYPE_NORMAL
@ TEXMAP_TYPE_POINT
@ TEXMAP_TYPE_TEXTURE
@ TEXMAP_TYPE_VECTOR
@ TEX_CLIP
@ TEX_EXTEND
@ TEX_CHECKER
@ TEX_REPEAT
@ TEX_CLIPCUBE
@ TEX_PD_OBJECTSPACE
@ TEX_PD_OBJECTLOC
@ TEX_PD_WORLDSPACE
@ 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
struct Tex Tex
@ TEXMAP_CLIP_MIN
@ TEXMAP_UNIT_MATRIX
@ TEXMAP_CLIP_MAX
@ TEX_INT
@ TEX_RGB
struct Tex_Runtime Tex_Runtime
@ TEX_SIN
@ TEX_SAW
@ TEX_TRI
@ MTEX_FLAT
@ MTEX_SPHERE
@ MTEX_CUBE
@ MTEX_TUBE
@ 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_HYBRIDMF
@ TEX_MFRACTAL
@ TEX_HTERRAIN
@ TEX_FBM
@ TEX_RIDGEDMF
@ TEX_USEALPHA
@ TEX_MIPMAP
@ TEX_CALCALPHA
@ TEX_INTERPOL
@ TEX_GAUSS_MIP
@ TEX_FILTER_MIN
@ TEX_IMAROT
@ TEX_DERIVATIVEMAP
@ TEX_NORMALMAP
@ TEX_PD_OBJECT
@ TEX_PD_FILE
@ TEX_PD_PSYS
@ TEX_PD_NOISE_STATIC
unsigned long long int uint64_t
#define typedef
#define DNA_DEFINE_CXX_METHODS(class_name)
struct ColorBand coba
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 CurveMapping * falloff_curve
struct ColorBand * coba
char vertex_attribute_name[68]
float mat[4][4]
struct Object * ob
float cropymin
float dist_amount
struct AnimData * adt
float noisesize
short xrepeat
float vn_w4
short noisedepth
float ns_outscale
short noisetype
float vn_w2
short imaflag
float cropxmax
float checkerdist
float cropymax
struct PreviewImage * preview
short _pad0
char _pad2[4]
float mg_lacunarity
float mg_offset
float nabla
char use_nodes
float vn_mexp
Tex_Runtime runtime
float mg_gain
float saturation
short noisebasis2
short vn_coltype
int len DNA_DEPRECATED
float contrast
short stype
float mg_octaves
struct ImageUser iuser
struct ColorBand * coba
float bright
short vn_distm
float cropxmin
float vn_w3
char _pad[7]
struct bNodeTree * nodetree
char _pad1[4]
short noisebasis
void * _pad3
float vn_w1
struct Image * ima
short extend
short yrepeat
float turbul
float filtersize
uint len