Что такое render ms. Рендер - это что такое? Как его настроить? «Каждый пиксель – это лишь один цвет, но чтоб найти этот цвет, нужно осмотреть целый мир.»

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

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

Примечание : Материал предназначен для начинающих и обычных пользователей.

Примечание : Так же советую ознакомиться с тем что такое шейдер .

Рендер это

Рендер (рендеринг, визуализация) - это процесс создания изображения на основе модели данных с помощью компьютерных программ. Если говорить простыми словами, то некоторой программе на вход подаются данные вида "кубик расположен в такой-то точке", "шарик расположен в такой-то точке", "забор проходит отсюда туда", "ветер дует отсюда", "туман стелится там-то" и так далее. Иными словами, некие 3D-модели (центр круга там-то, радиус такой-то...). Затем задается точка наблюдения (фокус; но не во всех методах). После чего программа моделирует то изображение (2D картинку), которое бы увидел человек, если бы его глаза находились в точке наблюдения (если используется фокус; без точки это растеризация - об этом далее).

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

Примечание : Кстати, раньше в играх нередко был распространен подход с использованием спрайтов .

Различают два основных типов рендера:

1. Рендеринг в реальном времени . Данный тип подразумевает, что картинка на экране формируется в режиме реального времени. Знакомый всем пример - это игрушки (стрелялки, стратегии и прочие).

2. Предварительный рендер . В данном случае подразумевается, что изображение может формироваться весьма длительный промежуток времени. Знакомый всем пример - это мультипликации, фоны для фильмов, анимация и прочее.

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

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

Примечание : Важно знать, что во время предварительного рендера загрузка процессора может достигать 100%, поэтому крайне не советуется что-либо делать параллельно. Ведь мало приятного в том, чтобы, из-за, например, блуждания по интернету в браузере, пришлось заново запускать 10-часовой рендер.

Методы рендеринга

Существует большое количество методов рендеринга, но наиболее известными являются следующие три:

1. Растеризация (Scanline) . Данный метод подразумевает, что расчет происходит не попиксельно, а целыми гранями, полигонами и крупными участками поверхности. При этом в рисунке никак не учитывается эффект перспективы относительно наблюдателя или рядом находящихся объектов. Иными словами, при растеризации формируются только те полигоны, которые ближе всего по оси Y. Поэтому никаких динамических теней, отражений и прочего не предусмотрено (только зашитая статика окраски полигона). Однако, данный метод позволяет очень быстро генерировать изображения, поэтому он используется во многих играх.

2. Трассировка лучей (Raytracing) . Данный метод подразумевает, что расчет цвета пикселей происходит следующим образом. Существует условный экран с 2D-изображением и точка фокуса относительно этого экрана. Из точки фокуса "как бы" выпускаются лучи в сторону сцены (каждого пикселя этого условного экрана). Если встретился 3D-объект, то используется его цвет. Если же объекта в сцене нет, то используется цвет фона. При этом каждый луч отскакивает от трехмерных объектов некоторое количество раз и тем самым корректируются цвета остальных пикселей (чем больше отскоков, тем выше качество картинки и ее реалистичность). Данный метод требует достаточно много вычислительных мощностей, поэтому он чаще всего применяется для предварительного рендера, нежели для визуализации в реальном времени.

Примечание : Облеченным методом является Raycasting, при котором лучи не отскакивают. Расчет происходит только для первого столкновения с 3D-объектом.

3. Расчет отраженного луча (Radiosity) . Данный метод подразумевает, что каждый пиксель или небольшой участок наделяются определенным цветом. Каждый их этих пикселей (участков) может излучать, поглощать или отражать лучи. Затем для каждого пикселя (участка) происходит учет накопления лучей и формируется более реалистичный цвет (вторичные отражения, мягкие тени и прочее). Таким образом, картинка становится более качественной (чем больше итераций подсчета, тем выше качество). Данный метод требует очень много вычислительных ресурсов, поэтому он применяется в предварительной визуализации.

У многих часто возникают вопросы по поводу улучшения визуального качества визуализаций в 3ds Max и сокращению затрачиваемого на них времени. Основные советы, которые можно дать в качестве ответа на этот вопрос, касаются оптимизации геометрии, материалов и текстур.

1. Оптимизация геометрии 3D-моделей
В процессе моделирования необходимо придерживаться минимально возможного количества полигонов, потому что если модель содержит много ненужных полигонов, это влечет за собой увеличение времени на визуализацию.

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

2. Какими должны быть текстуры Размер текстуры должен соответствовать размеру модели на финальном рендере. К примеру, если вы скачали где-нибудь текстуру с разрешением 3000 х 3000 пикселей, а модель, к которой её применяете, находится на заднем плане сцены или имеет совсем маленький масштаб, то визуализатор будет перегружен излишним разрешением текстуры.

Взгляните на этот пример рендера:

Следует иметь в виду, что для усиления реализма к материалам необходимо добавлять карты Bump (Неровности) и Specular (Зеркальные отражения), поскольку в реальности каждый объект обладает рельефом и отражательной способностью. Создать такие карты из оригинальной текстуры не составит проблемы - достаточно поверхностных знаний Adobe Photoshop .

Правильное освещение

Чрезвычайно важный пункт. Старайтесь всегда применять системы физического освещения, приближенные к реальным, такие как Daylight System (Система дневного освещения), а также VRay Sun и Sky , HDRI, а в качестве источников света в интерьерах использовать фотометрические с профилями IES. Это прибавит сцене реализма, так как в этом случае при рендере будут задействованы настоящие алгоритмы вычисления световой информации.

Не забывайте о гамма-коррекции изображений! При гамме 2.2 цвета в 3ds Max будут отображаться правильно. Однако увидеть их такими можно только, если ваш монитор правильно откалиброван.



4. Масштаб сцены
Для получения рендеров пристойного качества масштаб единиц измерения в сцене имеет колоссальное значение. Чаще всего у нас принято работать в сантиметрах. Это позволяет не только создавать модели более точными, но также помогает при расчете освещения и отражений.

5. Настройки визуализации
Если работаете с VRay, то для сглаживания краёв изображения рекомендуется использовать Adaptive DMC . Однако для достижения наилучших результатов в сценах с большим количеством деталей и множеством размытых отражений лучше применять Fixed - с этим типом изображений он работает лучше всего. Количество сабдивов при этом желательно устанавливать не менее 4, а лучше 6.
Для расчета непрямого освещения (Indirect Illumination) используйте связку Irradiance Map + Light Cache . Такой тандем позволяет быстро рассчитать освещённость в сцене, но если хочется большей детализации, можно включить опцию Detail Enhancement (Улучшение детализации) в настройках Irradiance Map, а в Light Cache активировать Pre-Filter (Префильтрация). Таким образом можно снизить зашумлённость картинки.
Хорошего качества теней можно добиться, установив количество сабдивов в настройках источников света VRay на 15-25. Помимо этого всегда используйте физическую камеру VRay, с помощью которой можно получить полный контроль над представлением света в сцене.
А для полного контроля над балансом белого, попробуйте поработать в шкале температур Кельвина. Приведу для справки таблицу температур, которой полезно будет пользоваться при работе в 3ds Max (меньшая величина означает более тёплые / красные оттенки, а более высокая даёт прохладные / синие тона):
Шкала цветовых температур Кельвина по наиболее распространённым источникам света

  • Горящая свеча - 1900К
  • Галогенные лампы - 3200К
  • Лампы заливающего света и пилотный свет - 3400К
  • Восход солнца - 4000К
  • Флуоресцентный свет (холодный белый) - 4500К
  • Дневной свет - 5500К
  • Вспышка фотоаппарата - 5500К
  • Студийный свет - 5500К
  • Свет от экрана монитора компьютера - 5500-6500К
  • Лампа дневного света - 6500К
  • Открытая тень (термин из фотографии) - 8000К
Исправляем бледные цвета в 3ds Max при гамме 2.2
При использовании гаммы 2.2 в Autodesk 3ds Max сразу бросается в глаза, что цвета материалов в Material Editor выглядят чересчур ярко и блекло по сравнению с обычным представлением в гамме 1.0. И если вам обязательно нужно соблюдать в сцене значения цветов по шкале RGB, допустим, в каком-нибудь уроке уже даны значения цветов, или заказчик предоставил свои образцы объектов в заданных цветах, то в гамме 2.2 они будут выглядеть неправильно. Коррекция RGB цветов в гамме 2.2 Для того чтобы добиться правильного уровня яркости цвета, нужно переназначить его значения RGB, воспользовавшись несложным уравнением: новый_цвет=255*((старый_цвет/255)^2.2). В уравнении сформулировано, что чтобы получить новое значение цвета в гамме 2.2 по RGB, нужно разделить старое RGB значение на величину белого цвета (255), возвести всё это в степень 2.2, и затем умножить получившееся на значение белого цвета (255). Если математика - не ваш конёк, не отчаивайтесь - 3ds Max посчитает всё за вас, ведь в нём есть встроенный калькулятор Numeric Expression Evaluator (Вычислитель численных выражений). Результат выражения (математической функции) возвращает некое значение. Полученное значение затем можно вставить в любое поле программы, будь то параметры создания нового объекта, его трансформации, настройки модификаторов, материалов. Попробуем вычислить цвет в гамме 2.2 на практике. Внутри настроек материала щёлкните по цветовому полю для вызова окна Color Selector. Выбрав какой-нибудь цвет, поставьте курсор мыши в поле канала Red (Красный цвет) и нажмите Ctrl+N на клавиатуре, чтобы вызвать Numerical Expression Evaluator. Напишите внутри него приведенную формулу, подставив старое значение цвета в канале Red. В поле Result (Результат) отобразится решение уравнения. Нажмите кнопку Paste (Вставка), чтобы вставить полученное значение вместо старого в канал Red. Проделайте эту операцию с каналами цветов Green (Зелёный) и Blue (Синий). С исправленными значениями RGB цвета будут выглядеть корректно и в окнах проекций, и на рендере. Работа с цветами по схеме формирования CMYK Не всегда приходится иметь дело только с RGB. Иногда попадаются цвета для печати по схеме CMYK, и их нужно преобразовывать в RGB, поскольку 3ds Max поддерживает только. Можно, конечно, запустить Adobe Photoshop и переводить значения в нём, но есть способ более удобный. Для 3ds Max создан новый тип селектора цветов - Cool Picker, который позволяет видеть значения цвета во всех возможных цветовых схемах непосредственно в Максе. Скачайте плагин Cool Picker отсюда для своей версии 3ds Max. Устанавливается он очень просто: сам файл с расширением dlu нужно поместить в папку 3ds Max\plugins. Сделать его активным можно, перейдя в меню Customize > Preferences > вкладка General > Color Selector: Cool Picker. Таким образом, он заменит собой стандартный селектор цветов. Есть вопросы? Задавайте

Начало формы

Использование гаммы 2.2 в 3ds max + V-Ray на практике

После теоретической части по настройке гаммы в V-Ray и 3ds max, мы переходим непосредственно к практике.

Многие пользователи 3ds max, особенно те, которые сталкиваются с визуализацией интерьеров, замечают, что при постановке физически правильного освещения, определённые места в сцене всё равно затемнены, хотя на самом деле всё должно быть освещено хорошо. Особенно это заметно в углах геометрии и на теневой стороне объектов.

Каждый пытался решить эту проблему по-разному. Начинающие пользователи 3ds max первым делом старались исправить это простым увеличением яркости источников света.

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

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

Все вышеприведённые способы борьбы с неправдоподобной тьмой слишком прямолинейны и очевидны, но неэффективны.

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

Что такое гамма?
Гамма - это степень нелинейности перехода цвета от тёмных значений к ярким. С математической точки зрения значение линейной гаммы равно 1.0, именно поэтому такие программы, как 3ds max, V-Ray и пр. по умолчанию выполняют расчёты в гамме 1.0. Но значение гаммы 1.0 совместимо только с "идеальным" монитором, который обладает линейной зависимостью отображения перехода цвета от белого к чёрному. Но поскольку таких мониторов в природе не существует, фактическая гамма нелинейна.

Значение гаммы для стандарта видео NTSC составляет 2.2. Для компьютерных дисплеев значение гаммы, как правило, находится в пределах от 1.5 до 2.0. Но для удобства нелинейность цветового перехода на всех экрана считается равной 2.2.

Когда монитор с гаммой 2.2 показывает изображение, гамма которого составляет 1.0, то на экране мы видим тёмные цвета в гамме 1.0 вместо ожидаемых ярких цветов гаммы 2.2. Поэтому цвета из среднего диапазона (Zone 2) становятся темнее при просмотре изображения с гаммой 1.0 на устройстве вывода с гаммой 2.2. Однако в диапазоне тёмных тонов (Zone 1) представление гаммы 1.0 и 2.2 очень схоже, что позволяет отображать тени и чёрные цвета правильным образом.

В областях со светлыми тонами (Zone 3) также наблюдается много сходства. Следовательно, яркое изображение с гаммой 1.0 также достаточно корректно отображается на мониторе с гаммой 2.2.

И поэтому чтобы получить надлежащий вывод гаммы 2.2, должна быть изменена гамма исходного изображения. Конечно, это можно сделать и в Photoshop, отрегулировав гамму там. Но вряд ли можно назвать удобным такой способ, когда вы каждый раз меняете настройки изображения, сохраняете их себе на жёсткий диск, и редактируете в растровом редакторе... Из-за этого мы и не будем рассматривать этот вариант, да к тому же такой способ обладает ещё более существенными недостатками. Современные средства визуализации, такие как V-Ray, рассчитывают изображение адаптивно, поэтому точность расчёта зависит от многих параметров, включая яркость света в определённой области. Таким образом, в местах с тенью V-Ray просчитывает освещённость изображения менее точно, и сами такие места становятся зашумлёнными. А в ярких и хорошо различимых областях изображения расчёт визуализации проходит с большей аккуратностью и с минимумом артефактов. Это позволяет ускорить рендеринг благодаря экономии времени на едва различимых областях изображения. Поднимая гамму выходного изображения в Photoshop, изменяется яркость частей изображения, которые V-Ray посчитал менее значимыми и понизил качество их расчётов. Таким образом становятся видимыми все нежелательные артефакты, а картинка выглядит просто ужасно, но зато ярче, чем до того В добавок изменится также гамма текстур, они будут выглядеть блекло и бесцветно.

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

В уроке будет показано, как настраивается гамма в визуализаторе V-Ray и 3ds max.

Чтобы изменить гамму, с которой будет работать V-Ray, достаточно найти раскрывающуюся вкладку V-Ray: Color Mapping , которая находится на вкладке V-Ray, которая в свою очередь располагается в окне Render Scene (F10), и установить значение Gamma: в 2.2.

Особенность V-Ray заключается в том, что коррекция гаммы цветового отображения работает только в V-Ray Frame Buffer, поэтому если вы хотите увидеть результаты ваших манипуляций с гаммой, то необходимо включить кадровый буфер V-Ray: Frame Buffer на вкладке V-Ray.

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

Почти все используемые нами текстуры на мониторе выглядят нормально, поскольку они уже настроены самим монитором и изначально имеют гамму 2.2. Для того чтобы визуализатор V-Ray сконфигурировал гамму 2.2 и не умножал гамму изображения на значение гаммы в визуализаторе (2.2 * 2.2), текстуры должны находиться в гамме 1.0. Затем, после их коррекции визуализатором, их гамма станет равной 2.2.

Можно сделать все текстуры темнее, изменив их гамму с 2.2 на 1.0 в Photoshop, с расчётом на дальнейшее их осветление визуализатором. Впрочем, такой метод был бы очень утомительным и потребовал бы времени и терпения на обеспечение всех текстур в сцене в гамме 1.0, и, во-вторых, это сделает невозможным просмотр текстур в нормальной гамме, потому что они будут всё время затемнены.

Чтобы этого избежать, просто обеспечим их настройку на входе 3ds max. К счастью, в 3ds max присутствует достаточно настроек для гаммы. Настройки гаммы доступны из главного меню 3ds max:

Customize > Preferences ...> Gamma and LUT

Главные настройки гаммы 3ds max расположены на вкладке Gamma and LUT. В частности, нам потребуется настройка коррекции входных текстур, называемая Input Gamma . Нас не должно вводить в заблуждение то, что там по умолчанию установлено значение 1.0. Это не корректирующее значение, а значение гаммы текстур на входе. По умолчанию принято считать, что все текстуры состоят в гамме 1.0, но на самом деле, как упоминалось ранее, они установлены в гамме 2.2. И значит, мы должны указать значение гаммы 2.2, вместо 1.0.

Не забудьте установить галочку в параметре Enable Gamma / LUT Correction , чтобы получить доступ к настройкам гаммы.

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

Кажется, всё, но под конец урока я бы хотел рассказать ещё об одной вещи по работе с гаммой. Поскольку визуализатор V-Ray работает в необычной для себя гамме, то приходится устанавливать режим отображения гаммы 3ds max в 2.2, чтобы цвета в Material Editor и Color Selector отображались правильно. В противном случае может возникнуть путаница, когда материалы будут настраиваться в гамме 1.0, но на самом деле внутри программы они будут преобразованы в гамму 2.2.

Для установки правильного отображения материалов в редакторе материалов 3ds max, следует использовать настройки во вкладке Gamma and LUT. Для этого должны быть установлены значение гаммы 2.2 в разделе Display и проставлены галочки в Affect Color Selectors и Affect Material Editor в разделе Materials and Colors.

Гамма 2.2 уже стала стандартом при работе с 3ds max и V-Ray. Надеюсь, что данный материал поможет вам в работе!

Несколько людей согласились помочь мне с переводом этого материала. Выкладываю вступление, переведённое Андреем Пшеничным .

Часть 1 из 2. В этой части - о рендер-тенденциях сегодняшней VFX индустрии. Часть 2 - краткий обзор 14 самых популярных рендереров.

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

Введение. Чем рендерить?

Каждый вторник в ILM, Пресидио, Сан-Франциско, на бывшей военной базе на самом севере полуострова Сан-Франциско, с видом на знаменитый мост Золотые Ворота - обед для всех VFX-супервайзеров компании ILM. Обед - для своих, говорить можно все и обо всем. Множество супервайзеров ILM обладают неплохой коллекцией «Оскаров» и других наград за технологические прорывы в индустрии. "Это здорово. Это одна из классных черт этой компании", - говорит супервайзер Бен Сноу.

Рендеринг часто всплывает в разговорах. Не самая важная тема для режиссера, но здесь - именно те люди, которые решают, как получить потрясающие кадры "еще реалистичней за еще меньшие деньги". У ILM - полная лицензия на RenderMan, и много лет он используется как основной рендерер, в особенности для работы с персонажами. Но, как объясняет Сноу, "мы много раз говорили о том, что на уровне супервайзеров мы должны быть агностиками (безразличными) в отношении рендерера. Если кто-то хочет использовать Arnold - он должен иметь такую возможность. Если я хочу RenderMan - у меня должна быть и такая возможность".

Кадр из фильма Pacific Rim рендерился Arnold"ом в ILM.

ILM не одинока в своем взгляде на рендер, как на нечто, требующее постоянной переоценки и далекое от простых решений. Сейчас ILM использует широкий ряд рендереров - от Arnold и RenderMan до V-Ray и совсем новых инструментов вроде Modo.

Сноу упомянул для fxguide, что как раз недавно говорил ребятам из Pixar: "Я сам из старой школы ILM, а мы - люди RenderMan. Почти, можно сказать, RenderMan-шовинисты. Я всегда был немного предвзят в этом отношении. На Perl Harbor , когда мы думали, что все решит глобальное освещение, мы проделали много проб с Mental Ray, и на Iron Man мы думали о Mental Ray - хотели посмотреть, получится ли согласовать процессы, когда часть работы делается другими студиями." В результате был использован Render Man.

"У каждого рендерера есть сильные и слабые стороны, и разные отделы ILM пользуются разными рендерерами", - добавляет Сноу. "Арнольд стал следующим большим событием, и мы думаем о его использовании на некоторых проектах в будущем. Но должен сказать, что в кое-каких последних фильмах это были просто пляски между рендерерами. И каждый раз приходилось переносить набор шейдеров". К примеру, в этом году использовала Arnold на Star Trek: Into Darkness , Pacific Rim и The Lone Ranger вместе с другими рендерерами.

Хотя RenderMan - это "золотой стандарт", по которому судят остальных, Arnold заработал репутацию, вероятно, самого быстрого производственного рендерера для проектов самых разных типов - мнение не только fxguide, но и многих его конкурентов.

Люди могут быть очень религиозными в отношении их любимых рендереров!

Mark Elendt
Mantra (рендерер Houdini), Side Effects Software.

Однако наряду с этими двумя большими игроками существует огромное количество других рендереров и людей, страстно преданных своим предпочтениям. И многие из этих рендереров исключительно хороши. V-Ray был даже более распространен, чем Arnold, благодаря качеству, скорости и более открытому сообществу. Большинство согласится, что Maxwell часто можно рассматривать как контрольный образец, благодаря специализированному подходу к симуляции освещения и невероятной точности.

Когда-то давно рендереры, которые идут в комплекте с приложениями, использовались только тогда, когда под рукой не было ничего лучше, но рендереры Mantra и Modo, к примеру, заслужили настоящее собственное признание.

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

В этой статье - в дополнение к весьма популярному на fxguide разделу "Art of Rendering" - мы рассмотрим состояние дел с рендерерами в области визуальных эффектов и анимации. Часть 1 содержит описание текущего состояния дел, а часть 2 - более детальный обзор основных рендереров на основе эксклюзивных интервью в каждой из компаний. Также мы немного заглянем в будущее и постараемся ответить на вопрос - а оправдан ли подход в целом?

1. Актуальные вопросы

В первом разделе мы рассмотрим основные проблемы в области рендеринга. В этом году RenderMan празднует 25-летие (fxguide готовит специальный выпуск об истории RenderMan). Роб Кук, один из авторов и создателей Pixar RenderMan, так описал нам рендеринг: «каждый пиксель (на экране) имеет лишь один цвет, но чтоб определить этот цвет, нужно увидеть целый мир за этим пикселем.»

«Каждый пиксель – это лишь один цвет, но чтоб найти этот цвет, нужно осмотреть целый мир.»

Роб Кук
Соучредитель Pixar RenderMa

В 1984 году Кук опубликовал статью о трассировке лучей, в которой высказал идею случайных выборок (random samples) для уменьшения ступенчатости (aliasing) и артефактов в изображении. Это стало одним из значительных достижений в трассировке лучей, и первая спецификация RenderMan уже включала трассировку как одно из возможных решений.

Поразительно, но многие годы в PRman, собственной разработке Pixar, трассировка не использовалась, поскольку считалась чересчур ресурсоемкой. И даже теперь – спустя почти 29 лет с момента публикации статьи Роба Кука - в мультике Pixar «Университет монстров» («Monsters University») трассировка была выполнена с использованием принципов, изложенных в той статье.

Уравнение рендеринга была предложено Джеймсом Кайя в 1986 году. Трассировка пути (ray tracing) была представлена как алгоритм нахождения численного решения или аппроксимации для интеграла уравнения рендеринга. Десятилетие спустя Ляфортюн предложил множество усовершенствований, включая двунаправленную трассировку пути. В 1997 Эрик Вич и Леонидас Гвибас представили Metropolis light transport (MLT), метод возмущения предварительно найденных путей, призванный увеличить производительность на сложных сценах.

Оригинальное уравнение рендеринга Джеймса Кайя было основано на трех оптических принципах:

  1. принцип глобальности освещения;
  2. принцип эквивалентности (отраженный свет эквивалентен излученному);
  3. принцип направления (и отраженный свет, и рассеянный имеют свое направление).

На основе собственного неофициального исследования Fxguide определил некоторые ключевые тенденции в следующих областях:

1.1 Глобальное освещение (GI).
1.2 Трассировка лучей (ray tracing) против точечных решений (point solutions).
1.3 Освещение на основе изображения (image-based).
1.4 Интерактивность.
1.5 GPU против CPU.
1.6 Фермы и облачные решения.
1.7 Открытый код.

Подпишитесь на обновление блога (вот ).

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

Материал из CADобзор.

Ре́ндеринг (rendering - «визуализация») в компьютерной графике - это процесс получения изображения по модели с помощью компьютерной программы. Здесь модель - это описание трёхмерных объектов на строго определённом языке или в виде структуры данных. Такое описание может содержать геометрические данные, положение точки наблюдателя, информацию об освещении. Изображение - это цифровое растровое изображение. Проще говоря, рендеринг - создание плоского изображения (картинки) по разработанной 3D сцене. Синонимом в данном контексте является Визуализация .

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

В зависимости от цели, различают пре-рендеринг, как достаточно медленный процесс визуализации, применяющийся в основном при создании видео, и рендеринг в реальном режиме, применяемый в компьютерных играх. Последний часто использует 3D-ускорители.

Методы рендеринга (визуализации)

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

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

Вследствие этого, было разработано четыре группы методов, более эффективных, чем моделирование всех лучей света, освещающих сцену:

  • Растеризация (rasterization) и метод сканирования строк (scanline rendering). Визуализация производится проецированием объектов сцены на экран без рассмотрения эффекта перспективы относительно наблюдателя.
  • Метод бросания лучей (ray casting). Сцена рассматривается, как наблюдаемая из определенной точки. Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пикселя на двумерном экране. При этом лучи прекращают свое распространение(в отличие от метода обратного трассирования), когда достигают любого объекта сцены либо ее фона. Возможно используются какие-то очень простые техники добавления оптических эффектов или внесения эффекта перспективы.
  • Глобальная иллюминация (global illumination, radiosity ). Использует математику конечных элементов, чтобы симулировать диффузное распространение света от поверхностей и при этом достигать эффектов «мягкости» освещения.
  • Трассировка лучей (ray tracing) похож на метод бросания лучей . Из точки наблюдения на объекты сцены направляются лучи, с помощью которых определяется цвет пиксела на двумерном экране. Но при этом луч не прекращает свое распространение, а разделяется на три компоненты, луча, каждый из которых вносит свой вклад в цвет пиксела на двумерном экране: отраженный, теневой и преломленный. Количество таких разделений на компоненты определяет глубину трассирования и влияет на качество и фотореалистичность изображения. Благодаря своим концептуальным особенностям метод позволяет получить очень фотореалистичные изображения, но при этом он очень ресурсоемкий и процесс визуализации занимает значительные периоды времени.

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

Математическое обоснование

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

Основное уравнение

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

Неформальное толкование таково: Количество светового излучения (L o) исходящего из определнной точки в определенном направлении есть собственное излучение и отраженное излучение. Отраженное излучение есть сумма по всем направлениям приходящего излучения (L i) умноженого на коэффициент отражения из данного угла. Объединяя в одном уравнении приходящий свет с исходящим в одной точке, это уравнение составляет описание всего светового потока в заданой системе.

Программное обеспечение для рендеринга - Рендеры (Визуализаторы)

  • RenderMan (PhotoRealistic или PRMan)
  • Gelato (разработка прекращена всвязи с покупкой NVIDIA , mental ray)
  • Entropy (продажи прекращены)
  • BMRT (Blue Moon Rendering Tools) (распространение прекращено)
  • Holomatix Renditio (интерактивный рейтрейсер)
Пакеты трехмерного моделировая, имеющие собственные рендеры
  • 3ds Max (Scanline)

Таблица сравнения своиств рендеров

рендеры совместим с 3ds Max совместим с Maya совместим с SOFTIMAGE совместим с Houdini совместим с LightWave совместим с Blender совместим с SketchUp совместим с Cinema 4D biased, unbiased scanline raytrace алгоритмы Глобальное освещение или свои алгоритмы Depth of Field Motion Blur (vector pass) Displasment Area Light Glossy Reflect/Refract SSS Stand Alone текущая версия год выпуска библиотека материалов основан на технологии noramal mapping IBL Psyhical sun официальный сайт страна производитель стоимость $ основное преимущество компания производитель
RenderMan + + - - - - - - biased + очень медленный + очень быстрый быстрый + + + 13.5,2,1 1987 - США 3500 Pixar
mental ray встроен встроен встроен встроен - - - - biased + + Photon, Final Gather (Quasi-Montecarlo) + + + + + + + 3.6 1986 33 My mentalRay Германия 195 mental images (c 2008 NVIDIA)
Gelato (разработка прекращена) + + - - - - - - biased + + + быстрый быстрый + + + 2.2 2003 - США 0 NVIDIA
V-Ray + предрелизная версия, доступна для скачивания на официальном сайте - - - - + + biased - + Light Cash, Photon Map, Irradiance Map, Brute Force (Quasi-Montecarlo) + + медленный, 2d и 3d + + + 2005 года (сырая) 1.5 RC5 2000 около 1300 vray-materials Болгария 1135 (Super Bundle) 999 (Bundle) 899 (Standart) 240 (Educational) Chaos Group
finalRender + + - - - - - + biased - + Hyper Global Illumination, Adaptive Quasi-Montecarlo, Image, Quasi Monte-Carlo + + считает вектор пасс медлленный + + + - Stage-2 2002 30 оф. сайт Германия 1000 cebas
Brazil R/S + - - - - - - - biased - + Quasi-Montecarlo, PhotonMapping + + - + + + - 2 2000 113 оф. сайт США 735 SplutterFish
Turtle - + - - - - - - biased - + Photon Map, Final Gather + + быстрый + + + - 4.01 2003 - liquidlight [Швеция 1500 Baking высокая скорость (не очень высокое качеcтво) Illuminate Labs
Maxwell Render + + + - + - + + unbiased - - Metropolis Light Transport + + + + + + + 1.61 2007 (?) 2979 оф. сайт Maxwell Render Испания 995 Next Limit
Fryrender + + + + + - + + unbiased - - Metropolis Light Transport + + + + + + + 1.91 2006 (?) 110 оф. сайт Испания 1200 Feversoft
Indigo + + + + - + + + unbiased - - Metropolis Light Transport + + + + + + + 1.0.9 2006 - Metropolis Light Transport Indigo Renderer ? 0 Открытое программное обеспечение ?

См. также

Хронология важнейших публикаций

  • 1968 Ray casting (Appel, A. (1968). Some techniques for shading machine renderings of solids. Proceedings of the Spring Joint Computer Conference 32 , 37-49.)
  • 1970 Scan-line algorithm (Bouknight, W. J. (1970). A procedure for generation of three-dimensional half-tone computer graphics presentations. Communications of the ACM )
  • 1971 Gouraud shading (Gouraud, H. (1971). Computer display of curved surfaces. IEEE Transactions on Computers 20 (6), 623-629.)
  • 1974 Texture mapping PhD thesis , University of Utah.)
  • 1974 Z-buffer (Catmull, E. (1974). A subdivision algorithm for computer display of curved surfaces. PhD thesis )
  • 1975 Phong shading (Phong, B-T. (1975). Illumination for computer generated pictures. Communications of the ACM 18 (6), 311-316.)
  • 1976 Environment mapping (Blinn, J.F., Newell, M.E. (1976). Texture and reflection in computer generated images. Communications of the ACM 19 , 542-546.)
  • 1977 Shadow volumes (Crow, F.C. (1977). Shadow algorithms for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242-248.)
  • 1978 Shadow buffer (Williams, L. (1978). Casting curved shadows on curved surfaces. 12 (3), 270-274.)
  • 1978 Bump mapping (Blinn, J.F. (1978). Simulation of wrinkled surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286-292.)
  • 1980 BSP trees (Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). On visible surface generation by a priori tree structures. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124-133.)
  • 1980 Ray tracing (Whitted, T. (1980). An improved illumination model for shaded display. Communications of the ACM 23 (6), 343-349.)
  • 1981 Cook shader (Cook, R.L. Torrance, K.E. (1981). A reflectance model for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307-316.)
  • 1983 Mipmaps (Williams, L. (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1-11.)
  • 1984 Octree ray tracing (Glassner, A.S. (1984). Space subdivision for fast ray tracing. 4 (10), 15-22.)
  • 1984 Alpha compositing (Porter, T. Duff, T. (1984). Compositing digital images. 18 (3), 253-259.)
  • 1984 Distributed ray tracing (Cook, R.L. Porter, T. Carpenter, L. (1984). Distributed ray tracing. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 137-145.)
  • 1984 Radiosity (Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Modelling the interaction of light between diffuse surfaces. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213-222.)
  • 1985 Hemi-cube radiosity (Cohen, M.F. Greenberg, D.P. (1985). The hemi-cube: a radiosity solution for complex environments. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31-40.)
  • 1986 Light source tracing (Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Developments in Ray Tracing course notes )
  • 1986 Rendering equation (Kajiya, J.T. (1986). The rendering equation. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143-150.)
  • 1987 Reyes algorithm (Cook, R.L. Carpenter, L. Catmull, E. (1987). The reyes image rendering architecture. Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)
  • 1991 Hierarchical radiosity (Hanrahan, P. Salzman, D. Aupperle, L. (1991). A rapid hierarchical radiosity algorithm. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197-206.)
  • 1993 Tone mapping (Tumblin, J. Rushmeier, H.E. (1993). Tone reproduction for realistic computer generated images. IEEE Computer Graphics & Applications 13 (6), 42-48.)
  • 1993 Subsurface scattering (Hanrahan, P. Krueger, W. (1993). Reflection from layered surfaces due to subsurface scattering. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 (), 165-174.)
  • 1995 Photon mapping (Jensen, H.J. Christensen, N.J. (1995). Photon maps in bidirectional monte carlo ray tracing of complex objects. Computers & Graphics 19 (2), 215-224.)
  • 1997 Metropolis light transport (Veach, E. Guibas, L. (1997). Metropolis light transport. Computer Graphics (Proceedings of SIGGRAPH 1997) 16 65-76.)
  • 1968 Ray casting (Appel, A. (1968). Some techniques for shading machine renderings of solids. Proceedings of the Spring Joint Computer Conference 32 , 37-49.)
  • 1970 Scan-line algorithm (Bouknight, W. J. (1970). A procedure for generation of three-dimensional half-tone computer graphics presentations. Communications of the ACM )
  • 1971 Gouraud shading (Gouraud, H. (1971). Computer display of curved surfaces. IEEE Transactions on Computers 20 (6), 623-629.)
  • 1974 Texture mapping PhD thesis , University of Utah.)
  • 1974 Z-buffer (Catmull, E. (1974). A subdivision algorithm for computer display of curved surfaces. PhD thesis )
  • 1975 Phong shading (Phong, B-T. (1975). Illumination for computer generated pictures. Communications of the ACM 18 (6), 311-316.)
  • 1976 Environment mapping (Blinn, J.F., Newell, M.E. (1976). Texture and reflection in computer generated images. Communications of the ACM 19 , 542-546.)
  • 1977 Shadow volumes (Crow, F.C. (1977). Shadow algorithms for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242-248.)
  • 1978 Shadow buffer (Williams, L. (1978). Casting curved shadows on curved surfaces. 12 (3), 270-274.)
  • 1978 Bump mapping (Blinn, J.F. (1978). Simulation of wrinkled surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286-292.)
  • 1980 BSP trees (Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). On visible surface generation by a priori tree structures. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124-133.)
  • 1980 Ray tracing (Whitted, T. (1980). An improved illumination model for shaded display. Communications of the ACM 23 (6), 343-349.)
  • 1981 Cook shader (Cook, R.L. Torrance, K.E. (1981). A reflectance model for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307-316.)
  • 1983 Mipmaps (Williams, L. (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1-11.)
  • 1984 Octree ray tracing (Glassner, A.S. (1984). Space subdivision for fast ray tracing. 4 (10), 15-22.)
  • 1984 Alpha compositing (Porter, T. Duff, T. (1984). Compositing digital images. 18 (3), 253-259.)
  • 1984 Distributed ray tracing (Cook, R.L. Porter, T. Carpenter, L. (1984). Distributed ray tracing. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 137-145.)
  • 1984 Radiosity (Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Modelling the interaction of light between diffuse surfaces. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213-222.)
  • 1985 Hemi-cube radiosity (Cohen, M.F. Greenberg, D.P. (1985). The hemi-cube: a radiosity solution for complex environments. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31-40.)
  • 1986 Light source tracing (Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Developments in Ray Tracing course notes )
  • 1986 Rendering equation (Kajiya, J.T. (1986). The rendering equation. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143-150.)
  • 1987 Reyes algorithm (Cook, R.L. Carpenter, L. Catmull, E. (1987). The reyes image rendering architecture. Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)
  • 1991 Hierarchical radiosity (Hanrahan, P. Salzman, D. Aupperle, L. (1991). A rapid hierarchical radiosity algorithm. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197-206.)
  • 1993 Tone mapping (Tumblin, J. Rushmeier, H.E. (1993). Tone reproduction for realistic computer generated images. IEEE Computer Graphics & Applications 13 (6), 42-48.)
  • 1993 Subsurface scattering (Hanrahan, P. Krueger, W. (1993). Reflection from layered surfaces due to subsurface scattering. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 (), 165-174.)
  • 1995 Photon mapping (Jensen, H.J. Christensen, N.J. (1995). Photon maps in bidirectional monte carlo ray tracing of complex objects. Computers & Graphics 19 (2), 215-224.)
  • Википедия Подробнее