[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