Как работает временная репроекция?

10

Временное сглаживание (и другие временные алгоритмы) работают путем сопоставления пикселей этого кадра с пикселями из последнего кадра и последующего использования этой информации.

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

Чего я не понимаю, так это как узнать, действителен ли перепроецированный пиксель или нет? Например, старый пиксель теперь может быть скрыт за другим объектом.

Это только по цвету? Если да, то как обрабатываются анимированные текстуры или меняются условия освещения?

Алан Вульф
источник

Ответы:

4

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

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

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

Джон Калсбек
источник
1
Вы слышали, чтобы кто-нибудь использовал значение буфера глубины для проверки работоспособности?
Алан Вулф
@AlanWolfe Нет, и я думаю, что это потому, что текстура вектора движения обычно двухкомпонентная: вам нужен компонент change-in-Z, чтобы знать, каким должно быть значение буфера глубины, и это не очень хорошо ограничено размером экрана , Я подозреваю, что вы могли бы получить лучшие стратегии отклонения, чем, добавив больше информации на пиксель.
Джон Калсбек
Ах хорошо. Какую информацию вы думаете, было бы полезно добавить. Затенение типа параметров материала, чтобы можно было сказать, если это тот же материал?
Алан Вулф
1
@AlanWolfe У меня не так много конкретных идей. Я не эксперт в отношении того, когда временная репроекция с ограничением соседства разрушается и производит артефакты, и какая информация будет полезна в таких ситуациях. Возможно, прозрачность (без информации о векторе движения) в сочетании с высокочастотным освещением создают артефакты, и вам нужна некоторая информация о мраке. Возможно, геометрическая алиасинг - ваша проблема, и вам нужна другая информация.
Джон Калсбек