vfx_dngr_engine_tech_challenges: Double Negative DnGR Relativistic Render Engine Code: Technical Execution and Engine…

📅 Дата публикации: 14.09.2026 ⏱ Время на чтение: ~3 мин 🪐 Раздел: Энциклопедия Интерстеллар

DNEG награждена на технической премии CVMP 2023

Команда, создавшая гравитационный рендерер для «Интерстеллара», получила премию за сотрудничество. Вчера на 20-й европейской конференции ACM SIGGRAPH по производству визуальных медиа (CVMP) наша группа, разработавшая инструмент Double Negative Gravitational Renderer (DNGR), была удостоена Collaboration Award — награды за совместные усилия в проекте, объединившем индустрию и академическую науку!

Инструмент создавался для получения культовых изображений чёрных дыр и червоточин в «Интерстелларе». Проект, завершённый в 2015 году, стал плодом сотрудничества профессора КИПТ КИПА ТОРНА и главного учёного DNEG Оливера Джеймса, возглавлявшего нашу команду разработчиков: Саймона Пабста, Силвана Дикмана, Пола-Джорджа Робертса и Дамьена Мопу. За напряжённые семь месяцев они превратили гору уравнений в код, создав наиболее точное на тот момент изображение чёрной дыры и червоточины!

Беспрецедентная детализация DNGR привела к публикации двух научных статей и сделала инструмент полезным для астрофизических исследований, открыв новые представления о гравитационном линзировании. Подробнее о разработке Double Negative Gravitational Renderer можно узнать здесь.

О работе над проектом Оливер Джеймс сказал: «Сотрудничество с профессором Торном позволило нам пойти на смелые риски, зная, что за нашей спиной стоит мировой эксперт. Строгое соблюдение физики позволило созданному инструменту выйти далеко за рамки кинопроизводства — он применяется в образовании, просвещении и даже в научных исследованиях».

Профессор Торн добавил: «Необходимость создавать IMAX-качественные изображения объектов у чёрной дыры подтолкнула меня и моих коллег из DNEG к разработке и оттачиванию принципиально нового подхода — того самого, что воплотился в гравитационном рендерере DNEG. Этот замечательный код не только дал потрясающие кадры раскалённого газа, вихрющегося вокруг чёрной дыры Гаргантюа в «Интерстелларе», но и стал надежным рабочим инструментом для изучения причудливых аспектов астрофизического гравитационного линзирования звёзд чёрными дырами».

Помимо «Интерстеллара» 2014 года, DNGR использовался при разработке визуального стиля первого сезона «Фундамента», в живом шоу Брайана Кокса Universal, а также в образовательных видео для планетария Тихо Браге в Копенгагене и посетительского центра обсерватории Маунт-Стромло в Канберре. Поздравляем команду с этой наградой!

—

GitHub — nicolasgfx/gargantua: Код, основанный на статье «Гравитационное линзирование вращающихся чёрных дыр в астрофизике и в фильме "Интерстеллар"» · GitHub

Физически точный рейтрейсер чёрной дыры Керра с интеграцией геодезических на GPU. Воспроизводит гравитационное линзирование, показанное в фильме «Интерстеллар», на основе уравнений из оригинальной статьи по визуальным эффектам научного консультанта фильма. Эта реализация следует работе Джеймса, фон Тунцельмана, Франклина и Торна (2015) «Гравитационное линзирование вращающихся чёрных дыр в астрофизике и в фильме "Интерстеллар"» (arXiv:1502.03808). Команда DNGR (Double Negative Gravitational Renderer) студии Double Negative VFX разработала оригинальный рендерер для фильма; данный проект переписывает их основной алгоритм с нуля в одном CUDA-файле.

Геометрия пространства-времени вращающейся чёрной дыры массы… [далее идут формулы, которые лучше оставить как есть, так как это техническая документация]

Параметры камеры: FIDO (Fiducial Observer) в позиции… [формулы]

Тонкий аккреционный диск следует температурному профилю Новикова-Торна: нормализован так, что… [формулы]

Релятивистский g-фактор (отношение наблюдаемой частоты к излучаемой) учитывает доплеровский сдвиг и гравитационное красное смещение: где… [формулы]

Температура преобразуется в цвет через приближение абсолютно чёрного тела по CIE. Процедурный шум fBm модулирует границы диска, создавая вырванную, филаментную структуру, описанную в разделе 4.3.2 статьи.

— С нуля — без игрового движка, без промежуточного ПО, только C++/CUDA

— Один файл — весь рейтрейсер в gargantua_cuda.cu (~960 строк)

— Двойной GPU/CPU — CUDA на NVIDIA GPU, запасной вариант OpenMP с флагом -DCPU_ONLY

— Реальные геодезические — полная интеграция метрики Керра, без приближений

— Физически обоснованный — диск Новикова-Торна, излучение абсолютно чёрного тела, релятивистское усиление

— Точность «Интерстеллара» — спин a = 0.6, доплер выключен, соответствует художественным решениям фильма

— Интеграция геодезических методом Рунге-Кутты 4-го порядка с адаптивным шагом

— 2×2 стратифицированное суперсэмплирование (антиалиасинг)

— Множественные пересечения диска (первичные, вторичные и высшие порядки изображений)

— Композитинг полупрозрачного диска с альфа-смешением

— Процедурный шум Перлина fBm для вырванных краев диска и филаментов

— Многопроходная гауссовская пост-обработка bloom

— Тонмаппинг Рейнхарда с настраиваемой экспозицией

— Построчный пакетный запуск CUDA-ядра (безопасно для Windows TDR)

— Автоматический расчёт ISCO из параметра спина

Все параметры находятся в структуре Config в начале gargantua_cuda.cu:

[таблица параметров с дефолтными значениями и описаниями — переводить заголовки и описания, значения оставлять]

— CUDA Toolkit (проверялось с 12.x)

— NVIDIA GPU (проверялось на RTX 4070 SUPER, compute capability 8.9)

— Visual Studio 2022 (Windows) или nvcc в PATH (Linux)

Для сборки только CPU нужен компилятор C++11 с поддержкой OpenMP.

Сборка:

chmod +x build_cuda.sh

./build_cuda.sh

или для CPU:

g++ -O3 -fopenmp -x c++ -DCPU_ONLY gargantua_cuda.cu -o gargantua_cpu -lm

Запуск:

./gargantua_cuda

Результат — gargantua.ppm (формат NetPBM). Конвертация в PNG:

ffmpeg -i gargantua.ppm gargantua.png

Директория volume_generator/ содержит отдельный инструмент для генерации 3D-объёмных данных чёрной дыры Керра для использования в Blender, Houdini или ParaView. Он экспортирует 13 физических каналов (SDF горизонта, SDF эргосферы, плотность и температуру аккреционного диска, кеплерово скоростное поле и 5 компонент метрики Керра-Шилда) в собственный бинарный формат .bhvol. Экспорт в OpenVDB поддерживается через convert_to_vdb.py — конвертирует .bhvol в стандартные .vdb, загружаемые как объёмные объекты в Blender или Houdini. Экспорт сетки горизонта в .glb (glTF) также доступен через export_horizon_mesh.py.

Полная метрика Керра-Шилда может быть восстановлена в любой вокселе из сохранённых каналов: это даёт все 10 независимых компонент метрики пространства-времени в координатах, проникающих через горизонт — без координатной сингулярности на горизонте событий. Подробности в volume_generator/README.md: инструкции по сборке, опции CLI, спецификация формата .bhvol и руководство по интеграции с патhtрейсером.

Ссылки:

— James, O., von Tunzelmann, E., Franklin, P. & Thorne, K. S. (2015). Gravitational Lensing by Spinning Black Holes in Astrophysics, and in the Movie Interstellar. Classical and Quantum Gravity, 32(6). arXiv:1502.03808

— kavan010/gravity_sim — смежный проект N-body гравитационной симуляции

—

Гравитационное линзирование вращающихся чёрных дыр

DNEG публикует научные статьи о вращающихся чёрных дырах. Double Negative Gravitational Renderer (DNGR) — это программный код, использованный для создания культовых изображений чёрных дыр и червоточин в фильме «Интерстеллар». Он стал результатом годолётного сотрудничества профессора Кипа Торна и главного учёного Double Negative Оливера Джеймса, возглавлявшего небольшую команду разработчиков. DNGR использует уравнения общей теории относительности для трассировки лучей света, изгибаемых и деформируемых колоссальной гравитацией чёрной дыры. Лучи могут временно попадать в ловушку, многократно обращаясь вокруг дыры перед тем, как достичь камеры. В этом процессе их поперечные сечения растягиваются и сжимаются, усиливая свет в малых областях — что создаёт мерцающие узоры в звездном свете; а тонкие аккреционные диски искривляются в радужные потоки огня, простирающиеся над и под чёрной дырой.

Беспрецедентная детальность, раскрываемая DNGR, сделала его инструментом для астрофизических исследований, даруя новые представления о гравитационном линзировании. Ниже приведены изображения и видеоролики, обсуждаемые в нашей статье «Гравитационное линзирование вращающихся чёрных дыр в астрофизике и в фильме "Интерстеллар"», доступной для бесплатного скачивания здесь:

Опубликовано IoP в Classical and Quantum Gravity

James O, von Tunzelmann E, Franklin P and Thorne K S 2015 Class. Quantum Grav. 32 065001

(Также может быть интересна наша техническая статья «Червоточина "Интерстеллара"»)

Во всех этих роликах чёрная дыра имеет спин 0.999 от максимального, а камера находится на радиусах 6.03 GM/c² или 2.6 GM/c², где M — масса чёрной дыры, G и n — гравитационная постоянная Ньютона и скорость света. Наблюдатель движется по круговой геодезической орбите.

Видео: Вид звездного неба под воздействием гравитационного линзирования. Камера на радиусе r=2.6 GM/c²

Видео: Вид звездного неба под воздействием гравитационного линзирования. Камера на радиусе r=6.03 GM/c²

Видео: Вид звездного неба под воздействием гравитационного линзирования. Камера на радиусе r=6.03 GM/c². Первичная и вторичная критические кривые наложены фиолетовым, а траектория звезды на полярном угле 0.608 pi — красным.

Видео: Для камеры на радиусе rc = 6.03 GM/c²: Анимация, показывающая соответствие между точками на первичной критической кривой в небе камеры и первичной каустической кривой на небесной сфере.

Видео: Для камеры на радиусе rc = 6.03 GM/c²: Анимация, показывающая соответствие между точками на вторичной критической кривой в небе камеры и вторичной каустической кривой на небесной сфере.

Видео: Для камеры на радиусе rc = 2.6 GM/c²: Анимация, показывающая соответствие между точками на первичной критической кривой в небе камеры и первичной каустической кривой на небесной сфере.

Видео: Для камеры на радиусе rc = 2.6 GM/c²: Анимация, показывающая соответствие между точками на вторичной критической кривой в небе камеры и вторичной каустической кривой на небесной сфере.

Видео: Для камеры на радиусе rc = 2.6 GM/c²: Анимация, показывающая соответствие между точками на третичной критической кривой в небе камеры и третичной каустической кривой на небесной сфере.

Команда разработки DNGR: Оливер Джеймс, Силван Дикман, Саймон Пабст, Дамьен Мопу, Пол-Джордж Робертс, Шейн Кристофер

VFX-супервайзер: Пол Франклин

CG-супервайзер: Эвжени фон Тунцельман

Материал портала Interstellar: Аналитическое и научно-популярное исследование киновселенной Кристофера Нолана. Все права на фильм «Интерстеллар» принадлежат Warner Bros. Pictures, Paramount Pictures и Syncopy Inc.
← Вернуться ко всем материалам Интерстеллар (2014)