diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-11-05 00:58:00 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-11-05 00:58:00 +0400 |
commit | 72929172dd0d3d51edf7b5b0cbcc9296ce0bb4da (patch) | |
tree | ef0870019d8058a286c11f02c7461f31b827faaa /source/blender/makesdna | |
parent | 942d2fe3b7b75facbf280271b1adc31882fc5693 (diff) |
Cycles: add location/rotate/scale and XYZ mapping options for all texture nodes,
to reduce the amount of nodes needed to set up a simple texture.
These are currently editable in the texture properties tab, still need to make
them available in the node editor. Projection and color modification options will
be added later, they're not implemented yet but allocated already to avoid
version patches later.
Also an issue with the XYZ mapping is that when you set one to None, texture and
material draw mode doesn't draw the image texture well, OpenGL doesn't seem to
like the degenerate texture matrix?
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_node_types.h | 22 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_texture_types.h | 22 |
2 files changed, 41 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 13237495cea..3103bb9b7b3 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -35,6 +35,7 @@ #include "DNA_ID.h" #include "DNA_vec_types.h" #include "DNA_listBase.h" +#include "DNA_texture_types.h" struct ID; struct ListBase; @@ -426,25 +427,39 @@ typedef struct NodeColorspill { float uspillr, uspillg, uspillb; }NodeColorspill; +typedef struct NodeTexBase { + TexMapping tex_mapping; + ColorMapping color_mapping; +} NodeTexBase; + +typedef struct NodeTexNoise { + NodeTexBase base; +} NodeTexNoise; + typedef struct NodeTexSky { + NodeTexBase base; float sun_direction[3]; float turbidity; } NodeTexSky; typedef struct NodeTexImage { + NodeTexBase base; int color_space; } NodeTexImage; typedef struct NodeTexEnvironment { + NodeTexBase base; int color_space; } NodeTexEnvironment; typedef struct NodeTexBlend { + NodeTexBase base; int progression; int axis; } NodeTexBlend; typedef struct NodeTexClouds { + NodeTexBase base; int hard; int depth; int basis; @@ -452,16 +467,19 @@ typedef struct NodeTexClouds { } NodeTexClouds; typedef struct NodeTexVoronoi { + NodeTexBase base; int distance_metric; int coloring; } NodeTexVoronoi; typedef struct NodeTexMusgrave { + NodeTexBase base; int type; int basis; } NodeTexMusgrave; typedef struct NodeTexMarble { + NodeTexBase base; int type; int wave; int basis; @@ -471,11 +489,13 @@ typedef struct NodeTexMarble { } NodeTexMarble; typedef struct NodeTexMagic { + NodeTexBase base; int depth; int pad; } NodeTexMagic; typedef struct NodeTexStucci { + NodeTexBase base; int type; int basis; int hard; @@ -483,11 +503,13 @@ typedef struct NodeTexStucci { } NodeTexStucci; typedef struct NodeTexDistortedNoise { + NodeTexBase base; int basis; int distortion_basis; } NodeTexDistortedNoise; typedef struct NodeTexWood { + NodeTexBase base; int type; int wave; int basis; diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index 4cf31edb891..1ecca5a0b2a 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -267,11 +267,13 @@ typedef struct Tex { } Tex; -/* used for mapping node. note: rot is in degrees */ +/* used for mapping and texture nodes. note: rot is in degrees */ typedef struct TexMapping { float loc[3], rot[3], size[3]; int flag; + char projx, projy, projz, mapping; + int pad; float mat[4][4]; float min[3], max[3]; @@ -279,10 +281,24 @@ typedef struct TexMapping { } TexMapping; +typedef struct ColorMapping { + struct ColorBand coba; + + float bright, contrast, saturation; + int flag; + + float blend_color[3]; + float blend_factor; + int blend_type, pad[3]; +} ColorMapping; + /* texmap->flag */ -#define TEXMAP_CLIP_MIN 1 -#define TEXMAP_CLIP_MAX 2 +#define TEXMAP_CLIP_MIN 1 +#define TEXMAP_CLIP_MAX 2 +#define TEXMAP_UNIT_MATRIX 4 +/* colormap->flag */ +#define COLORMAP_USE_RAMP 1 /* **************** TEX ********************* */ |