diff options
author | Ton Roosendaal <ton@blender.org> | 2007-12-04 22:06:00 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2007-12-04 22:06:00 +0300 |
commit | 25ea528a290a2ac727a33f426a4c1dbdab308c3d (patch) | |
tree | 98165c08ba88e9b496f80df78c72f68cd79ad75b /source/blender/render | |
parent | 12a6008d2fbb9f881da4bb8d2ab568ec30eefc97 (diff) |
Bugfix: de-premul for image texture didn't happen for non-osa case.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/imagetexture.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/imagetexture.c b/source/blender/render/intern/source/imagetexture.c index ff0b5f3d3cb..8d9f687a32e 100644 --- a/source/blender/render/intern/source/imagetexture.c +++ b/source/blender/render/intern/source/imagetexture.c @@ -244,6 +244,14 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, float *texvec, TexResult *texre if(tex->flag & TEX_NEGALPHA) texres->ta= 1.0f-texres->ta; + /* de-premul, this is being premulled in shade_input_do_shade() */ + if(texres->ta!=1.0f && texres->ta!=0.0f) { + fx= 1.0f/texres->ta; + texres->tr*= fx; + texres->tg*= fx; + texres->tb*= fx; + } + return retval; } |