Для чего нужен Metropolis Light Transport (MLT)?


Мы привыкли что реалистичный рендеринг - это долго. Долго, потому что реалистичная компьютерная графика требует моделирования широкого спектра физических явлений высокой точности расчёта. А высокая точность почти всегда означает большое время расчёта. Однако, в реальной жизни очень часто возникают эффекты и феномены (будем называть их трудновычислимыми), которые обладают сложной природой и их точный расчёт методом "грубой силой" (в той или иной форме) практически невозможен за приемлимое время. Основная проблема расчёта таких феноменов - выбросы: узкие и резкие пики в интеграле освещённости, которые находятся в заранее неизвестных местах многомерного пространства.

Рисунок 1. Изображение водных каустиков, посчитанное при помощи MLT на GPU HD7970 за 1 час.

Представьте себе, что вы стреляете из 12-фунтовой полевой пушки обр.1805 г. (рис. 1) в спичечный коробок с расстояния в несколько километров (к слову, современным артиллерийским системам такое под силу). Или стараетесь попасть ниткой в ушко иглы, бросая нитку с расстояния в 1 метр. Оба этих события - чрезвычайно редкие, хотя они вполне могут прозойти. На 100-1000 выстрелов/бросаний нитки вы, возможно, попадёте 1 раз. Но это страшно неэффективно. В рендерах та же проблема - заранее неизвестно куда нужно больше лучей выпускать, а куда можно меньше. Каустики или многократные глосси отражения - это и есть спичечный коробок, - то самое ушко иглы в многомерном пространстве, в которое рендеру нужно уметь попадать, причём довольно часто.


12-фунтовая полевая пушка обр.1805 г.

Рисунок 1. 12-фунтовая пушка обр.1805 г. Не слишком точное орудие для нашего времени.


MLT - Unbiased рендеринг без компромиссов

Современная наука предлагает несколько методов решения этой проблемы. Каждый из методов обладает своими преимуществами и недостатками. В нашей рендер-системе вы можете, например, попробовать стохастические прогрессивные фотонные карты - SPPM. На практике однако, задача рендеринга приводит к необходимости моделировать практически всё что угодно, причём с высокой точностью. Именно это даёт Вам необходимую гибкость и мощность в рендер-системе. Позволяет Вам творить новые миры свободно, без ограничений.
Традиционно-популярные методы в рендеринге вроде (SPPM и BDPT/VCM основанные на Multiple Importance Sampling) используют "подсказки" - априорную информацию о функции падающего освещения, которой в реальности может не быть вовсе (либо она может быть неверной). Метод который даёт настоящую свободу должен работать в любых условиях без ограничений, должен считать освещение с любыми материалами и источниками за приемлимое время. И, разумеется, с высокой точностью. Чтобы это было возможно, нужно обратиться за помощью к математике, - и мыслить более абстрактно. Нам нужна эффективная "молотилка" произвольных многомерных интегралов. Именно это позволит снять все ограничения.

Что такое MLT?

Metropolis Light Transport (или MLT) - это один из видов так называемого Markov Chain Monte Carlo (MCMC). MCMC - более общий вариант монте-карло интегрирования, который активно развивается и по сей день. Мы не будем вдаваться в детали того как это работает, но скажем что MCMC умеет строить распределение пропорционально любой, заранее неизвестной функции (в многомерном пространстве разумеется). Причём, умея вычислять только значения этой функции в точках. Это именна та ситуация, которую мы имеем в трассировщиках лучей.

Тестовые сценарии

PT (2Kx2K) 60 мин MLT (2Kx2K) 60 мин

Сценарий номер 1. Источник стоящий близко к стене. Оригинальные изображения посчитаны в разрешении 2048x2048 за 1 час на GTX760

Источник, располагающийся близко к стене создаёт яркое и резкое вторичное освещение.

PT (2Kx2K) 30 мин MLT (2Kx2K) 30 мин

Сценарий номер 2. Источник сложной формы. Оригинальные изображения посчитаны в разрешении 1024x1024 за 30 минут GTX680

PT 5 мин MLT 5 мин

Сценарий номер 3. Самосветящийся материал 1024x1024 за 5 минут GTX680

PT 10 мин MLT 10 мин

Сценарий номер 4. Водные каустики. Сравнение с PT.

SPPM+FG 10 мин MLT 10 мин

Сценарий номер 4. Водные каустики. Сравнение с SPPM.

PT 30 мин MLT 30 мин

Сценарий номер 5. Каустики и непрямое освещение через таршер.