WikiDer > Radiosity (компьютерная графика)
Эта статья может быть слишком техническим для большинства читателей, чтобы понять. Пожалуйста помогите улучшить это к сделать понятным для неспециалистов, не снимая технических деталей. (Июль 2009 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
В 3D компьютерная графика, лучезарность это приложение метод конечных элементов к решению уравнение рендеринга для сцен с поверхностями, которые рассеивать свет. В отличие от рендеринг методы, которые используют Алгоритмы Монте-Карло (Такие как трассировка пути), которые обрабатывают все типы световых путей, типичное излучение учитывает только пути (представленные кодом "LD * E"), которые покидают источник света и диффузно отражаются некоторое количество раз (возможно, ноль), прежде чем попасть в глаз. Radiosity - это глобальное освещение алгоритм в том смысле, что освещение, поступающее на поверхность, исходит не только непосредственно от источников света, но и от других поверхностей, отражающих свет. Radiosity не зависит от точки зрения, что увеличивает объем вычислений, но делает их полезными для всех точек зрения.
Методы излучения были впервые разработаны примерно в 1950 году в инженерной области теплопередача. Позже они были усовершенствованы специально для задачи рендеринга компьютерной графики в 1984 году исследователями из Корнелл Университет[2] и Хиросимский университет.[3]
Известные коммерческие двигатели радиосвязи Enlighten by Геометрия (используется для игр, включая Battlefield 3 и Жажда скорости: бег); 3ds Max; форма • Z; LightWave 3D и Электрическая система анимации изображений.
Визуальные характеристики
Включение расчетов радиосвязи в процесс рендеринга часто придает добавленный элемент реализма готовой сцене из-за того, как она имитирует явления реального мира. Рассмотрим простую сцену в комнате.
Изображение слева было визуализировано с типичным рендерер прямого освещения. Есть три типа освещения в этой сцене, которые были специально выбраны и размещены художником в попытке создать реалистичное освещение: точечное освещение с тенями (размещены за окном, чтобы свет падал на пол), окружающее освещение (без которого любая часть комнаты, не освещенная прямым источником света, была бы полностью темной), и всенаправленное освещение без теней (для уменьшения равномерности окружающего освещения).
Изображение справа было визуализировано с использованием алгоритм радиосити. Здесь есть только один источник света: изображение неба за окном. Разница заметна. Комната светится светом. На полу видны мягкие тени, а по комнате заметны легкие световые эффекты. Кроме того, красный цвет ковра перетек на серые стены, придав им слегка теплый вид. Ни один из этих эффектов не был специально выбран или разработан художником.
Обзор алгоритма радиосити
Каждая поверхность сцены, которая должна быть визуализирована, делится на одну или несколько меньших поверхностей (патчей). коэффициент просмотра (также известен как фактор формы) вычисляется для каждой пары патчей; это коэффициент, описывающий, насколько хорошо пятна видят друг друга. Участки, расположенные далеко друг от друга или ориентированные под косым углом относительно друг друга, будут иметь меньшие факторы обзора. Если на пути есть другие патчи, коэффициент обзора будет уменьшен или равен нулю, в зависимости от того, является ли перекрытие частичным или полным.
Коэффициенты просмотра используются как коэффициенты в линейной системе уравнений визуализации. Решение этой системы дает свечение или яркость каждого участка с учетом диффузных взаимных отражений и мягких теней.
Прогрессивное излучение решает систему итеративно с промежуточными значениями излучения для патча, соответствующими уровням отражения. То есть после каждой итерации мы знаем, как сцена выглядит после одного отражения света, после двух проходов, двух отражений и так далее. Это полезно для интерактивного предварительного просмотра сцены. Кроме того, пользователь может остановить итерации, как только изображение будет выглядеть достаточно хорошо, вместо того, чтобы ждать, пока вычисление численно сойдется.
Другой распространенный метод решения уравнения светимости - это «съемка светимости», которая итеративно решает уравнение светимости, «выстреливая» свет из пятна с наибольшей энергией на каждом этапе. После первого прохода будут освещены только те участки, которые находятся в прямой видимости светоизлучающего участка. После второго прохода будут освещены другие участки, поскольку свет начнет отражаться от сцены. Сцена продолжает становиться ярче и в конце концов достигает устойчивого состояния.
Математическая формулировка
Базовый метод излучения основан на теории тепловое излучение, поскольку излучение основано на вычислении количества световой энергии, передаваемой между поверхностями. Для упрощения вычислений в методе предполагается, что все рассеяние идеально рассеивается. Поверхности обычно делятся на четырехугольные или треугольные. элементы над которым определена кусочно-полиномиальная функция.
После этого пробоя количество переданной световой энергии можно вычислить, используя известную отражательную способность отражающего пятна в сочетании с коэффициент просмотра из двух патчей. Этот безразмерная величина вычисляется из геометрической ориентации двух пятен и может рассматриваться как доля от общей возможной излучающей площади первого участка, которая покрывается вторым.
Вернее, лучистость B представляет собой энергию на единицу площади, покидающую поверхность пятна за дискретный интервал времени, и представляет собой комбинацию излучаемой и отраженной энергии:
куда:
- В (х)я dАя полная энергия, покидающая небольшую площадь dАя вокруг точки Икс.
- Бывший)я dАя это излучаемая энергия.
- р (х) - коэффициент отражения точки, дающий отраженную энергию на единицу площади путем умножения на падающую энергию на единицу площади (общую энергию, поступающую от других участков).
- S означает, что переменная интегрирования Икс' проходит по всем поверхностям сцены
- р это расстояние между Икс и Икс'
- θИкс и θИкс' углы между линией, соединяющей Икс и Икс' и векторы, нормальные к поверхности при Икс и Икс' соответственно.
- Vis (Икс,Икс' ) - функция видимости, равная 1, если две точки Икс и Икс' видны друг от друга и 0, если нет.
Если поверхности аппроксимированы конечным числом плоских пятен, каждый из которых считается имеющим постоянное излучение Bя и отражательная способность ρя, приведенное выше уравнение дает дискретное уравнение излучения,
куда Fij геометрический коэффициент просмотра для радиационного ухода j и ударил патч я.
Затем это уравнение можно применить к каждому участку. Уравнение является монохроматическим, поэтому для визуализации цветового излучения требуется расчет для каждого из требуемых цветов.
Методы решения
Формально уравнение можно решить как матричное уравнение, чтобы получить векторное решение:
Это дает полное решение "бесконечного отскока" для B напрямую. Однако количество вычислений для вычисления матричного решения масштабируется в соответствии с п3, куда п количество патчей. Это становится недопустимым для реально больших значений п.
Вместо этого уравнение легче решать итеративно, многократно применяя приведенную выше формулу обновления для однократного отскока. Формально это решение матричного уравнения по формуле Итерация Якоби. Поскольку коэффициенты отражения ρя меньше 1, эта схема сходится быстро, обычно требуется всего несколько итераций для получения разумного решения. Также можно использовать другие стандартные итерационные методы для решения матричных уравнений, например Метод Гаусса – Зейделя, где обновленные значения для каждого патча используются в вычислениях, как только они вычисляются, а не все обновляются синхронно в конце каждого цикла. Решение также можно настроить так, чтобы перебирать каждый из отправляющих элементов по очереди в своем основном внешнем цикле для каждого обновления, а не для каждого из получающих исправлений. Это известно как стрельба вариант алгоритма, в отличие от встреча вариант. Используя взаимность множителя, Ая Fij = Аj Fджи, уравнение обновления также можно переписать с точки зрения коэффициента обзора Fджи видел каждый отправка пластырь Аj:
Это иногда называют формулировкой «мощности», поскольку теперь обновляется общая передаваемая мощность каждого элемента, а не его радиосигнал.
В коэффициент просмотра Fij сам по себе может быть рассчитан несколькими способами. Ранние методы использовали гемикуб (воображаемый куб с центром на первой поверхности, на которую проецируется вторая поверхность, изобретенный Майкл Ф. Коэн и Дональд П. Гринберг в 1985 г.). Поверхность гемикуба была разделена на пиксельные квадраты, для каждого из которых коэффициент обзора можно легко вычислить аналитически. Полный форм-фактор можно затем приблизительно определить, добавив вклад каждого пиксельного квадрата. Проекция на гемикуб, которую можно было адаптировать из стандартных методов определения видимости многоугольников, также решила проблему промежуточных пятен, частично скрывающих те, что позади.
Однако все это было довольно вычислительно дорого, потому что в идеале форм-факторы должен быть получен для каждой возможной пары патчей, что приведет к квадратичный увеличение вычислений по мере увеличения количества исправлений. Это можно несколько уменьшить, используя дерево разделения двоичного пространства сократить время, затрачиваемое на определение того, какие патчи полностью скрыты от других в сложных сценах; но даже в этом случае время, затрачиваемое на определение форм-фактора, обычно масштабируется как п бревно п. Новые методы включают адаптивную интеграцию.[4]
Выборочные подходы
Форм-факторы Fij сами по себе на самом деле явно не нужны ни в одном из уравнений обновления; ни для оценки общей интенсивности ∑j Fij Bj собрал со всего взгляда, ни прикинуть, как мощность Аj Bj излучаемый распространяется. Вместо этого эти обновления могут быть оценены методами выборки, без необходимости явно рассчитывать форм-факторы. С середины 1990-х годов такие подходы к отбору проб наиболее часто использовались для практических расчетов радиосигнала.
Собранную интенсивность можно оценить, сгенерировав набор образцов в единичном круге, подняв их на полушарие, а затем посмотрев, каково было излучение элемента, от которого исходил бы луч, падающий в этом направлении. В таком случае оценка общей собранной интенсивности представляет собой просто среднее значение радиостей, обнаруженных каждым лучом. Точно так же в формулировке мощности мощность может распределяться путем генерирования набора лучей от излучающего элемента таким же образом и распределения мощности, которая равномерно распределяется между каждым элементом, на который попадает луч.
По сути, это то же самое распределение, что и отслеживание пути программа могла бы отследить один шаг диффузного отражения; или что программа двунаправленной трассировки лучей будет выполнять выборку для достижения одного шага прямого диффузного отражения при прямом отображении источника света. Таким образом, выборочный подход в некоторой степени представляет собой конвергенцию между двумя методами, при этом остается ключевое различие в том, что метод радиосити направлен на построение достаточно точной карты яркости всех поверхностей в сцене, а не просто на представление текущего Посмотреть.
Сокращение времени вычислений
Хотя в своей основной форме предполагается, что радиосигнал имеет квадратичное увеличение времени вычисления с добавлением геометрии (поверхностей и участков), это не обязательно. Проблему радиосити можно перефразировать как проблему визуализации наложена текстура место действия. В этом случае время вычислений увеличивается только линейно с количеством исправлений (игнорируя сложные проблемы, такие как тайник использовать).
Следуя коммерческому энтузиазму по поводу изображений с улучшенным излучением, но до стандартизации быстрых вычислений излучения, многие архитекторы и художники-графики использовали технику, в общих чертах называемую ложное излучение. Затемняя области текстурных карт, соответствующие углам, стыкам и углублениям, и применяя их через самоосвещение или диффузное сопоставление, можно создать подобный лучистости эффект взаимодействия фрагментов с помощью стандартного средства рендеринга строк развертки (см. окружающая окклюзия).
Статическое, предварительно вычисленное излучение может отображаться в реальном времени через Карты освещения на текущих настольных компьютерах со стандартным аппаратное ускорение графики.
Преимущества
Одним из преимуществ алгоритма Radiosity является то, что его относительно просто объяснить и реализовать. Это делает его полезным алгоритмом для обучения студентов алгоритмам глобального освещения. Типичный рендерер прямого освещения уже содержит почти все алгоритмы (перспективные преобразования, наложение текстуры, удаление скрытой поверхности) требуется для реализации радиосигнала. Для понимания или реализации этого алгоритма не требуется глубоких знаний математики.[нужна цитата].
Ограничения
Типичные методы излучения учитывают только световые пути формы LD * E, то есть пути, которые начинаются от источника света и совершают множественные диффузные отражения, прежде чем достичь глаза. Хотя есть несколько подходов к интеграции других эффектов освещения, таких как зеркальный[5] и глянцевый[6] отражения, методы, основанные на излучении, обычно не используются для решения полного уравнения визуализации.
Базовое излучение также имеет проблемы с разрешением внезапных изменений видимости (например, резких теней), потому что грубая, регулярная дискретизация на кусочно-постоянные элементы соответствует коробчатый фильтр нижних частот пространственной области. Разрывная сетка [1] использует знания о событиях видимости для создания более интеллектуальной дискретизации.
Путаница в терминологии
Излучение было, пожалуй, первым широко используемым алгоритмом рендеринга, учитывающим диффузное непрямое освещение. Более ранние алгоритмы рендеринга, такие как Белый стиль трассировка лучей были способны вычислять такие эффекты, как отражения, преломления и тени, но, несмотря на то, что они были очень глобальными явлениями, эти эффекты обычно не назывались "глобальное освещение. "Как следствие, сроки"диффузное взаимное отражение"и" излучение "стали путаться с" глобальным освещением "в популярных язык. Однако это три разные концепции.
Метод радиосити в контексте компьютерной графики происходит от (и в основном аналогичен) методу радиосигнала в теплопередача. В контексте, лучезарность - полный поток излучения (как отраженного, так и переизлучаемого), покидающего поверхность; это также иногда называют сияющий выход. Расчет излучения, а не температуры поверхности, является ключевым аспектом метода излучения, который позволяет линейная матрица методы, которые необходимо применить к проблеме.
Смотрите также
Рекомендации
- ^ Дудка, Камиль. "RRV - визуализатор и визуализатор радиосити". dudka.cz. Получено 1 февраля 2013.
- ^ "Синди Горал, Кеннет Э. Торранс, Дональд П. Гринберг и Б. Баттейл,Моделирование взаимодействия света между рассеянными поверхностями",, Компьютерная графика, Vol. 18, № 3. (PDF)
- ^ "Т. Нишита, Э. Накамаэ,Полутоновое представление трехмерных объектов с гладкими краями с помощью метода множественного сканирования",,Journal of IPSJ, Vol.25, No. 5, pp.703-711, 1984 (на японском языке) (PDF)
- ^ Дж. Уолтон, Расчет факторов затрудненного просмотра с помощью адаптивной интеграции, Отчет NIST NISTIR-6925, смотрите также http://view3d.sourceforge.net/
- ^ Уоллес, Джон Р .; Коэн, Майкл Ф .; Гринберг, Дональд П. (август 1987 г.). «Двухпроходное решение уравнения рендеринга: синтез методов трассировки лучей и излучения». SIGGRAPH Comput. График. 21 (4): 311–320. Дои:10.1145/37402.37438. ISSN 0097-8930.
- ^ «Кластеризация для глянцевого глобального освещения». Архивировано из оригинал на 2006-10-12. Получено 2006-12-29.
дальнейшее чтение
- Обзор Radiosity, из HyperGraph of SIGGRAPH (обеспечивает алгоритм полного матричного излучения и алгоритм прогрессивного излучения)
- Сияние, Хьюго Элиас (также дает общий обзор алгоритмов освещения вместе с примерами программирования)
- Сияние, Аллен Мартин (немного более математическое объяснение лучистости)
- РОВЕР, доктор Тралвекс Йип (Библиотека рефератов и библиографии Radiosity)
- Radiosity: основные реализации (Базовое обследование радиосвязи)
внешняя ссылка
- RADical, Параг Чаудхури (реализация варианта съемки и сортировки алгоритма прогрессивного радиосигнала с ускорением OpenGL, расширяющаяся от GLUTRAD by Colbeck)
- Средство визуализации и визуализации Radiosity (простая реализация рендерера радиосити на основе OpenGL)
- Просветить (Лицензионный программный код, обеспечивающий радиосвязь в реальном времени для компьютерных игр. Разработан британской компанией. Геометрия)