Commit: 9927849708ace2657de759fc9b72053b13be9576
Author: Bastien Montagne
Date:   Sun Jun 7 16:53:56 2015 +0200
Branches: master
https://developer.blender.org/rB9927849708ace2657de759fc9b72053b13be9576

Fix T44984: wrong texture clamping when applying saturation > 1.0

Applying saturation > 1.0 in HSV space easily leads to negative values in RGB 
space,
so we have to clamp again...

===================================================================

M       source/blender/render/intern/include/texture.h
M       source/blender/render/intern/source/render_texture.c

===================================================================

diff --git a/source/blender/render/intern/include/texture.h 
b/source/blender/render/intern/include/texture.h
index ebc8398..ed161e1 100644
--- a/source/blender/render/intern/include/texture.h
+++ b/source/blender/render/intern/include/texture.h
@@ -56,6 +56,11 @@
                _hsv[1] *= tex->saturation;                                     
      \
                hsv_to_rgb(_hsv[0], _hsv[1], _hsv[2],                           
      \
                           &texres->tr, &texres->tg, &texres->tb);              
      \
+               if ((tex->saturation > 1.0f) && !(tex->flag & TEX_NO_CLAMP)) {  
      \
+                       if (texres->tr < 0.0f) texres->tr= 0.0f;                
          \
+                       if (texres->tg < 0.0f) texres->tg= 0.0f;                
          \
+                       if (texres->tb < 0.0f) texres->tb= 0.0f;                
          \
+               }                                                               
      \
        }                                                                       
  \
 
 struct HaloRen;
diff --git a/source/blender/render/intern/source/render_texture.c 
b/source/blender/render/intern/source/render_texture.c
index c6a80c8..6acdde6 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -2431,7 +2431,7 @@ void do_material_tex(ShadeInput *shi, Render *re)
 
                                        BKE_image_pool_release_ibuf(ima, ibuf, 
re->pool);
                                }
-                               
+
                                if (mtex->mapto & MAP_COL) {
                                        float colfac= mtex->colfac*stencilTin;
                                        texture_rgb_blend(&shi->r, tcol, 
&shi->r, texres.tin, colfac, mtex->blendtype);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to