Что такое Ray Tracing?

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

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

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

Сколько времени это занимает?

Трассировка лучей может генерировать очень реалистичные изображения, но требует больших вычислительных затрат и поэтому очень медленная. Например, для каждого неподвижного кадра компьютерного анимационного фильма «Университет монстров», выпущенного компанией Pixar в 2013 году, для рендеринга требовалось 29 часов. 110-минутный фильм со скоростью 24 кадра в секунду имеет примерно 160 000 кадров. Pixar использовала огромную ферму рендеринга, чтобы распределить вычисления, завершив их за считанные месяцы. На одном компьютере фильму потребовалось бы четыре с половиной миллиона часов - 524 года - чтобы закончить рендеринг.

Не все рендереры являются трассировщиками лучей

Поскольку для вычислений требуется много времени, трассировка лучей часто используется для окончательного рендеринга. Промежуточные или предварительные рендеры часто выполняются с «более дешевыми» рендерами, которые быстро производят изображение низкого качества. Например, Blender использует Cycles Renderer для трассировки лучей или Blender Internal Renderer для быстрой визуализации нефотореалистичных изображений.

Трассировка лучей на GPU

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

Однако 13 августа 2018 года NVidia объявила о своей новой архитектуре обработки графики Тьюринга, способной выполнять трассировку лучей в режиме реального времени. Первые графические процессоры, использующие архитектуру Тьюринга, Quadro RTX, планируется выпустить в конце 2018 года.

Программное обеспечение для трассировки лучей

Ниже приведены примеры программного обеспечения для трассировки лучей, которое можно загрузить или приобрести.

  • Autodesk 3ds max - запатентованное приложение для 3D-моделирования, анимации и рендеринга, предназначенное в первую очередь для пользователей САПР, таких как архитекторы.
  • Autodesk Maya - аналогичен 3ds max, но с акцентом на анимацию персонажей.
  • Blender - бесплатное приложение для трехмерного моделирования, анимации и рендеринга с открытым исходным кодом.
  • Брайс - Фрактальный генератор ландшафта, представленный в 1994 году.
  • Cinema 4D - приложение для 3D-моделирования, анимации и рендеринга с процедурными эффектами для кинематографистов и художников анимационной графики, рекламируемое как легкое в освоении.
  • Houdini - полнофункциональное приложение для 3D-анимации с симуляцией физики, динамикой жидкости и объемным моделированием. Ограниченная версия под названием Houdini Apprentice доступна для студентов и любителей бесплатно.
  • Lightwave - 3D CGI-приложение, которое использовалось для создания движущейся графики, спецэффектов и видеоигр.
  • LuxCoreRender - это бесплатная программа рендеринга с открытым исходным кодом для Windows, macOS и Linux.
  • POV-Ray (Persistence of Vision Raytracer) - это бесплатная программа рендеринга с открытым исходным кодом, которая создает изображения из SDL (языка описания сцены), полного языка Тьюринга с поддержкой макросов.
  • RenderMan - рендерер кинематографического качества, разработанный Pixar, используемый в таких фильмах, как Incredibles 2 и Avengers: Infinity War .
  • Visionaray - кроссплатформенная библиотека трассировки лучей с открытым исходным кодом.
  • YafaRay - бесплатный трассировщик лучей Монте-Карло с открытым исходным кодом.

Дополнительные ресурсы

3d анимация, CAD, Radiosity, симуляция, программные термины, TurboSquid