[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26934] trunk/blender/source/blender/ render/intern/source/texture.c: Fix artifacts in bump map render with Object coordinates.

Brecht Van Lommel brecht at blender.org
Mon Feb 15 17:45:45 CET 2010


Revision: 26934
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26934
Author:   blendix
Date:     2010-02-15 17:45:45 +0100 (Mon, 15 Feb 2010)

Log Message:
-----------
Fix artifacts in bump map render with Object coordinates. Float precision
is problematic here with coordinates being transform by matrix and back by
inverse, so tweaked the epsilons to avoid the problem.

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

Modified: trunk/blender/source/blender/render/intern/source/texture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/texture.c	2010-02-15 16:18:21 UTC (rev 26933)
+++ trunk/blender/source/blender/render/intern/source/texture.c	2010-02-15 16:45:45 UTC (rev 26934)
@@ -1881,7 +1881,7 @@
 						// for the uv case, use the same value for both du/dv,
 						// since individually scaling the normal derivatives makes them useless...
 						du = MIN2(du, dv);
-						idu = (du < 1e-6f) ? bf : (bf/du);
+						idu = (du < 1e-5f) ? bf : (bf/du);
 
 						// +u val
 						tco[0] = co[0] + dudnu*du;
@@ -1902,8 +1902,8 @@
 					else {
 						float tu[3] = {nu[0], nu[1], nu[2]}, tv[3] = {nv[0], nv[1], nv[2]};
 
-						idu = (du < 1e-6f) ? bf : (bf/du);
-						idv = (dv < 1e-6f) ? bf : (bf/dv);
+						idu = (du < 1e-5f) ? bf : (bf/du);
+						idv = (dv < 1e-5f) ? bf : (bf/dv);
 
 						if ((mtex->texco == TEXCO_ORCO) && shi->obr && shi->obr->ob) {
 							mul_mat3_m4_v3(shi->obr->ob->imat, tu);





More information about the Bf-blender-cvs mailing list