Уравнение рендеринга

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Уравнение рендеринга определяет общее количество света испущенного из заданной точки x по заданному направлению, учитывая функцию входящего излучения и двунаправленную функцию распределения отражения.

В компьютерной графике уравнение рендеринга — интегральное уравнение, которое определяет количество светового излучения в определённом направлении как сумму собственного и отражённого излучения. Уравнение впервые было опубликовано в работах David Immel[1] и James Kajiya[2] в 1986 году. Различные алгоритмы компьютерной графики решают это основное уравнение.

Физической основой уравнения является закон сохранения энергии. Пусть L — это количество излучения по заданному направлению в заданной точке пространства. Тогда количество исходящего излучения (Lo) — это сумма излучённого света (Le) и отражённого света. Отражённый свет может быть представлен как сумма приходящего излучения (Li) по всем направлениям умноженного на коэффициент отражения из данного угла.

Уравнение рендеринга может быть представлено как:

[math]\displaystyle{ L_o(\mathbf x, \omega, \lambda, t) = L_e(\mathbf x, \omega, \lambda, t) + \int_\Omega f_r(\mathbf x, \omega', \omega, \lambda, t) L_i(\mathbf x, \omega', \lambda, t) (-\omega' \cdot \mathbf n) d \omega' }[/math]

где:

  • [math]\displaystyle{ \lambda }[/math] — длина волны света
  • [math]\displaystyle{ t }[/math] — время
  • [math]\displaystyle{ L_o(\mathbf x, \omega, \lambda, t) }[/math] — количество излучения заданной длины волны [math]\displaystyle{ \lambda }[/math] исходящего вдоль направления [math]\displaystyle{ \omega }[/math] во время [math]\displaystyle{ t }[/math], из заданой точки [math]\displaystyle{ \mathbf x }[/math]
  • [math]\displaystyle{ L_e(\mathbf x, \omega, \lambda, t) }[/math] — излучённый свет
  • [math]\displaystyle{ \int_\Omega \cdots d\omega' }[/math] — интеграл по полусфере входящих направлений
  • [math]\displaystyle{ f_r(\mathbf x, \omega', \omega, \lambda, t) }[/math] — двунаправленная функция распределения отражения (иначе двулучевая функция отражательной способности (ДФОС, англ. Bidirectional reflectance distribution function — BRDF)), количество излучения отражённого от [math]\displaystyle{ \omega' }[/math] к [math]\displaystyle{ \omega }[/math] в точке [math]\displaystyle{ \mathbf x }[/math], во время [math]\displaystyle{ t }[/math], на длине волны [math]\displaystyle{ \lambda }[/math]
  • [math]\displaystyle{ L_i(\mathbf x, \omega', \lambda, t) }[/math] — длина волны [math]\displaystyle{ \lambda }[/math] по входящему направление к точке [math]\displaystyle{ \mathbf x }[/math] из направления [math]\displaystyle{ \omega' }[/math] во время [math]\displaystyle{ t }[/math]
  • [math]\displaystyle{ -\omega' \cdot \mathbf n }[/math] — поглощение входящего излучения по заданному углу

Уравнение имеет три особенности: оно линейно, а также изотропно и однородно — то есть одинаково для всех направлений и точек пространства.

Примечания

  1. Immel, David S.; Cohen, Michael F. & Greenberg, Donald P. (1986), A radiosity method for non-diffuse environments, Siggraph 1986: 133, DOI 10.1145/15922.15901 
  2. Kajiya, James T. (1986), The rendering equation, Siggraph 1986: 143, doi:10.1145/15922.15902, <http://www.cse.chalmers.se/edu/year/2011/course/TDA361/2007/rend_eq.pdf>  Архивная копия от 14 апреля 2021 на Wayback Machine