diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-01-05 20:41:41 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-01-05 20:41:41 +0300 |
commit | 8c8215fb77e148e21b19a34cc10ee0e3c9680220 (patch) | |
tree | 286fffe3b350bae23ca9deae7661ec55f9dcf25b /source/blender/render | |
parent | 5d564da3b66b541e6295a899eae05e43b479def2 (diff) |
Fix T46984: Image mapping bug
The issue was caused by wrong scaling applied on top of the image sampling.
It seems there's no reason to apply alpha clipping when using EWA filtering,
this filtering currently works in the way that it apples all needed clipping
and scaling to a clipped kernel already.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/imagetexture.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/imagetexture.c b/source/blender/render/intern/source/imagetexture.c index b44c0135420..e64c3d4f825 100644 --- a/source/blender/render/intern/source/imagetexture.c +++ b/source/blender/render/intern/source/imagetexture.c @@ -1248,7 +1248,9 @@ static int imagewraposa_aniso(Tex *tex, Image *ima, ImBuf *ibuf, const float tex texres->ta += levf*(texr.ta - texres->ta); } - alpha_clip_aniso(ibuf, fx-minx, fy-miny, fx+minx, fy+miny, extflag, texres); + if (tex->texfilter != TXF_EWA) { + alpha_clip_aniso(ibuf, fx-minx, fy-miny, fx+minx, fy+miny, extflag, texres); + } } } else { /* no mipmap */ @@ -1290,7 +1292,9 @@ static int imagewraposa_aniso(Tex *tex, Image *ima, ImBuf *ibuf, const float tex } else { filterfunc(texres, ibuf, fx, fy, &AFD); - alpha_clip_aniso(ibuf, fx-minx, fy-miny, fx+minx, fy+miny, extflag, texres); + if (tex->texfilter != TXF_EWA) { + alpha_clip_aniso(ibuf, fx-minx, fy-miny, fx+minx, fy+miny, extflag, texres); + } } } |