Blender V5.0
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 Object;
21struct PreviewImage;
22struct Tex;
23
24/* -------------------------------------------------------------------- */
27
28typedef struct MTex {
30
32 char _pad2[2];
33 struct Object *object;
34 struct Tex *tex;
35 char uvname[/*MAX_CUSTOMDATA_LAYER_NAME*/ 68];
36
39
45
46 float ofs[3], size[3], rot, random_angle;
47
48 float r, g, b, k;
49 float def_var;
50
51 /* common */
52 float colfac;
53 float alphafac;
54
55 /* particles */
59 float twistfac;
61
63
64/* -------------------------------------------------------------------- */
67
69 /* The Depsgraph::update_count when this ID was last updated. Covers any IDRecalcFlag. */
72
73typedef struct Tex {
74#ifdef __cplusplus
77 static constexpr ID_Type id_type = ID_TE;
78#endif
79
82 struct AnimData *adt;
83
84 void *_pad3;
85
89
90 /* newnoise: musgrave parameters */
92
93 /* newnoise: distorted noise amount, musgrave & voronoi output scale */
95
96 /* newnoise: voronoi nearest neighbor weights, minkovsky exponent,
97 * distance metric & color type */
98 float vn_w1;
99 float vn_w2;
100 float vn_w3;
101 float vn_w4;
102 float vn_mexp;
104
105 /* noisedepth MUST be <= 30 else we get floating point exceptions */
107
108 /* newnoise: noisebasis type for clouds/marble/etc, noisebasis2 only used for distorted noise */
110
111 short imaflag, flag;
112 short type, stype;
113
116 short extend;
117
118 /* Variables only used for versioning, moved to struct member `iuser`. */
119 short _pad0;
121 int frames DNA_DEPRECATED;
122 int offset DNA_DEPRECATED;
124
126
128
130 struct Image *ima;
133
135 char _pad[7];
136
139
141typedef struct TexMapping {
142 float loc[3];
144 float rot[3];
145 float size[3];
146 int flag;
148 int type;
149
150 float mat[4][4];
151 float min[3], max[3];
152 struct Object *ob;
153
155
156typedef struct ColorMapping {
158
160 int flag;
161
162 float blend_color[3];
165 char _pad[4];
167
169
170/* -------------------------------------------------------------------- */
173
175enum {
179};
180
182enum {
187};
188
190enum {
192};
193
195
196/* -------------------------------------------------------------------- */
199
201enum {
210 // TEX_PLUGIN = 9, /* Deprecated */
211 // TEX_ENVMAP = 10, /* Deprecated */
215 // TEX_POINTDENSITY = 14, /* Deprecated */
216 // TEX_VOXELDATA = 15, /* Deprecated */
217 // TEX_OCEAN = 16, /* Deprecated */
218};
219
221enum {
227};
228
230enum {
241};
242
244enum {
252};
253
255enum {
256 TEX_INTERPOL = 1 << 0,
257 TEX_USEALPHA = 1 << 1,
258 TEX_IMAROT = 1 << 4,
260 TEX_NORMALMAP = 1 << 11,
262};
263
265enum {
268 TEX_NEGALPHA = 1 << 2,
272 TEX_PRV_NOR = 1 << 6,
276 TEX_NO_CLAMP = 1 << 10,
277};
278
280enum {
286};
287
289enum {
292};
293
295enum {
299};
300
302enum {
307};
308
310enum {
313};
314
316enum {
320};
321
323enum {
331};
332
334enum {
338};
339
341enum {
346};
347
349enum {
352};
353
360enum {
364};
365
367
368/* -------------------------------------------------------------------- */
371
377enum {
382};
383
385
386/* -------------------------------------------------------------------- */
389
391enum {
396};
397
399enum {
416};
417
419enum {
426};
427
429enum {
432};
433
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_NOISEPERL
@ TEX_NOISESOFT
@ 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
@ 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_INT
@ TEX_RGB
@ TEXMAP_TYPE_NORMAL
@ TEXMAP_TYPE_POINT
@ TEXMAP_TYPE_TEXTURE
@ TEXMAP_TYPE_VECTOR
@ TEX_SHARPER
@ TEX_SOFT
@ TEX_SHARP
@ TEX_SIN
@ TEX_SAW
@ TEX_TRI
@ TEX_CLIP
@ TEX_EXTEND
@ TEX_CHECKER
@ TEX_REPEAT
@ TEX_CLIPCUBE
@ TEX_BANDNOISE
@ TEX_RINGNOISE
@ TEX_RING
@ TEX_BAND
@ TEXMAP_CLIP_MIN
@ TEXMAP_UNIT_MATRIX
@ TEXMAP_CLIP_MAX
@ TEX_DIAG
@ TEX_EASE
@ TEX_HALO
@ TEX_QUAD
@ TEX_RAD
@ TEX_SPHERE
@ TEX_LIN
@ TEX_PR_OTHER
@ TEX_PR_BOTH
@ TEX_PR_TEXTURE
@ TEX_BLEND
@ TEX_MARBLE
@ TEX_NOISE
@ TEX_IMAGE
@ TEX_WOOD
@ TEX_CLOUDS
@ TEX_DISTNOISE
@ TEX_VORONOI
@ TEX_STUCCI
@ TEX_MAGIC
@ TEX_MUSGRAVE
@ MTEX_ANGLE_RANDOM
@ MTEX_ANGLE_RAKE
struct TexMapping TexMapping
@ 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_USEALPHA
@ TEX_CALCALPHA
@ TEX_INTERPOL
@ TEX_IMAROT
@ TEX_DERIVATIVEMAP
@ TEX_NORMALMAP
@ TEX_COL2
@ TEX_COL1
@ TEX_COL3
@ TEX_INTENSITY
@ COLORMAP_USE_RAMP
@ TEX_PLASTIC
@ TEX_WALLIN
@ TEX_WALLOUT
@ 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_DEFAULT
@ TEX_COLOR
@ MTEX_FLAT
@ MTEX_SPHERE
@ MTEX_CUBE
@ MTEX_TUBE
struct Tex Tex
struct Tex_Runtime Tex_Runtime
@ TEX_CHEBYCHEV
@ TEX_DISTANCE_SQUARED
@ TEX_MINKOVSKY_FOUR
@ TEX_MINKOVSKY_HALF
@ TEX_MANHATTAN
@ TEX_DISTANCE
@ TEX_MINKOVSKY
unsigned long long int uint64_t
#define typedef
struct ColorBand coba
Definition DNA_ID.h:414
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
float mat[4][4]
struct Object * ob
uint64_t last_update
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
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
float gfac
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 mg_H
float vn_w3
char _pad[7]
struct bNodeTree * nodetree
short noisebasis
void * _pad3
float vn_w1
float bfac
struct Image * ima
float rfac
short extend
short yrepeat
float turbul
float filtersize
uint len