Этот алгоритм служит немного для других целей, нежели трассировка путей или фотонные карты, но может быть с успехом применен для вычисления непрямой освещенности при соответствующей модификации. Основная цель алгоритма – ускорение вычисления прямого освещения при очень большом количестве источников света. На первом этапе все источники света представляются как набор очень большого количества точечных источников. После строится дерево источников света. В вершине дерева всегда находится один точечный источник, который аппроксимирует все источники, лежащие ниже его по иерархии. Расчет освещения выполняется следующим образом: вычисляем освещение одним корневым источником и двумя дочерними. Изначально текущий уровень дерева - нулевой уровень, корень дерева. Если разница между результатом, полученным на текущем уровне и результатом, полученным на следующем уровне дерева не превышает установленный порог, расчет освещения в точке прекращается. Иначе, для каждого узла рекурсивно переходим на следующий уровень дерева (рис 1).
Рисунок 1. работа алгоритма Lightcut
Расставляя искусственные источники света на поверхностях объектов, можно вычислять непрямое освещение с помощью этого алгоритма [11].
Ссылки
[11] Walter, B., Fernandez, S., Arbree, A., Bala, K., Donikian, M., and Greenberg, D. P. 2005. Lightcuts: a scalable approach to illumination. ACM Trans. Graph. 24, 3 (Jul. 2005), 1098-1107. |