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:
Diffstat (limited to 'source/blender/nodes/intern/TEX_nodes')
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_at.c2
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_bricks.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_checker.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_compose.c2
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_coord.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_curves.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_decompose.c8
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_distance.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c2
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_image.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_invert.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_math.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_output.c21
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_proc.c5
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_rotate.c2
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_scale.c2
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_texture.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_translate.c2
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c4
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c6
-rw-r--r--source/blender/nodes/intern/TEX_nodes/TEX_viewer.c11
22 files changed, 49 insertions, 58 deletions
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_at.c b/source/blender/nodes/intern/TEX_nodes/TEX_at.c
index 4d714d91130..7e6cce9f35a 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_at.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_at.c
@@ -50,7 +50,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_at = {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c b/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c
index f1f3b0919ae..2093679e39d 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c
@@ -109,9 +109,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_bricks= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_checker.c b/source/blender/nodes/intern/TEX_nodes/TEX_checker.c
index b889f1e2164..7b736206c51 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_checker.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_checker.c
@@ -61,9 +61,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_checker= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_compose.c b/source/blender/nodes/intern/TEX_nodes/TEX_compose.c
index 9fc4b2ff7c2..dac6ca7c3ef 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_compose.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_compose.c
@@ -49,7 +49,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_compose= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_coord.c b/source/blender/nodes/intern/TEX_nodes/TEX_coord.c
index e5c2b309fb3..a33a2608af0 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_coord.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_coord.c
@@ -42,9 +42,7 @@ static void vectorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, sho
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &vectorfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &vectorfn, data);
}
bNodeType tex_node_coord= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_curves.c b/source/blender/nodes/intern/TEX_nodes/TEX_curves.c
index 61ebcea7360..a1b20370687 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_curves.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_curves.c
@@ -50,7 +50,7 @@ static void time_colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in,
static void time_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &time_colorfn);
+ tex_output(node, in, out[0], &time_colorfn, data);
}
@@ -100,7 +100,7 @@ static void rgb_colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in,
static void rgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &rgb_colorfn);
+ tex_output(node, in, out[0], &rgb_colorfn, data);
}
static void rgb_init(bNode *node)
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c b/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c
index f7a409f0230..d5eeba2253c 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c
@@ -67,10 +67,10 @@ static void valuefn_a(float *out, TexParams *p, bNode *node, bNodeStack **in, sh
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &valuefn_r);
- tex_output(node, in, out[1], &valuefn_g);
- tex_output(node, in, out[2], &valuefn_b);
- tex_output(node, in, out[3], &valuefn_a);
+ tex_output(node, in, out[0], &valuefn_r, data);
+ tex_output(node, in, out[1], &valuefn_g, data);
+ tex_output(node, in, out[2], &valuefn_b, data);
+ tex_output(node, in, out[3], &valuefn_a, data);
}
bNodeType tex_node_decompose= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_distance.c b/source/blender/nodes/intern/TEX_nodes/TEX_distance.c
index 4e145e26b72..297fc02939d 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_distance.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_distance.c
@@ -53,9 +53,7 @@ static void valuefn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &valuefn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &valuefn, data);
}
bNodeType tex_node_distance= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c b/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c
index 192c7a39ee8..b267dc7acbb 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c
@@ -84,7 +84,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_hue_sat= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_image.c b/source/blender/nodes/intern/TEX_nodes/TEX_image.c
index 0a55af70b52..123063a7900 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_image.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_image.c
@@ -73,9 +73,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &colorfn, data);
}
static void init(bNode* node)
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_invert.c b/source/blender/nodes/intern/TEX_nodes/TEX_invert.c
index 5663f897ff5..f2fcbfbf9eb 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_invert.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_invert.c
@@ -55,9 +55,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_invert= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_math.c b/source/blender/nodes/intern/TEX_nodes/TEX_math.c
index 4ee04140fca..8c400a44832 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_math.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_math.c
@@ -171,9 +171,7 @@ static void valuefn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &valuefn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &valuefn, data);
}
bNodeType tex_node_math= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c b/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c
index 24bdde70127..f6955b47376 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c
@@ -57,9 +57,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_mix_rgb= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_output.c b/source/blender/nodes/intern/TEX_nodes/TEX_output.c
index 7ce5ec88c48..580b4cde8bf 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_output.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_output.c
@@ -83,14 +83,19 @@ static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
TexCallData *cdata = (TexCallData *)data;
TexResult *target = cdata->target;
- if(in[1]->hasinput && !in[0]->hasinput)
- tex_do_preview(node, in[1], data);
- else
- tex_do_preview(node, in[0], data);
-
- if(!cdata->do_preview) {
- if(cdata->which_output == node->custom1)
- {
+ if(cdata->do_preview) {
+ TexParams params;
+ params_from_cdata(&params, cdata);
+
+ if(in[1]->hasinput && !in[0]->hasinput)
+ tex_input_rgba(&target->tr, in[1], &params, cdata->thread);
+ else
+ tex_input_rgba(&target->tr, in[0], &params, cdata->thread);
+ tex_do_preview(node, params.coord, &target->tr);
+ }
+ else {
+ /* 0 means don't care, so just use first */
+ if(cdata->which_output == node->custom1 || (cdata->which_output == 0 && node->custom1 == 1)) {
TexParams params;
params_from_cdata(&params, cdata);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_proc.c b/source/blender/nodes/intern/TEX_nodes/TEX_proc.c
index ce7324e2085..9f355e6d8f0 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_proc.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_proc.c
@@ -125,9 +125,8 @@ static int count_outputs(bNode *node)
static void name##_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) \
{ \
int outs = count_outputs(node); \
- if(outs >= 1) tex_output(node, in, out[0], &name##_colorfn); \
- if(outs >= 2) tex_output(node, in, out[1], &name##_normalfn); \
- if(outs >= 1) tex_do_preview(node, out[0], data); \
+ if(outs >= 1) tex_output(node, in, out[0], &name##_colorfn, data); \
+ if(outs >= 2) tex_output(node, in, out[1], &name##_normalfn, data); \
}
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c b/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c
index bdf5a1ce079..2184d32fcf2 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c
@@ -95,7 +95,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
}
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_rotate= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c b/source/blender/nodes/intern/TEX_nodes/TEX_scale.c
index 3d4415365aa..205549c97d9 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_scale.c
@@ -56,7 +56,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
}
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_scale = {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
index 0ca80a82271..d0536a8fda8 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
@@ -79,9 +79,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_texture= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_translate.c b/source/blender/nodes/intern/TEX_nodes/TEX_translate.c
index ba3dcfa27a2..c2f7377da3b 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_translate.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_translate.c
@@ -56,7 +56,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
}
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &colorfn);
+ tex_output(node, in, out[0], &colorfn, data);
}
bNodeType tex_node_translate = {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c b/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c
index 75b88c3a460..6b8349e90af 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c
@@ -72,9 +72,7 @@ static void normalfn(float *out, TexParams *p, bNode *node, bNodeStack **in, sho
}
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &normalfn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &normalfn, data);
}
bNodeType tex_node_valtonor = {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c b/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c
index 90a444bcff0..669f45ec89a 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c
@@ -50,7 +50,7 @@ static void valtorgb_colorfn(float *out, TexParams *p, bNode *node, bNodeStack *
static void valtorgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &valtorgb_colorfn);
+ tex_output(node, in, out[0], &valtorgb_colorfn, data);
}
static void valtorgb_init(bNode *node)
@@ -97,9 +97,7 @@ static void rgbtobw_valuefn(float *out, TexParams *p, bNode *node, bNodeStack **
static void rgbtobw_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_output(node, in, out[0], &rgbtobw_valuefn);
-
- tex_do_preview(node, out[0], data);
+ tex_output(node, in, out[0], &rgbtobw_valuefn, data);
}
bNodeType tex_node_rgbtobw= {
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c b/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c
index 2d29b03b38c..5ebd971d9fb 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c
+++ b/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c
@@ -39,7 +39,16 @@ static bNodeSocketType outputs[]= {
static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
- tex_do_preview(node, in[0], data);
+ TexCallData *cdata = (TexCallData *)data;
+
+ if(cdata->do_preview) {
+ TexParams params;
+ float col[4];
+ params_from_cdata(&params, cdata);
+
+ tex_input_rgba(col, in[0], &params, cdata->thread);
+ tex_do_preview(node, params.coord, col);
+ }
}
bNodeType tex_node_viewer = {