Рендеринг Рейеса - Reyes rendering

Aqsis Рейес визуализирует Чайник Юта с шейдер смещения

Рендеринг Рейеса архитектура компьютерного программного обеспечения, используемая в 3D компьютерная графика к оказывать фотореалистичные изображения. Он был разработан в середине 1980-х гг. Лорен Карпентер и Роберт Л. Кук в Лукасфильм 'Исследовательская группа компьютерной графики, которая сейчас Pixar.[1] Впервые он был использован в 1982 году для рендеринга изображений для Эффект генезиса последовательность в фильме Звездный путь II: Гнев Хана. Pixar's RenderMan является одной из реализаций алгоритма Рейеса. Согласно исходной статье, описывающей алгоритм, система рендеринга изображений Рейеса - это «архитектура для быстрого высококачественного рендеринга сложных изображений». Reyes был предложен как совокупность алгоритмов и систем обработки данных. Однако термины «алгоритм» и «архитектура» стали использоваться как синонимы и взаимозаменяемы в этой статье.[нужна цитата ]

Имя

Рейес это аббревиатура от Визуализирует все, что вы когда-либо видели (название - тоже игра слов на Пойнт Рейес, Калифорния, недалеко от того места, где располагалась компания Lucasfilm) и наводит на мысль о процессах, связанных с системами оптического изображения. В соответствии с Роберт Л. Кук, Reyes пишется только с заглавной буквы, как в статье Cook / Carpenter / Catmull SIGGRAPH 1987 года.

Архитектура

Архитектура была разработана с учетом ряда целей:

  • Сложность / разнообразие модели: Чтобы создавать визуально сложные и насыщенные изображения, пользователи системы рендеринга должны иметь возможность моделировать большое количество (100 000) сложных геометрических структур, возможно, созданных с использованием процедурных моделей, таких как фракталы и системы частиц.
  • Сложность затенения: Большая часть визуальной сложности сцены вызвана тем, как световые лучи взаимодействуют с поверхностями твердых объектов. Обычно в компьютерной графике это моделируется с помощью текстур. Текстуры могут быть цветными массивами пикселей, описывать смещения поверхности или прозрачность или отражательную способность поверхности. Reyes позволяет пользователям включать процедурные шейдеры, благодаря которым структура поверхности и оптическое взаимодействие достигается с помощью компьютерных программ, реализующих процедурные алгоритмы, а не простых справочных таблиц. Хорошая часть алгоритма направлена ​​на минимизацию времени, затрачиваемого процессорами на выборку текстур из хранилищ данных.
  • Минимальная трассировка лучей: В то время, когда было предложено Reyes, компьютерные системы были значительно менее способны с точки зрения вычислительной мощности и хранилища. Это означало, что трассировка лучей фотореалистичная сцена займет десятки или сотни часов на кадр. Такие алгоритмы, как Reyes, которые обычно не отслеживают лучи, работают намного быстрее с почти фотореалистичными результатами.
  • Скорость: Рендеринг двухчасового фильма со скоростью 24 кадра в секунду в течение одного года дает в среднем 3 минуты на рендеринг каждого кадра.
  • Качество изображения: Любое изображение, содержащее нежелательные артефакты, связанные с алгоритмом, считается неприемлемым.
  • Гибкость: Архитектура должна быть достаточно гибкой, чтобы включать новые методы по мере их появления, без необходимости полной повторной реализации алгоритма.

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

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

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

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

Трубопровод

Базовый Рейес трубопровод имеет следующие шаги:

  1. Граница. Рассчитайте ограничивающий объем каждого геометрического примитива.
  2. Расколоть. Разделяйте большие примитивы на более мелкие, нарезанные кубиками.
  3. Игральная кость. Преобразуйте примитив в сетку микрополигонов, каждый размером примерно с пиксель.
  4. Оттенок. Рассчитайте освещение и затенение в каждой вершине сетки микрополигона.
  5. Бюст сетка на отдельные микрополигоны, каждый из которых ограничен и проверяется на видимость.
  6. Скрывать. Сделайте образец микрополигонов, чтобы получить окончательное 2D-изображение.

В этой схеме рендерер должен хранить весь буфер кадра в памяти, поскольку окончательное изображение не может быть выведено, пока все примитивы не будут обработаны. Обычная оптимизация памяти вводит шаг, называемый ведро перед этапом нарезки кубиками. Выходное изображение разделено на крупную сетку «сегментов», каждая размером обычно 16 на 16 пикселей. Затем объекты разделяются примерно по границам ковша и помещаются в ковши в зависимости от их местоположения. Каждый сегмент разрезается и рисуется индивидуально, а данные из предыдущего сегмента отбрасываются перед обработкой следующего сегмента. Таким образом, в памяти должны храниться только буфер кадра для текущего сегмента и высокоуровневые описания всех геометрических примитивов. Для типичных сцен это приводит к значительному сокращению использования памяти по сравнению с немодифицированным алгоритмом Рейеса.

Рендереры Reyes

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

Рекомендации

  1. ^ RenderMan @ 20: Эд Кэтмелл и Дана Батали размышляют о приложении Pixar Killer "
  2. ^ «Pixar поставляет RenderMan 21 | CG Channel». www.cgchannel.com. Получено 2016-07-22.

внешняя ссылка