[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35653] trunk/blender/source/blender/ render/intern/source/imagetexture.c: Fix #26557: dots near alpha borders on textures.

Brecht Van Lommel brechtvanlommel at pandora.be
Sun Mar 20 16:03:13 CET 2011


Revision: 35653
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35653
Author:   blendix
Date:     2011-03-20 15:03:13 +0000 (Sun, 20 Mar 2011)
Log Message:
-----------
Fix #26557: dots near alpha borders on textures. Tweak threshold in alpha
de-premul for image textures to avoid float precision issues.

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/imagetexture.c

Modified: trunk/blender/source/blender/render/intern/source/imagetexture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/imagetexture.c	2011-03-20 14:59:16 UTC (rev 35652)
+++ trunk/blender/source/blender/render/intern/source/imagetexture.c	2011-03-20 15:03:13 UTC (rev 35653)
@@ -258,7 +258,7 @@
 	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>FLT_EPSILON) {
+	if(texres->ta!=1.0f && texres->ta>1e-4f) {
 		fx= 1.0f/texres->ta;
 		texres->tr*= fx;
 		texres->tg*= fx;
@@ -1374,7 +1374,7 @@
 
 	// brecht: tried to fix this, see "TXF alpha" comments
 
-	if (texres->ta != 1.f && (texres->ta > FLT_EPSILON)) {
+	if (texres->ta != 1.f && (texres->ta > 1e-4f)) {
 		fx = 1.f/texres->ta;
 		texres->tr *= fx;
 		texres->tg *= fx;
@@ -1755,7 +1755,7 @@
 	}
 	
 	/* de-premul, this is being premulled in shade_input_do_shade() */
-	if(texres->ta!=1.0f && texres->ta>FLT_EPSILON) {
+	if(texres->ta!=1.0f && texres->ta>1e-4f) {
 		fx= 1.0f/texres->ta;
 		texres->tr*= fx;
 		texres->tg*= fx;




More information about the Bf-blender-cvs mailing list