Jump to content

Радиосити (компьютерная графика)

Сцена визуализирована с помощью RRV [1] (простая реализация рендеринга радиосити на основе OpenGL) 79-я итерация
Корнеллский ящик , визуализированный с помощью BMRT и без него.

В 3D-компьютерной графике излучательность это применение метода конечных элементов для решения уравнения рендеринга для сцен с поверхностями, которые диффузно отражают свет . В отличие от методов рендеринга , использующих алгоритмы Монте-Карло (такие как трассировка пути ), которые обрабатывают все типы световых путей, типичное излучение учитывает только пути (представленные кодом «LD*E»), которые покидают источник света и отражаются диффузно в некоторых случаях. количество раз (возможно, ноль), прежде чем попадет в глаз. Излучение — это глобального освещения алгоритм в том смысле, что освещение, попадающее на поверхность, исходит не только непосредственно от источников света, но и от других поверхностей, отражающих свет. Радиоситивность не зависит от точки зрения, что увеличивает объем необходимых вычислений, но делает их полезными для всех точек зрения.

Методы радиации были впервые разработаны примерно в 1950 году в области техники теплопередачи . Позже в 1984 году они были усовершенствованы специально для проблемы рендеринга компьютерной графики исследователями Корнелльского университета. [2] и Университет Хиросимы . [3]

Известными коммерческими движками радиосити являются Enlighten от Geomerics (используется в таких играх, как Battlefield 3 и Need for Speed: The Run ); 3дс Макс ; форма•Z ; LightWave 3D и электрическая система анимации изображений .

Визуальные характеристики

[ редактировать ]
Разница между стандартным прямым освещением без теневой полутени и лучистостью с теневой полутенью

Включение вычислений излучательности в процесс рендеринга часто придает дополнительный элемент реализма готовой сцене из-за того, как она имитирует явления реального мира. Рассмотрим простую сцену в комнате.

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

Изображение справа было визуализировано с использованием алгоритма радиации . Есть только один источник света : изображение неба за окном. Разница заметна. Комната светится светом. На полу видны мягкие тени, а по комнате заметны тонкие световые эффекты. Кроме того, красный цвет ковра перелился на серые стены, придав им немного теплый вид. Ни один из этих эффектов не был специально выбран или разработан художником.

Обзор алгоритма радиосити

[ редактировать ]

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

Коэффициенты просмотра используются в качестве коэффициентов в линейной системе уравнений рендеринга. Решение этой системы дает излучательность или яркость каждого участка с учетом диффузных взаимных отражений и мягких теней.

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

По мере выполнения алгоритма можно увидеть, как свет проникает в сцену, поскольку вычисляются множественные отражения. Отдельные пятна видны в виде квадратов на стенах и полу.

Другой распространенный метод решения уравнения излучательности - это «стрельба по излучению», при котором уравнение излучательности итеративно решается путем «выстреливания» света из участка с наибольшей энергией на каждом этапе. После первого прохода будут освещены только те пятна, которые находятся в прямой видимости светоизлучающего пятна. После второго прохода больше пятен станут освещенными, поскольку свет начнет отражаться по сцене. Сцена продолжает становиться ярче и в конечном итоге достигает устойчивого состояния.

Математическая формулировка

[ редактировать ]

Базовый метод излучательности основан на теории теплового излучения , поскольку излучательность основана на вычислении количества световой энергии, передаваемой между поверхностями. Чтобы упростить вычисления, метод предполагает, что все рассеяние является совершенно диффузным . Поверхности обычно дискретизируются на четырехугольные или треугольные элементы , над которыми определяется кусочно-полиномиальная функция.

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

Точнее, излучательность B — это энергия на единицу площади, покидающая поверхность пятна за дискретный интервал времени, и представляет собой комбинацию излучаемой и отраженной энергии:

где:

  • B(x) i d A i — полная энергия, оставляющая небольшую область d A i вокруг точки x .
  • E(x) i d A i — излучаемая энергия.
  • ρ(x) — это отражательная способность точки, определяющая отраженную энергию на единицу площади путем умножения на падающую энергию на единицу площади (общая энергия, поступающая от других участков).
  • S означает, что переменная интегрирования x ' проходит по всем поверхностям сцены.
  • r - расстояние между x и x'
  • θ x и θ x’ — это углы между линией, соединяющей x и x’ , и векторами, нормальными к поверхности в точках x и x’ соответственно.
  • Vis( x , x' ) — это функция видимости, равная 1, если две точки x и x' видны друг от друга, и 0, если это не так.
Геометрический форм-фактор (или «проецируемый телесный угол») F ij .

F ij можно получить, проецируя элемент A j на поверхность единичной полусферы, а затем проецируя его, в свою очередь, на единичный круг вокруг интересующей точки в плоскости A i . Тогда форм-фактор равен доле единичного круга, охватываемой этой проекцией.

Формфакторы подчиняются соотношению взаимности A i F ij = A j F ji

Если поверхности аппроксимируются конечным числом плоских участков, каждый из которых имеет постоянную излучательность B i и отражательную способность ρ i , приведенное выше уравнение дает дискретное уравнение излучательности:

где Fij — коэффициент геометрической видимости для излучения, выходящего из j и попадающего в пятно i .

Это уравнение затем можно применить к каждому патчу. Уравнение является монохроматическим, поэтому цветопередача лучистости требует расчета для каждого из необходимых цветов.

Методы решения

[ редактировать ]

Уравнение формально можно решить как матричное уравнение, чтобы получить векторное решение:

Это дает полное решение «бесконечного отскока» для B напрямую. Однако количество вычислений для вычисления матричного решения масштабируется в соответствии с n 3 , где n — количество патчей. Это становится невозможным для реально больших значений n .

Вместо этого уравнение легче решить итеративно, многократно применяя приведенную выше формулу обновления однократного отскока. Формально это решение матричного уравнения итерацией Якоби . Поскольку коэффициенты отражения ρ i меньше 1, эта схема быстро сходится, обычно требуя всего несколько итераций для получения разумного решения. Также можно использовать другие стандартные итерационные методы решения матричных уравнений, например метод Гаусса-Зейделя , где обновленные значения для каждого патча используются в расчете сразу после их расчета, а не все обновляются синхронно в конце каждого мести. Решение также можно настроить так, чтобы он поочередно перебирал каждый из отправляющих элементов в своем главном внешнем цикле для каждого обновления, а не для каждого из принимающих патчей. Это известен как для стрельбы вариант алгоритма , в отличие от варианта для сбора . Используя взаимность коэффициента просмотра A i F ij = A j F ji , уравнение обновления также можно переписать в терминах фактора обзора. F ji, видимый каждым отправляющим патчем A j :

Иногда это называют формулировкой «мощности», поскольку теперь обновляется общая передаваемая мощность каждого элемента, а не его излучательность.

F Сам коэффициент обзора ij можно рассчитать несколькими способами. В ранних методах использовался полукуб (воображаемый куб с центром на первой поверхности, на который была проецирована вторая поверхность, изобретенный Майклом Ф. Коэном и Дональдом П. Гринбергом в 1985 году). Поверхность полукуба была разделена на пиксельные квадраты, для каждого из которых коэффициент обзора можно легко рассчитать аналитически. Полный форм-фактор затем можно было бы аппроксимировать путем сложения вклада каждого из пиксельных квадратов. Проекция на полукуб, которую можно было адаптировать из стандартных методов определения видимости многоугольников, также решила проблему промежуточных пятен, частично закрывающих те, что позади.

Однако все это было довольно затратно в вычислительном отношении , поскольку в идеале форм-факторы должны быть получены для каждой возможной пары патчей, что приводило к квадратичному увеличению вычислений по мере увеличения количества патчей. Это можно несколько уменьшить, используя дерево разделения двоичного пространства , чтобы сократить количество времени, затрачиваемое на определение того, какие патчи полностью скрыты от других в сложных сценах; но даже в этом случае время, затрачиваемое на определение форм-фактора, обычно масштабируется как n log n . Новые методы включают адаптивную интеграцию. [4]

Подходы к выборке

[ редактировать ]

Формфакторы F ij сами по себе на самом деле явно не нужны ни в одном из уравнений обновления; ни для оценки общей интенсивности Σ j F ij B j, мощность A j B j собранной из всего изображения, ни для оценки того, как распределяется излучаемая . Вместо этого эти обновления можно оценить с помощью выборочных методов без необходимости явного расчета форм-факторов. С середины 1990-х годов такие подходы к выборке стали наиболее часто используемыми методами практических расчетов радиационности.

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

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

Сокращение времени вычислений

[ редактировать ]

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

Следуя коммерческому энтузиазму в отношении изображений с усилением излучательности, но до стандартизации быстрого расчета излучательности, многие архитекторы и художники-графики использовали технику, широко называемую ложной излучательностью . Путем затемнения областей текстурных карт, соответствующих углам, [ нужна ссылка ] стыков и углублений и применяя их посредством самоподсветки или диффузного картирования, эффект взаимодействия патчей, подобный излучению, можно создать с помощью стандартного средства рендеринга строк сканирования (см. Ambient occlusion ).

Статическое, заранее рассчитанное излучение может отображаться в реальном времени с помощью Lightmaps на современных настольных компьютерах со стандартным оборудованием для ускорения графики .

Преимущества

[ редактировать ]
Современный рендер чайника из Юты . В этой сцене для всего рассеянного освещения использовалось излучение.

Одним из преимуществ алгоритма Radiosity является то, что его относительно просто объяснить и реализовать. Это делает его полезным алгоритмом для обучения студентов алгоритмам глобального освещения. Типичный рендерер прямого освещения уже содержит почти все алгоритмы ( преобразования перспективы , наложение текстур , удаление скрытых поверхностей ), необходимые для реализации излучательности. Для понимания или реализации этого алгоритма не требуется глубокого понимания математики. [ нужна ссылка ] .

Ограничения

[ редактировать ]

Типичные методы измерения излучаемости учитывают только пути света формы LD*E, т.е. пути, которые начинаются от источника света и совершают множественные диффузные отражения, прежде чем достичь глаза. Хотя существует несколько подходов к интеграции других эффектов освещения, таких как зеркальное отражение. [5] и глянцевый [6] отражений, методы, основанные на излучении, обычно не используются для решения полного уравнения рендеринга.

Базовая излучательность также имеет проблемы с разрешением внезапных изменений видимости (например, резких теней), поскольку грубая, регулярная дискретизация на кусочно-постоянные элементы соответствует коробчатому фильтру нижних частот пространственной области. Построение сетки разрывов [1] использует знания о событиях видимости для создания более интеллектуальной дискретизации.

Путаница в терминологии

[ редактировать ]

Radiosity был, пожалуй, первым широко используемым алгоритмом рендеринга, который учитывал рассеянное непрямое освещение. Более ранние алгоритмы рендеринга, такие как в стиле Уиттеда, трассировка лучей были способны вычислять такие эффекты, как отражения, преломления и тени, но, несмотря на то, что эти эффекты были весьма глобальными явлениями, эти эффекты обычно не назывались « глобальным освещением ». Как следствие, термины « диффузное взаимное отражение стали путать с «глобальным освещением» » и «излучение» в просторечии . Однако это три разные концепции.

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

См. также

[ редактировать ]
  1. ^ Дудка, Камиль. «RRV — средство рендеринга и визуализации радиосити» . dudka.cz . Проверено 1 февраля 2013 г.
  2. ^ «Синди Горал, Кеннет Э. Торранс, Дональд П. Гринберг и Б. Баттайл, Моделирование взаимодействия света между диффузными поверхностями », Компьютерная графика , Vol. 18, № 3. ( PDF )
  3. ^ «Т. Нишита, Э. Накамаэ, Полутоновое представление трехмерных объектов с гладкими краями с помощью метода многократного сканирования », Журнал IPSJ, Том 25, № 5, стр. 703-711, 1984 (на японском языке) ( PDF )
  4. ^ Дж. Уолтон, Расчет факторов затрудненного обзора посредством адаптивной интеграции , Отчет NIST NISTIR-6925 , см. также http://view3d.sourceforge.net/
  5. ^ Уоллес, Джон Р.; Коэн, Майкл Ф.; Гринберг, Дональд П. (август 1987 г.). «Двухпроходное решение уравнения рендеринга: синтез методов трассировки лучей и излучательности». ACM SIGGRAPH Компьютерная графика . 21 (4): 311–320. дои : 10.1145/37402.37438 . ISSN   0097-8930 .
  6. ^ «Кластеризация для глянцевого глобального освещения» . Архивировано из оригинала 12 октября 2006 г. Проверено 29 декабря 2006 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
  • RADical от Парага Чаудхури (реализация варианта стрельбы и сортировки алгоритма прогрессивной радиации с ускорением OpenGL, являющегося продолжением GLUTRAD от Колбека)
  • Radiosity Renderer и Visualizer (простая реализация Radiosity Renderer на основе OpenGL )
  • Enlighten (Лицензионный программный код, обеспечивающий радиацию в реальном времени для компьютерных игровых приложений. Разработан британской компанией Geomerics )
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ad8dce650bb4ce07c4fe2fb292d95223__1703716740
URL1:https://arc.ask3.ru/arc/aa/ad/23/ad8dce650bb4ce07c4fe2fb292d95223.html
Заголовок, (Title) документа по адресу, URL1:
Radiosity (computer graphics) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)