Уравнение рендеринга - почему неразрешимо напрямую?

9

Почему уравнение рендеринга, введенное Кадзией в 1986 году, не может быть решено напрямую / аналитически?

Blongphong
источник
5
Хороший вопрос, никаких исследований.
ivokabel
Как много вы знаете об интегральных уравнениях в целом? Вы спрашиваете об аналитическом решении этого вопроса?
Галуа

Ответы:

16

К сожалению, я не могу добавить комментарий к ответу выше (недостаточно репутации), поэтому я сделаю это так.

Я хотел бы отметить, что то, что описывает Dragonseel, является просто интегральным уравнением (в частности, уравнением Фредгольма второго рода). Есть много таких уравнений, которые имеют аналитическое решение; даже некоторые формы уравнения рендеринга имеют одну (например, решение белой печи может быть дано с использованием простого сходящегося геометрического ряда, даже если уравнение рендеринга бесконечно рекурсивно).

Также нет необходимости смещать оценочное решение, ограничивая количество рекурсий. Русская рулетка предоставляет полезный инструмент для предоставления нам беспристрастного решения для бесконечно рекурсивного уравнения рендеринга.

Основная трудность заключается в том, что функции для отражения (BRDF), излучаемое излучение и видимость очень сложны и часто содержат много разрывов. В этих случаях часто нет аналитического решения, или просто невозможно найти такое решение. Это также верно в одномерном случае; большинству интегралов не хватает аналитических решений.

Наконец, я хотел бы отметить, что, хотя большинство случаев уравнения рендеринга не имеют аналитических решений, существует много исследований в формах уравнения рендеринга, которые имеют аналитическое решение. Использование таких решений (в качестве приближенных значений), когда это возможно, может значительно снизить уровень шума и ускорить время рендеринга.

Том ван Бассел
источник
13

Уравнение рендеринга выглядит следующим образом:

введите описание изображения здесь

Теперь интеграл по сфере вокруг точки x, Вы объединяетесь в некотором ослабленном свете, поступающем со всех сторон.

Но сколько света приходит? Это светL(x,ωi) что какой-то другой момент x отражает в направлении ωi точки x,

Теперь вы должны рассчитать, сколько света эта новая точка xотражает, что требует решения уравнения рендеринга для этой точки. И решение по этому вопросу зависит от огромного количества других пунктов, в том числеx,

Короче говоря, уравнение рендеринга бесконечно рекурсивно.

Вы не можете решить это точно и аналитически, потому что у него есть бесконечные интегралы по бесконечным областям интеграции.

Но так как свет становится слабее каждый раз, когда он отражается, в какой-то момент человек просто не может больше заметить разницу. Таким образом, вы фактически не решаете уравнение рендеринга, но ограничиваете количество рекурсий (скажем, отражений) до того, что «достаточно близко».

Dragonseel
источник
1
Ну, вы, вероятно, могли бы решить уравнение рендеринга для точки аналитически, если бы у вас была тупо простая сцена. И, возможно, вы могли бы получить аналитическое решение для всего проецируемого изображения, если ваша сцена еще проще. Но это было бы бесполезно ... :)
Joojaa
3
Сцена должна быть очень простой, как только один плоский объект. Поскольку существует интеграция по всей сфере, даже если есть две точки, которые могут видеть друг друга, уравнение рендеринга становится бесконечным. Каждая точка включает другую в области интеграции. поэтому только один отражатель, который не может отражаться сам по себе. тогда вы могли бы решить это. Тогда бы не было глобальных световых эффектов, так что все сводится к локальному освещению. И это разрешимо.
Dragonseel
Да, это было бы глупо просто.
Джуджаа
2
@joojaa Насколько я понимаю, дело не в том, что уравнение рендеринга невозможно решить во всех случаях, а в том, что в любое время оно разрешимо, оно бесполезно
галуа
4
К вашему сведению, синтаксис Mathjax работает на этом StackExchange, поэтому, если вы поместите знаки $ вокруг своих идентификаторов, они будут выглядеть как математика.
Жюльен Герто,