[Bf-blender-cvs] [f423c4191f3] master: Cycles: credit the original light tree paper and explain modifications

Weizhen Huang noreply at git.blender.org
Wed Dec 7 15:38:12 CET 2022


Commit: f423c4191f3d744cc142ed61b217c2feaa5cb328
Author: Weizhen Huang
Date:   Wed Dec 7 15:36:56 2022 +0100
Branches: master
https://developer.blender.org/rBf423c4191f3d744cc142ed61b217c2feaa5cb328

Cycles: credit the original light tree paper and explain modifications

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

M	intern/cycles/kernel/light/tree.h

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

diff --git a/intern/cycles/kernel/light/tree.h b/intern/cycles/kernel/light/tree.h
index 95a7fa0ed79..7429c29ea60 100644
--- a/intern/cycles/kernel/light/tree.h
+++ b/intern/cycles/kernel/light/tree.h
@@ -1,6 +1,17 @@
 /* SPDX-License-Identifier: Apache-2.0
  * Copyright 2011-2022 Blender Foundation */
 
+/* This code implements a modified version of the paper [Importance Sampling of Many Lights with
+ * Adaptive Tree Splitting](http://www.aconty.com/pdf/many-lights-hpg2018.pdf) by Alejandro Conty
+ * Estevez, Christopher Kulla.
+ * The original paper traverses both children when the variance of a node is too high (called
+ * splitting). However, Cycles does not support multiple lights per shading point. Therefore, we
+ * adjust the importance computation: instead of using a conservative measure (i.e., the maximal
+ * possible contribution a node could make to a shading point) as in the paper, we additionally
+ * compute the minimal possible contribution and choose uniformly between these two measures. Also,
+ * support for distant lights is added, which is not included in the paper.
+ */
+
 #pragma once
 
 #include "kernel/light/area.h"



More information about the Bf-blender-cvs mailing list