Глава 2: Портретная сцена
Original size 1100x1440

Глава 2: Портретная сцена

PROTECT STATUS: not protected
big
Original size 2515x1566

Сетка модели, Houdini 20.5

Для оценки работы рендер-движков первой была выбрана портретная сцена с персонажем. Она достаточно проста по композиции, но при этом содержит почти все ключевые задачи, актуальные для дипломного проекта: кожу с SSS и микродеталями, объёмный грум волос, глаза с преломлением и бликами, полупрозрачные участки и мягкий студийный свет. На меше выполнен полный грум: волосы на голове, брови, ресницы и щетина на лице; на голове сгенерировано порядка 300 000 волос. Такой сетап позволяет наглядно оценить, как рендер-движок справляется с шумом, плавными градиентами на коже, блеском в зрачке, сложным силуэтом причёски и мелкими тенями от щетины — то есть с зонами, где быстрее всего проявляются артефакты сэмплинга и денойзинга.

Освещение построено на комбинации HDRI-карты, фронтального и контрового света, которые подчёркивают объём лица и позволяют отдельно выделить работу света по волосам. Портретный крупный план критичен к качеству изображения: любые артефакты сразу заметны, поэтому на этой сцене удобно сравнивать поведение Karma XPU и Redshift при схожем освещении, одинаковых материалах, фиксированном разрешении (4K) и различных настройках сэмплов и денойзеров.

2.1 Karma XPU

Базовый тест без денойза

Во всех дальнейших тестах ключевым параметром качества является количество сэмплов на пиксель (samples per pixel, spp). В path-tracing-рендерах один «сэмпл» — это отдельный луч или набор лучей, которыми движок несколько раз «спрашивает» сцену, какой цвет должен быть в данном пикселе. При 8 spp каждый пиксель получается из усреднения восьми случайных измерений освещённости, при 512 spp — из пятисот двенадцати, поэтому статистика становится гораздо стабильнее, а картинка чище. Низкое число сэмплов даёт быстрый, но шумный результат: в SSS-областях и волосах появляются крупные зернистые пятна, тонкие детали «дрожат» от кадра к кадру. Увеличение spp уменьшает шум и стабилизирует мягкие переходы света, но время рендера растёт почти линейно. В рамках этого исследования именно изменение количества сэмплов — основной «ползунок качества», вокруг которого затем подбираются лимиты трассировки и настройки денойзеров.

0

Karma XPU — 4k, максимальные лимиты, без денойза (8, 16,32,64,128, 256 и 512 семплов)

На рисунке выше показана серия портретных рендеров в Karma XPU при фиксированных настройках сцены (4K, одинаковый свет и шейдер кожи, максимальные лимиты трассировки, Russian Roulette Depth = 4) и различном количестве сэмплов на пиксель: от 8 до 512. Для каждого варианта было замерено время рендера, полученные значения нанесены на график на графике ниже. Время растёт почти линейно: от ~15 секунд при 8 сэмплах до ~6 минут при 512 сэмплах.

Визуально хорошо видно, как с увеличением числа сэмплов постепенно уменьшается шум, в первую очередь в зонах со сложным освещением: в волосах, под подбородком и на шее, а также в SSS-областях (щёки, уши). При 8–16 spp изображение заметно зернистое, а тонкие волосы почти теряются в шуме. При 64–128 spp шум всё ещё присутствует, но уже не отвлекает от чтения лица; при 256 spp портрет можно считать условно «чистым» даже без денойзера. Переход от 256 к 512 spp даёт минимальный прирост качества при практически двукратном увеличении времени рендера.

Вывод: для данной сцены портрета головы в Karma XPU без использования денойзера разумным компромиссом между качеством и скоростью является диапазон 128–256 spp. Более низкие значения дают заметный шум, а дальнейшее увеличение до 512 spp приводит к существенному росту времени рендера при слабо ощутимом визуальном выигрыше.

Original size 1799x868

Время рендера без денойза в зависимости от увеличения количества семплов (от 8 до 512)

Karma — 4k, 512 и 128 семплов, максимальные лимиты, без денойза

Выше — сравнение области глаза при 512 и 128 сэмплах без денойзера (справа и слева соответственно). При 512 spp практически исчезает мелкий шум в мягких переходах SSS вокруг века и под глазом, становятся чуть стабильнее тени от ресниц и текстура кожи. Однако различие заметно только при сильном увеличении кропа; при обычном масштабе кадра оба варианта воспринимаются как достаточно «чистые». Учитывая, что 512 spp требует примерно в четыре раза больше времени рендеринга, можно говорить о выраженном эффекте убывающей отдачи: после 128 spp прирост качества минимален по сравнению с увеличением затрат.

nVidia Optix Denoiser

0

Karma XPU — 4k, максимальные лимиты, nVidia Denoise (8, 16, 32, 64, 128, 256 и 512 семплов)

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

Karma — 4k, 8 семплов, максимальные лимиты, без денойза и с nVidia денойзом

Выше приведено сравнение рендера в Karma XPU при 8 сэмплах на пиксель без денойзера (слева) и с NVIDIA denoiser (справа). Без денойзера изображение крайне шумное: заметен крупный зернистый шум на коже, в области SSS под скулой и на шее, а также сильный шум в волосах. Такой вариант фактически непригоден для финального портрета.

При включении NVIDIA denoiser уровень шума значительно снижается: кожа становится визуально гладкой, считываются объём и освещение лица, пропадает крупное зерно в тенях. Однако вместе с шумом сглаживается и высокочастотная детализация — теряется часть мелкой текстуры кожи и пор, волосы выглядят более «размытыми» и менее детализированными по контуру.

Таким образом, на низком числе сэмплов (8 spp) OptiX позволяет получить формально «чистое» изображение за очень короткое время рендера (17 секунд на кадр), но ценой заметного смягчения деталей и лёгкого «пластикового» характера кожи.

Karma — 4k, 128 семплов, максимальные лимиты, без денойза и с nVidia денойзом

Выше показано сравнение рендера в Karma XPU при 128 сэмплах без денойзера (слева) и с NVIDIA denoiser (справа). При таком уровне сэмплинга исходное изображение уже достаточно чистое: заметен только мелкий равномерный шум в волосах, на щеках и в области SSS под скулой.

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

Временные затраты при включённом денойзере немного выше, чем при рендере без него, однако прирост качества уже находится на уровне «финальной полировки». Это показывает, что для портретной сцены целесообразнее использовать NVIDIA denoiser в паре с умеренным количеством сэмплов (32–128 spp), чем пытаться полностью «вывести» шум только за счёт увеличения сэмплинга.

Karma — 4k, 64 (картинка 1) и 512 семплов (картинка 2), максимальные лимиты, nVidia Denoise

Karma — 4k, 512 семплов, максимальные лимиты, без денойза (картинка 3) и nVidia Denoise (картинка 4)

На верхней паре изображений показано сравнение кропов щетины при 64 сэмплах (слева) и 512 сэмплах (справа) в Karma XPU при одинаковых настройках шейдера и включённом nVidia Optix Denoiser. При 64 spp отдельные волоски щетины читаются лучше: виден более «рваный» и фактурный рисунок. При 512 spp кожа выглядит заметно ровнее, контраст между волосками и кожей снижается, и щетина визуально теряет выразительность. Это связано с тем, что большая часть волосков имеет субпиксельный размер: на низком сэмплинге возникает стохастический элайсинг (stochastic aliasing) ((пиксели то «попадают» в волос, то в кожу), что создаёт дополнительную зернистость и усиливает ощущение фактуры. При высоком сэмплинге усреднение по множеству лучей и последующее сглаживание денойзером делают изображение более физически корректным, но менее «шероховатым» на вид.

На нижней паре изображений приведено сравнение 512 spp без денойзера (слева) и с nVidia Optix (справа). Здесь хорошо видно, что даже без денойза щетина на 512 сэмплах заметна хуже, чем на 64 spp: реальный шум практически исчез, и остаётся только усреднённый вклад геометрии и SSS. После включения Optix остаточный мелкий шум дополнительно подавляется, кожа становится ещё более гладкой и «полированной», а тонкая высокочастотная структура щетины частично воспринимается алгоритмом как шум и сглаживается. Таким образом, видимая «потеря» резкости щетины на высоком сэмплинге связана не с отсутствием геометрии, а с сочетанием субпиксельного масштаба волосков, усреднения по сэмплам и работы денойзера, который оптимизирован на подавление именно таких высокочастотных паттернов.

Karma — 4k, 64 и 512 семплов, максимальные лимиты, nVidia Denoise

На кропах области глаза (64 и 512 сэмплов, оба с nVidia Optix Denoiser) проявляется другой тип различий. При 64 spp денойзер успешно убирает шум, но часть мелких деталей радужки и бликов сглаживается: рисунок зрачка и граница радужки выглядят мягче, ресницы и кожа вокруг глаза немного «подмылены». При увеличении до 512 spp структура глаза становится более чёткой: лучше читаются концентрические узоры радужки, блик в зрачке и мелкие перепады яркости по веку. Разница не столь драматична, как на низком сэмплинге, но заметна при крупном увеличении.

Важно, что nVidia Optix по-разному ведёт себя в зонах с разной природой деталей. Для высококонтрастных структур (глаз, бликов, ресниц) рост сэмплов с 64 до 512 spp даже при включённом денойзере даёт очень ощутимый прирост деталей: лучше читается рисунок радужки, границы бликов, ресницы. Для низкоконтрастных, субпиксельных деталей (щетина на щеке) картина обратная: при 64 spp усиливаается видимость щетины, а при 512 spp усреднение по сэмплам и последующее сглаживание Optix’ом снижают контраст волосков, из-за чего щетина визуально теряет объём, хотя геометрия остаётся на месте.

Компромисс можно сформулировать так:

Для портретной сцены оптимальной выглядит зона 64–128 spp с включённым nVidia Optix Denoiser. При таких настройках:

- глаз и блики достаточно детализированы, без явного «мыла»;

- щетина и поры ещё не полностью сглажены, в коже сохраняется живая фактура;

- время рендера остаётся заметно ниже, чем при 512 spp без денойза.

Более высокие значения сэмплов (256–512 spp) целесообразны в случаях, когда критична максимальная чёткость глаза и ресниц и допустимо некоторое сглаживание щетины и тонких волосков, тогда как для большинства кадров баланс визуального качества и времени достигается именно в диапазоне 64–128 spp с денойзером.

Karma XPU — 4k, 512 семплов, лимиты 10, russian roulette = 2; 4k, 512 семплов, максимальные лимиты, russian roulette = 4, nVidia Denoise

Karma XPU — 4k, 512 семплов, максимальные лимиты, russian roulette 4 и 0, nVidia Denoise

На кропах глаза выше показано сравнение двух настроек глубины трассировки в Karma XPU при одинаковом числе сэмплов (512 spp) и включённом nVidia Optix Denoiser.

Визуально различия минимальны: структура освещения вокруг глаза, контраст волосков и деталей радужки практически не меняются, уровень шума одинаково низкий. Лишь при внимательном сравнении можно заметить слегка меньший вклад очень слабых непрямых бликов в отражении. При этом время рендера сокращается с ≈6 минут до ≈3 минут 50 секунд на кадр (экономия порядка 35–40%). Это говорит о том, что для относительно простой портретной сцены с преобладанием прямого света и одного–двух бонсов отражения агрессивное ограничение глубины путей (лимиты ≈10 и Russian Roulette = 2) почти не влияет на визуальный результат, но позволяет ощутимо снизить стоимость кадра. Для таких сцен высокие глобальные лимиты и глубокий Russian Roulette оказываются избыточными; они становятся критичны лишь в более сложных конфигурациях (интерьеры, стекло, множественные переотражения).

Intel OIDN

0

Karma XPU — 4k, максимальные лимиты, Intel OIDN (8, 16, 32, 64, 128, 256 и 512 семплов)

В качестве альтернативы nVidia Optix в Karma XPU я также протестировала Intel Open Image Denoise (OIDN). В отличие от Optix, который работает на GPU, OIDN — CPU-денойзер, использующий нейросетевой подход и специально обученный на оффлайн-рендерах. Для сравнения были отрендерены те же кадры головы в 4K при фиксированных настройках (Russian Roulette = 4, максимальные лимиты) и нескольких значениях семплов (8, 32, 64, 128, 256, 512 spp).

Karma XPU — 4k, 512 семплов, лимиты 10, russian roulette = 4; без денойза и Intel OIDN

На верхней паре изображений показано сравнение рендера в Karma XPU при 512 сэмплах без денойзера (слева) и с Intel Open Image Denoise (справа). Исходное изображение уже достаточно чистое, но в области кожи вокруг глаза и в тенях под бровью заметен мелкий остаточный шум. После применения OIDN шум практически исчезает, переходы в SSS-областях становятся более плавными, а общий контраст немного выравнивается. При этом структура радужки, ресниц и бровей сохраняется — явного «мыла» не появляется, фактура кожи остаётся читаемой. В таком режиме OIDN выступает скорее как мягкая полировка финального рендера, чем как агрессивный «спасатель» очень шумных кадров. Время рендера при этом остается примерно одинковым.

Karma XPU — 4k, 512 семплов, лимиты 10, russian roulette = 4; nVidia Denoise и Intel OIDN

На нижней паре кропов сравниваются два денойзера при одинаковых настройках рендера (4K, 512 spp, те же лимиты и Russian Roulette): слева — кадр с nVidia Optix Denoise, справа — тот же кадр с Intel OIDN. Оба варианта дают формально «чистое» изображение без заметного шума, однако характер обработки немного отличается. В зоне брови и волос Optix даёт более ровный, чуть более сглаженный результат, волосы и кожа выглядят более «полированными». OIDN оставляет немного больше мелких вариаций яркости и цвета, за счёт чего фактура кожи и отдельные пряди в бровях воспринимаются чуть живее, но при этом сохраняется очень низкий уровень шума.

Временные затраты обоих денойзеров на 512 spp несущественно увеличивают общее время кадра по сравнению с самим рендером и отличаются между собой лишь на несколько процентов, поэтому выбор между ними в данном случае определяется в первую очередь художественными задачами: Optix лучше подходит, когда важна максимально гладкая, «чистая» картинка, тогда как OIDN немного аккуратнее относится к микродетали и удобен для финальных портретных планов, где критична фактура кожи.

Karma XPU — 4k, 8 семплов, максимальные лимиты, russian roulette = 4; nVidia Denoise и Intel OIDN

Karma XPU — 4k, 64 семпла, максимальные лимиты, russian roulette = 4; nVidia Denoise и Intel OIDN

При 64 spp оба алгоритма дают уже довольно чистое изображение, однако характер сглаживания заметно отличается. Optix сильнее выравнивает кожу и SSS — щёка и нос выглядят более гладкими, шум практически полностью отсутствует, но микроконтраст пор и мелких пятен слегка снижен. OIDN, наоборот, оставляет немного больше высокочастотной информации: фактура кожи и переходы в области носа и под глазом читаются лучше, при минимальном количестве остаточного шума. В зоне глаза оба варианта близки по качеству, различается преимущественно «зеркальность» кожи вокруг.

При 8 spp исходный кадр очень шумный, и разница между денойзерами проявляется сильнее. Optix агрессивно сглаживает шум, выдавая формально чистое, но заметно «пластиковое» лицо: фактура кожи и щетина почти исчезают, остаётся в основном общий объём и цвет. OIDN пытается сохранить структуру и локальные перепады яркости, поэтому кожа выглядит менее ровной, местами появляются лёгкие пятнистости и остаточный шум, но при этом сохраняется больше намёков на реальную текстуру и форму.

Karma XPU — 4k, 128 семплов, максимальные лимиты, russian roulette = 4; nVidia Denoise и Intel OIDN

В целом можно сделать вывод, что OIDN даёт более «бережный» денойзинг и лучше подходит, когда важна сохранность текстуры кожи (при сэмплинге от 32–64 spp и выше), тогда как nVidia Optix удобен для экстремально низкого сэмплинга и быстрых превизов, где приоритет — максимально чистая картинка, даже ценой некоторой потери фактуры. Для финальных крупных планов оптимальным выглядит использование 64–128 spp с выбором денойзера в зависимости от задачи: Optix — если важна чистота, OIDN — если важна живая, не пере-сглаженная кожа.

2.2 Redshift

Денойз

0

Redshift, 4K, threshold = 0.01, лимиты = 4, без денойза, (8, 16, 32, 64, 128, 256 семплов)

На минимальном значении (8 spp) картинка выглядит крайне шумной: SSS практически не успевает стабилизироваться, поэтому кожа рендерится с выраженной зернистостью, теряются плавные переходы в области носа и щёк, а волосы превращаются в плотное облако из шумовых точек. Микродетали — поры, легкая щетина, неоднородность оттенков — почти полностью смазаны.

При повышении количества выборок до 32–64 spp шум начинает равномерно «усаживаться». SSS слой становится более читаемым, исчезают случайные цветовые всплески, появляется корректная мягкость в тенях и полутонах лица. Волосы сохраняют текстуру, но уже не выглядят хаотичным шумовым массивом — начинают проявляться реальные кластеры и направление прядей.

На уровнях 128–256 spp Redshift выходит на устойчивое физически корректное состояние. Волосы становятся естественно плотными и структурными, исчезает мерцание на мелких фибрах. Кожа приобретает характерную глубину SSS: появляется насыщенная подповерхностная розовизна, а переходы света становятся плавными и реалистичными. Чётко читаются поры, оттенки, легкая щетина и неоднородности — всё, что критично для портретного рендера. К этому моменту влияние шума минимально, и рост сэмплов выше уже почти не меняет восприятие изображения.

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

Redshift, Optix Denoiser 8 и 256 семплов

Выше в сравнении кадры в Redshift с Optix-денойзером, но с разным количеством сэмплов: слева — 8 сэмплов за ~30 секунд, справа — 256 сэмплов за ~7:30. На левом изображении денойзер уже довольно агрессивно «дочищает» шум, из-за чего картинка в целом читается, но детали местами мылит: волосы выглядят более кашей, теряются мелкие поры и точечки щетины. На правом рендере базовый сигнал намного чище, поэтому Optix работает мягче: фактура кожи и щетины остаётся резкой, в волосах лучше читаются отдельные клоки и объём.

Redshift, 64 семпла, Dual Pass денойзер и без денойзера

В этом примере хорошо видно, что Dual Pass denoiser в Redshift ведёт себя намного агрессивнее, чем простой рендер без денойза: при 64 сэмплах он резко «смазывает» лицо и волосы, картинка становится мягкой, темнее и теряет фактуру. Причина в том, что Dual Pass — это Altus dual-pass: он внутри рендера считает два независимых прохода с разным шумом, фактически работая здесь не с 64, а примерно с 32 сэмплами на проход. Для сцены с волосами и SSS на лице такой сигнал слишком шумный, и алгоритм начинает воспринимать значительную часть мелких деталей как шум, агрессивно усредняя их. В результате исчезают поры и щетина, размывается форма, падает локальный контраст, что и даёт «мыльный» первый кадр по сравнению с вариантом без денойза. Из этого следует, что Dual Pass в Redshift оправдан при более высоких значениях сэмплинга, когда базовый сигнал достаточно чистый, а при ограниченном бюджете сэмплов его лучше избегать или заменять более щадящим OptiX-денойзером.

Redshift, 64 семпла, но threshold сначала 0.01, потом 0.001

В данном тесте я меняла только параметр Threshold при фиксированных 64 сэмплах, поэтому визуальной разницы практически нет. Threshold в Redshift отвечает не за «качество картинки», а за порог шума для адаптивного сэмплинга: если разброс значений в пикселе ниже заданного порога, рендер считает его достаточно чистым и перестаёт добавлять сэмплы; если выше — продолжает досыпать сэмплы, но не больше, чем разрешает Max Samples. В моей сцене шум в волосах, щетине и SSS всё равно остаётся выше и 0.01, и 0.001, поэтому адаптивка почти везде упирается в лимит 64 сэмпла, и оба рендера выходят одинаковыми по качеству, меняется в основном только время. То есть Threshold в первую очередь влияет на распределение сэмплов и скорость рендера, а заметный эффект по картинке появляется только при небольшом Max Samples и грубо отличающихся значениях порога.

Особенности рендера в Redshift

Redshift/ Karma, 4K, 8 семплов

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

Karma XPU при 8 сэмплах выглядит значительно более «сырым» и зернистым. Шум распределён неравномерно: в тенях появляются крупные блочные артефакты, а SSS-области кожи теряют плавность. Световой вклад в волосах и мелких деталях лица перескакивает от выборки к выборке, из-за чего оттенки выглядят нестабильно. Такое поведение связано с тем, что Karma требует намного больше статистики для стабилизации SSS и indirect-компоненты — на низком spp она буквально не успевает собрать достаточное количество лучей, чтобы сформировать цельный материал.

Redshift, напротив, ведёт себя ровнее даже на минимуме сэмплов. Шум присутствует, но он выглядит более мелким и «плёночным» — без крупных артефактов и провалов. Форма лица читается лучше, градиенты кожи сохраняют плавность, а волосы остаются визуально цельными, несмотря на зернистость. Это связано с тем, что Redshift агрессивнее оптимизирует выборки и быстрее стабилизирует SSS, даже при низком числе лучей.

На одинаковом количестве выборок (8 spp) Redshift и Karma показывают принципиально разное поведение, и эти отличия хорошо видны даже при минимальной выборке. Формально свет и цвет волос в сценах немного различается, но это не объясняет разницу: она обусловлена главным образом внутренней архитектурой движков и тем, как они считают SSS, волосы и шум.

Redshift, 64 семпла, IOR поднят с 0.8 до 2.7

Рендер волос в Redshift

Redshift / Karma, 4К, 256, без денойза

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

Karma XPU строится вокруг противоположной идеи. Это физически ориентированный интегратор, объединяющий CPU и GPU, наследующий подходы Mantra и Arnold. В основе его работы — максимально точная модель переноса света. Karma не отсеивает лучи так агрессивно: она глубже рассчитывает глобальное освещение, корректно учитывает энергию на каждом этапе, физическую трактовку шероховатости и полное random-walk подповерхностное рассеивание. Благодаря этому свет получает возможность совершать больше «путешествий» внутри материалов, а отражения и преломления распределяются ближе к реалистичной физической модели. Это делает изображение мягче, светлее и богаче на нюансы — даже до того, как играет роль количество сэмплов.

По сути, отличие между движками заключено в пути света. Redshift стремится сократить путь там, где это возможно ради скорости. Karma стремится просчитать путь максимально глубоко ради физической корректности.

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

В Redshift гурум не рендерится напрямую как «native curves», поэтому мне пришлось предварительно конвертировать волосы в геометрию и затем настраивать материал вручную через Redshift Hair Shader. Такой подход делает волосы более «материальными» для рендера: Redshift воспринимает каждую прядь как тонкую геометрию со своей освещённостью, тенями и плотностью. Из-за этого волосы выглядят темнее, более контрастными и лучше читают форму. Но Redshift при этом не рассчитывает глубокое множественное рассеивание света внутри массы волос — он ограничивается поверхностными отражениями и небольшим количеством трансперенси-семплов. Поэтому итоговый результат более плотный и «тяжёлый», и требует высокого количества семплов, особенно если пряди близко расположены друг к другу.

Karma работает иначе. Он рендерит волосы как полноценные hair curves, используя физически корректную модель рассеяния света вдоль волокна. Движок сразу воспринимает густую массу волос как полупрозрачный объём, через который проходит и переотражается свет. В результате даже при малом числе семплов волосы в Karma выглядят светлее и мягче, особенно по краю силуэта, где проявляется характерное свечение. Это объясняет «сияние» и более воздушную структуру прядей. Karma также автоматически интерпретирует грум правильно — без необходимости конвертации в геометрию — и использует встроенный hair-shader, который сразу учитывает толщину пряди, светопоглощение, цвет вдоль длины и подсветку от окружающих объектов.

0

Redshift, 4к, 64 семпла, лимиты 32, но translucency weight сначала 0, а потом 0.5

В рендерах выше я сделала два рендера в Redshift с одинаковыми настройками сцены и гровинга, меняя только параметр Translucency Weight в материале волос. Теоретически этот параметр должен влиять на поведение света внутри волос — пропускание, мягкость края, ощущение глубины. Но на практике результат оказался достаточно ограниченным: кроме смещения цвета и общей «теплоты» оттенка практически ничего заметно не изменилось.

Так происходит потому, что в Redshift волосы не используют полностью физическую модель многократного светового рассеивания. Значение translucency в данном случае больше работает как цветовой множитель для проходящего света, чем как настоящий физический эффект. Поэтому даже при увеличении пропускания форма прядей, плотность массы и характер бликов останутся почти прежними — меняется только то, насколько свет становится «теплее» и насколько волос визуально сдвигается в более рыжий/прозрачный тон.

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

Тесселяция

Redshift, лимиты = 32, 64 семпла, без денойза. На 1 рендере — tesselation выключен, на 2 рендере tesselation = 8

На сравнении выше хорошо проявляется одна из ключевых особенностей Redshift — рендер-тайм тесселяция геометрии на стороне GPU. Оба кадра выполнены при идентичных настройках качества (лимиты трассировки 32, сэмплинг 64, денойзинг отключён); изменён только параметр tessellation для геометрии грума. В левом рендере тесселяция отключена, поэтому Redshift просчитывает изначально низкополигональную геометрию волос: это приводит к более грубому силуэту причёски, локальной «карточности» прядей и менее стабильному распределению бликов. В правом рендере при значении tessellation = 8 движок выполняет дополнительное субдивидирование геометрии непосредственно во время рендера, не изменяя исходный mesh в сцене. Увеличение плотности полигонов приводит к формированию фактически микрополигональной структуры волос, за счёт чего сглаживается контур причёски.

Karma/ Redshift — без и с тесселяцией

Также и более сглаженный меш в редшифте как раз объясняется использованием render-time tessellation: при включённой тесселяции движок на этапе рендера автоматически перестраивает исходную геометрию головы в микрополигональную сетку, за счёт чего исчезает выравниваются нормали и освещение (diffuse, SSS, спекуляр) распределяется заметно плавнее. При этом операция выполняется на стороне GPU и, в типичных продакшн-настройках, лишь незначительно увеличивает время рендера относительно исходного меша той же сложности. В Karma аналогичного набора настроек для рендер-тайм тесселяции на уровне объекта нет, поэтому сглаживание формы в большей степени зависит от изначальной плотности модели и субдивижена, а не от динамической микрополигонализации во время рендера.

Глава 2: Портретная сцена
Chapter:
1
2
3
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more