[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28352] branches/render25/source/blender/ render/intern/source/sss.c: Render Branch: tweak to SSS code to avoid division by zero, and remove

Brecht Van Lommel brecht at blender.org
Thu Apr 22 18:47:25 CEST 2010


Revision: 28352
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28352
Author:   blendix
Date:     2010-04-22 18:47:25 +0200 (Thu, 22 Apr 2010)

Log Message:
-----------
Render Branch: tweak to SSS code to avoid division by zero, and remove
some comments.

Modified Paths:
--------------
    branches/render25/source/blender/render/intern/source/sss.c

Modified: branches/render25/source/blender/render/intern/source/sss.c
===================================================================
--- branches/render25/source/blender/render/intern/source/sss.c	2010-04-22 16:37:13 UTC (rev 28351)
+++ branches/render25/source/blender/render/intern/source/sss.c	2010-04-22 16:47:25 UTC (rev 28352)
@@ -30,12 +30,6 @@
 /* Possible Improvements:
    - add fresnel terms
    - adapt Rd table to scale, now with small scale there are a lot of misses?
-   - possible interesting method: perform sss on all samples in the tree,
-	 and then use those values interpolated somehow later. can also do this
-	 filtering on demand for speed. since we are doing things in screen
-	 space now there is an exact correspondence
-   - avoid duplicate shading (filtering points in advance, irradiance cache
-	 like lookup?)
    - lower resolution samples
 */
 
@@ -440,7 +434,7 @@
 	memset(&result, 0, sizeof(result));
 
 	/* this is used to multiply areas and squared distance */
-	result.scalefac= 1.0f/(scale*scale);
+	result.scalefac= 1.0f/maxf(scale*scale, 1e-20f);
 
 	traverse_octree(tree, tree->root, co, 1, &result);
 





More information about the Bf-blender-cvs mailing list