[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