EnglishРусскийTürkçeDeutschFrançais О сайте · RSS
WebInterface.org
WebInterface.org

Заметки о рисунке, печати, фотографии и картинках, которые делает компьютер.

Начало · Трёхмерная графика · Свет, материалы и готовое изображение

Свет, материалы и готовое изображение

Рендеринг превращает модель в изображение. Один путь состоит в том, чтобы смоделировать ход света и целиться в фотографический результат. Другой состоит в том, чтобы нарочно наложить художественную манеру. Именно это и значит нефотореалистичный рендеринг. В реалистичном рендерере две базовые операции. Перенос: сколько света доходит из одного места в другое. Рассеяние: как поверхность обходится со светом, который прибыл. Работу делает программа трёхмерной графики или API трёхмерной графики. Чтобы привести сцену к виду, которым рендерер умеет пользоваться, нужна ещё проекция: трёхмерное описание, показанное в двух измерениях. Некоторые моделлеры заодно рендерят. Примеры: 3ds Max и Blender. Некоторые программы только рендерят. Octane и Redshift примеры этого второго рода.

Растеризация

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

Затенение по Гуро считает цвет в вершинах и интерполирует его по грани. Затенение по Фонгу интерполирует нормали и вычисляет блик в каждой выборке. Второе дороже, и на кривой поверхности, которую приблизили плоскими гранями, блик садится убедительнее. Reyes, архитектура, на которой стоит большая доля полнометражной анимации с конца 1980-х, нарезает каждую поверхность на микрополигоны и затем проверяет видимость в пространстве экрана через z-буфер. Смысл в самой нарезке. Если куски достаточно мелки, грубое описание кривой поверхности можно затенять так, словно кривая действительно на месте.

Вслед за лучами

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

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

К 2017 году многие производственные студии перешли от рендеринга микрополигонами в духе Reyes к физически корректной трассировке путей. Стив Бако с коллегами обучил свёрточную сеть на кадрах Finding Dory и проверил её на Cars 3. По нескольким десяткам выборок на пиксель сеть предсказывает фильтр, который снимает большую часть шума Монте-Карло. Open Image Denoise фирмы Intel делает родственную работу, и его встраивают рендереры, в том числе Arnold, Blender и V-Ray. В 2025 году Академия кинематографических искусств и наук присудила премию за техническое достижение Аттиле Т. Афре за Open Image Denoise и Тимо Айле за применение сетей U-Net к шумоподавлению. Премия служит удобной отметкой. Чистка рендера стала отдельной кинотехнологией, а не пунктом, который отмечают галочкой.

Лучи, пока картинка на экране

Nvidia объявила RTX 19 марта 2018 года, сначала для GPU Volta, вместе с DirectX Raytracing фирмы Microsoft. Отдельные ядра RT для теней, отражений, преломлений и глобального освещения, посчитанных трассировкой лучей, пришли с серией GeForce RTX, объявленной 20 августа 2018 года. Пока игра не могла протрассировать путями целый кадр, обычная практика была скромнее. Тени, или отражения, или непрямой свет трассировали лучами как отдельные эффекты и только для ограниченного числа источников. Остальной кадр по-прежнему растеризовали.

Ray Tracing: Overdrive, добавленный в Cyberpunk 2077 патчем 1.62 от 11 апреля 2023 года, трассирует пути по всему кадру. По умолчанию режим выключен, потому что очень требователен. CD PROJEKT RED рекомендовала этот предварительный режим для карт GeForce RTX 40-й серии, начиная с 4070 Ti и выше, и для GeForce RTX 3090 при 1080p и 30 кадрах в секунду. Числа устареют. Форма факта останется. Полная трассировка путей по кадру в игре была на ту дату дорогим предварительным режимом, а не обычным способом доставить картинку на телевизор.

Материалы

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

Модель Кука-Торренса, 1982 год, рассматривает поверхность как набор микрограней. Она учитывает относительную яркость материалов, показанных вместе, направленный разброс отражённого света и сдвиг цвета, когда меняется угол падения. Если поставить пластиковый стакан рядом с латунным под тем же светом, модели есть что сказать об обоих, вместо одного числа «глянца», растянутого на всякое вещество.

Принципиальную BRDF Брента Бёрли, описанную в курсе SIGGRAPH 2012 года, построили в Walt Disney Animation Studios вокруг короткого списка правил проектирования. Параметры должны быть понятны на глаз, а не строго физичны. Их должно быть мало. Обычно они лежат между нулём и единицей, но им позволено выходить за этот диапазон. В сочетании они должны оставаться правдоподобными. Студия применила получившийся шейдер практически к каждому материалу в Wreck-It Ralph. Интересное в этом списке слово «правдоподобный». Киношный шейдер должен слушаться художника во вторник. Физически полная модель, которую художник не может направить, негодный инструмент, даже если интеграл красивее.

Три поздние задачи и одна, которая не из их числа

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

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

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

Трёхмерный гауссов сплаттинг, опубликованный в 2023 году Керблем, Георгиосом Копанасом, Томасом Лаймкюлером и Джорджем Дреттакисом, заменяет сеть анизотропными трёхмерными гауссианами. Их оптимизируют, затем рисуют сплаттингом. На сценах, которые авторы проверяли, они сообщают о новых видах в реальном времени при 1080p, со скоростью 30 кадров в секунду или выше. Гауссианы и составляют хранимую сцену. Это поле излучения, которое рисуют сплаттингом, а не сетка треугольников. В glTF расширение KHR_gaussian_splatting может нести эти сплаты, поэтому они и появляются в списке файлов моделей.

DreamFusion, метод получения трёхмерного объекта из текста Бена Пула, Аджая Джейна, Джонатана Баррона и Бена Милденхолла, оптимизирует случайно инициализированное нейронное поле излучения, пока картинки со случайных камер не получат высокую оценку у замороженной модели перевода текста в изображение. Поскольку этот приор обучен на обычных изображениях, оптимизации не нужен корпус трёхмерных моделей. Каждая подсказка это отдельная оптимизация. Известный сбой называют артефактом Януса: на одном объекте больше одного переднего лица. Он появляется, когда каждый выбранный вид схлопывается к каноническому виду спереди. Пэйхао Ван и коллеги возводят этот сбой к схлопыванию целевой функции дистилляции оценок, которую распространил DreamFusion. Объект не снимают с нескольких сторон. Каждую «сторону» тянет к тому переднему виду, который модель изображений знает лучше всего.

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

Раньше: Как строят модель и приводят её в движениеДальше: Файлы трёхмерной модели