Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-05 00:58:00 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-05 00:58:00 +0400
commit72929172dd0d3d51edf7b5b0cbcc9296ce0bb4da (patch)
treeef0870019d8058a286c11f02c7461f31b827faaa /source/blender/makesdna
parent942d2fe3b7b75facbf280271b1adc31882fc5693 (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.h22
-rw-r--r--source/blender/makesdna/DNA_texture_types.h22
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 ********************* */