[Bf-blender-cvs] [0216daeb805] gsoc-2018-many-light-sampling: Cycles: Removed energy term in SAOH denominator

Erik Englesson noreply at git.blender.org
Fri Aug 10 17:38:01 CEST 2018


Commit: 0216daeb8051f631e0950f2f046751be028038b2
Author: Erik Englesson
Date:   Wed Aug 8 16:59:38 2018 +0200
Branches: gsoc-2018-many-light-sampling
https://developer.blender.org/rB0216daeb8051f631e0950f2f046751be028038b2

Cycles: Removed energy term in SAOH denominator

This should not affect the result since it is just a
scale factor to all terms in the minimization. This
term was not in eq. 2 of the paper.

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

M	intern/cycles/render/light_tree.cpp

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

diff --git a/intern/cycles/render/light_tree.cpp b/intern/cycles/render/light_tree.cpp
index 2a0d7b8281d..5a43f0efcbc 100644
--- a/intern/cycles/render/light_tree.cpp
+++ b/intern/cycles/render/light_tree.cpp
@@ -439,17 +439,9 @@ void LightTree::split_saoh(const BoundBox &centroid_bbox,
 			const float M_Omega_R     = calculate_cone_measure(bcone_R);
 			const float K             = extent_max * extent_inv;
 
-			/* NOTE: in eq 2 they do not have the energy of the parent in the
-			 * denominator. Is this a typo?
-			 * Actually. The denominator does not affect the minimization since
-			 * it is just a constant scale factor for every cost being minimized.
-			 * The denominator might help with numerical issues though.
-			 *
-			 * TODO: When optimizing, could calc denominator once and take its
-			 * inverse once and then just multiply here. */
 			cost[i] = K * (energy_L    * M_Omega_L    * bbox_L.area()  +
 			               energy_R    * M_Omega_R    * bbox_R.area()) /
-			              (node_energy * node_M_Omega * node_bbox.area());
+			              (node_M_Omega * node_bbox.area());
 		}
 
 		/* update minimum cost, dim and bucket */



More information about the Bf-blender-cvs mailing list