Почему уравнение рендеринга, введенное Кадзией в 1986 году, не может быть решено напрямую / аналитически?
raytracing
rendering
lighting
brdf
global-illumination
Blongphong
источник
источник
Ответы:
К сожалению, я не могу добавить комментарий к ответу выше (недостаточно репутации), поэтому я сделаю это так.
Я хотел бы отметить, что то, что описывает Dragonseel, является просто интегральным уравнением (в частности, уравнением Фредгольма второго рода). Есть много таких уравнений, которые имеют аналитическое решение; даже некоторые формы уравнения рендеринга имеют одну (например, решение белой печи может быть дано с использованием простого сходящегося геометрического ряда, даже если уравнение рендеринга бесконечно рекурсивно).
Также нет необходимости смещать оценочное решение, ограничивая количество рекурсий. Русская рулетка предоставляет полезный инструмент для предоставления нам беспристрастного решения для бесконечно рекурсивного уравнения рендеринга.
Основная трудность заключается в том, что функции для отражения (BRDF), излучаемое излучение и видимость очень сложны и часто содержат много разрывов. В этих случаях часто нет аналитического решения, или просто невозможно найти такое решение. Это также верно в одномерном случае; большинству интегралов не хватает аналитических решений.
Наконец, я хотел бы отметить, что, хотя большинство случаев уравнения рендеринга не имеют аналитических решений, существует много исследований в формах уравнения рендеринга, которые имеют аналитическое решение. Использование таких решений (в качестве приближенных значений), когда это возможно, может значительно снизить уровень шума и ускорить время рендеринга.
источник
Уравнение рендеринга выглядит следующим образом:
Теперь интеграл по сфере вокруг точкиИкс , Вы объединяетесь в некотором ослабленном свете, поступающем со всех сторон.
Но сколько света приходит? Это светL(x′,ωi) что какой-то другой момент x′ отражает в направлении ωi точки x ,
Теперь вы должны рассчитать, сколько света эта новая точкаx′ отражает, что требует решения уравнения рендеринга для этой точки. И решение по этому вопросу зависит от огромного количества других пунктов, в том числеx ,
Короче говоря, уравнение рендеринга бесконечно рекурсивно.
Вы не можете решить это точно и аналитически, потому что у него есть бесконечные интегралы по бесконечным областям интеграции.
Но так как свет становится слабее каждый раз, когда он отражается, в какой-то момент человек просто не может больше заметить разницу. Таким образом, вы фактически не решаете уравнение рендеринга, но ограничиваете количество рекурсий (скажем, отражений) до того, что «достаточно близко».
источник