Синтез изображения

3D-сцена, визуализированная различными методами

Синтез или рендеринг изображения (от английского (to) render , немецкий для  производства чего-либо, для публикации чего-либо, для выполнения чего-либо ) относится к созданию изображения из необработанных данных в компьютерной графике . Исходные данные могут быть геометрическими описаниями в 2D или 3D пространстве (также называемом сценой ), HTML , SVG и т. Д.

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

Компьютерные программы для рендеринга изображений называются рендерерами . Различают B. движок рендеринга для компьютерных игр, рендерер HTML и т. Д.

При рендеринге обычно необходимо решить следующие задачи:

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

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

Визуализированное изображение с эффектами отражения и глубины резкости.

Рендеринг в реальном времени

При рендеринге в реальном времени серия изображений быстро вычисляется, а основная сцена интерактивно изменяется пользователем. Расчет выполняется достаточно быстро, чтобы последовательность изображений воспринималась как динамический процесс. Интерактивное использование возможно при частоте кадров около 6 кадров в секунду; при 15 кадрах в секунду можно с уверенностью говорить о реальном времени. На современных компьютерах рендеринг в реальном времени поддерживается аппаратным ускорением с помощью видеокарт . За некоторыми исключениями, графическое оборудование поддерживает только точки, линии и треугольники в качестве основных графических объектов .

Графический конвейер

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

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

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

Шаг геометрии берет на себя большую часть операций с вершинами , угловыми точками основных объектов. Его можно разделить на различные подэтапы, которые последовательно выполняют преобразования в разные системы координат . Чтобы упростить перспективную иллюстрацию, почти все геометрические операции геометрического шага работают с однородными координатами . Точки задаются четырьмя координатами, а преобразования - матрицами 4 × 4 .

Прежде всего, все основные объекты сцены преобразуются таким образом, что виртуальный наблюдатель смотрит по оси z (глубина). Если сцена содержит источники света, цвет вычисляется для каждой вершины на основе свойств материала соответствующего треугольника. Объемом сцены , видимой для наблюдателя является усеченной пирамидой ( усеченный ). На следующем этапе усеченная пирамида превращается в куб, который соответствует центральной проекции. Основные объекты, которые частично или полностью находятся за пределами видимого объема, обрезаются или удаляются с использованием методов отсечения и отсечения . Наконец, применяется преобразование, которое перемещает координаты вершины в желаемую область рисования на экране. В Z -координаты сохраняются , так как они необходимы для последующего расчета окклюзии.

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

Графические API

Графические API-интерфейсы обычно используются для управления графическими конвейерами , которые абстрагируют графическое оборудование и освобождают программиста от многих задач. OpenGL стандарт первоначально введенный Silicon Graphics внес значительный вклад в развитие реального времени рендеринга. Последние инновации в OpenGL и Microsoft DirectX в основном используются в современных компьютерных играх . Помимо DirectX и OpenGL, были и другие подходы, такие как Glide , которые, однако, не смогли преобладать. OpenGL очень важен в профессиональной сфере. DirectX, с другой стороны, сильно оптимизирован для разработки игр. DirectX - это проприетарное программное обеспечение , доступное только в Windows ; это не открытый стандарт.

Исторические приемы

Смотрите также историю компьютерной графики

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

На заре компьютерных игр с интерактивной трехмерной графикой все вычислительные операции с графикой по-прежнему выполнялись главным процессором компьютера. Следовательно, можно использовать только очень простые и ограниченные методы рендеринга. Шутер от первого лица Wolfenstein 3D (1992), например, использовал raycasting для расчета окклюзии , с помощью которого могут быть представлены только фиксированный размер по высоте и комнаты , примыкающие друг к другу под прямым углом. Doom объединил raycasting с разделением двумерного двоичного пространства для повышения эффективности и рендеринга более сложных сцен.

Затенение и прямое освещение

В качестве затенения (dt.: Shading ) расчет цвета поверхностей с использованием связанных общих свойств материала и непосредственно поступающего от источников света соответственно. Затенение используется как при визуализации в реальном времени, так и при реалистичной визуализации. Непрямое освещение других поверхностей изначально не учитывается. Особый случай представляют нефотореалистичные методы затенения ( нефотореалистичный рендеринг ) , в которых, например, искажения создаются по эстетическим причинам, например, затенение cel для изображений, похожих на комиксы.

Источники света и тени

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

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

Модели местного освещения

Отражение света на Ламбертовской (идеально рассеянной), менее шероховатой (блестящей) и гладкой (отражающей) поверхности

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

Микроскопические неровности означают, что свет не отражается, но с определенной вероятностью отражается в другом направлении. Распределение вероятностей, которое описывает такое поведение материала, называется функцией двунаправленного распределения отражательной способности (BRDF). Модели местного освещения - это в основном параметризуемые BRDF. Идеально диффузные поверхности можно смоделировать , например, с помощью закона Ламберта, а блестящие поверхности - с помощью модели освещения Фонга . При рендеринге в реальном времени часто используется комбинация диффузного, глянцевого и постоянного коэффициентов. Кроме того, были разработаны физически более правдоподобные модели для синтеза реалистичных изображений.

BRDF предполагает, что свет, приходящий в одну точку на поверхности, также выходит именно там. На самом деле неметаллические тела рассеивают свет внутри себя, что приводит к более мягкому внешнему виду. Моделирование этого объемного разброса особенно важно для синтеза реалистичного изображения.

Интерполированное затенение

Тело (точнее многогранник ), отображается с затенением на левой сторону , с Гуро справа , так что она выглядит как сферы (или эллипсоид вращения ). Описание корпуса доступно в виде каркасной модели , потому что важна только площадь , а не объем! Реальную сферу можно было бы описать гораздо меньшим количеством параметров: центр + радиус . Вместо этого вы описываете поверхности, используя множество вершин, и соединяете их друг с другом прямыми линиями. Одни модели прописывают треугольники, другие квадраты. К этим вершинам применяются вычисления. Этот метод используется не только при синтезе изображений, но и z. Б. также с численным моделированием ( FEM ).

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

Методы картирования

Сферы с разными процедурными текстурами
Карта рельефа для имитации неровностей поверхности, в середине используется карта рельефа.

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

  • Отображение текстуры - это старейшая техника отображения, которая используется для изображения двухмерного изображения (текстуры) на поверхности или для «приклеивания» его к ней. Помимо растровой графики также используются процедурные текстуры , в которых цвет в точке определяется математической функцией. При определении значения цвета возможны различные методы фильтрации. Mip-отображение является обычным явлением на графическом оборудовании , в котором текстуры доступны в различных разрешениях изображения из соображений эффективности .
  • Отображение рельефа используется для имитации неровностей поверхности. Фактические векторы нормалей на поверхности нарушаются картой рельефа . Однако это не влияет на геометрию объекта.
  • Отображение смещения также используется для имитации неровностей поверхности, но в отличие от отображения рельефа, геометрия поверхности фактически изменяется. Поскольку для этого обычно не хватает вершин, добавляются дополнительные точки поверхности, которые смещаются в соответствии с полем высоты .
  • Отображение среды или отображение отражения используется для имитации эффектов зеркального отражения при рендеринге в реальном времени. Для этого зритель направляет луч на отражающий объект и отражает его. В отличие от трассировки лучей (см. Ниже), точка пересечения отраженного луча с ближайшей поверхностью не вычисляется. Вместо этого значение цвета определяется из предварительно рассчитанного изображения сцены на основе направления луча.

Реалистичный рендеринг и глобальное освещение

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

Математически глобальное освещение описывается уравнением рендеринга , которое использует радиометрические величины, чтобы указать, сколько света достигает точки поверхности от другой точки поверхности после отражения . Уравнение рендеринга может быть вычислено с помощью трассировки лучей , в особых случаях - также с использованием радиосигнала . В дополнение к этим двум замечательным методам синтеза реалистичных изображений используются варианты системы REYES , особенно в пленочной технологии .

трассировка лучей

Изображение рассчитано с помощью трассировки лучей. Отражения и преломления света сравнительно просты с трассировкой лучей.

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

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

Лучистость

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

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

Объемная графика

Изображение черепа с использованием средств объемной графики.

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

литература

  • Томас Акенин-Мёллер, Эрик Хейнс: рендеринг в реальном времени. AK Peters, Natick, Mass. 2002, ISBN 15-6881-182-9 ( веб-сайт )
  • Филип Дютре и другие: Advanced Global Illumination. AK Peters, Natick, Mass. 2003, ISBN 15-6881-177-2 ( веб-сайт )
  • Эндрю Гласснер: Принципы синтеза цифровых изображений. Морган Кауфманн, Лондон 1995, ISBN 15-5860-276-3
  • Мэтт Фарр, Грег Хамфрис: физический рендеринг. От теории к реализации. Морган Кауфманн, Лондон 2004, ISBN 01-2553-180-X ( веб-сайт )
  • Ян Стефенсон: Производственный рендеринг: дизайн и реализация. Springer, Лондон, 2005 г., ISBN 1-85233-821-0
  • Алан Ватт: 3D компьютерная графика. Эддисон-Уэсли, Харлоу 2000, ISBN 0-201-39855-9

веб ссылки

Commons : 3D компьютерная графика  - альбом, содержащий изображения, видео и аудио файлы.

Индивидуальные доказательства

  1. Томас Акенин-Мёллер, Эрик Хейнс: Рендеринг в реальном времени, стр. 1
  2. Томас Акенин-Мёллер, Эрик Хейнс: Рендеринг в реальном времени, стр. 7
  3. Томас Акенин-Мёллер, Эрик Хейнс: Рендеринг в реальном времени, стр. 11
  4. Иван Сазерленд и др.: Характеристика десяти алгоритмов скрытых поверхностей. ACM Computing Surveys (CSUR) 6, 1 (март 1974 г.): 1-55, здесь стр. 23, ISSN  0360-0300
  5. ^ Р. А. Шумакер и др.: Исследование по применению компьютерных изображений для визуального моделирования. AFHRL-TR-69-14. Лаборатория людских ресурсов ВВС США, 1969 г.