diff options
author | Matt Ebb <matt@mke3.net> | 2010-03-09 03:35:05 +0300 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-03-09 03:35:05 +0300 |
commit | f03a17d0f935a0f33114dea24ede731b721c307e (patch) | |
tree | dbfd5448522f571c341dfac9c0b45eda13976647 /source/blender/nodes/intern/TEX_nodes | |
parent | d1bf196de1f4fb35921a383e15f2c87e3333f702 (diff) |
* Fix for crash using texture nodes in displace modifier
Modifier code was asking for filtered textures without sending derivatives.
Disabled this and also checks for filtered/non-filtered.
Brecht, I assumed this was ok due to the existence of the p->osatex variable
- if this isn't what you had in mind, please change or let me know :)
Diffstat (limited to 'source/blender/nodes/intern/TEX_nodes')
-rw-r--r-- | source/blender/nodes/intern/TEX_nodes/TEX_rotate.c | 6 | ||||
-rw-r--r-- | source/blender/nodes/intern/TEX_nodes/TEX_scale.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c b/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c index 31b669991ad..9a855938eef 100644 --- a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c +++ b/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c @@ -72,8 +72,10 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor tex_input_vec(ax, in[2], p, thread); rotate(new_co, a, ax, p->co); - rotate(new_dxt, a, ax, p->dxt); - rotate(new_dyt, a, ax, p->dyt); + if (p->osatex) { + rotate(new_dxt, a, ax, p->dxt); + rotate(new_dyt, a, ax, p->dyt); + } { TexParams np = *p; diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c b/source/blender/nodes/intern/TEX_nodes/TEX_scale.c index 609b117e5be..721c322c540 100644 --- a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c +++ b/source/blender/nodes/intern/TEX_nodes/TEX_scale.c @@ -52,8 +52,10 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor tex_input_vec(scale, in[1], p, thread); mul_v3_v3v3(new_co, p->co, scale); - mul_v3_v3v3(new_dxt, p->dxt, scale); - mul_v3_v3v3(new_dyt, p->dyt, scale); + if (p->osatex) { + mul_v3_v3v3(new_dxt, p->dxt, scale); + mul_v3_v3v3(new_dyt, p->dyt, scale); + } tex_input_rgba(out, in[0], &np, thread); } |