Wie funktioniert die zeitliche Reprojektion?

10

Zeitliches Anti-Aliasing (und andere zeitliche Algorithmen) funktionieren, indem Pixel dieses Rahmens mit Pixeln aus dem letzten Rahmen abgeglichen werden und diese Informationen dann verwendet werden.

Ich verstehe, dass Sie die letzten und aktuellen Bildmatrizen zusammen mit Bewegungsvektorinformationen verwenden können, um die Pixel zwischen den Bildern abzugleichen.

Was ich jedoch nicht verstehe, ist, woher weißt du, ob das neu projizierte Pixel gültig ist oder nicht? Zum Beispiel kann das alte Pixel jetzt hinter einem anderen Objekt versteckt sein.

Ist es nur nach Farbe? Wenn ja, wie werden animierte Texturen oder sich ändernde Lichtverhältnisse behandelt?

Alan Wolfe
quelle

Antworten:

4

Eine Strategie, die in Brian Karis 'Vortrag über TAA erwähnt wird, ist die Nachbarschaftsklemmung. Die allgemeine Idee ist, dass, damit das Pixel des vorherigen Frames gültig ist, seine Farbe in dem Farbbereich liegen sollte, der sich in der Nachbarschaft (z. B. 3 x 3 Pixel) des aktuellen Pixels dieses Frames befindet.

Dies lehnt den Verlauf von sich ändernden Lichtverhältnissen ab, was wahrscheinlich sowieso das ist, was Sie wollen, wenn Sie nicht möchten, dass sich bewegende Schatten Geisterbilder erzeugen.

(Animierte Texturen können abhängig von der Geschwindigkeit der Animation auch mit einem Bewegungsvektor verarbeitet werden, wenn Sie eine vorhersagbare UV-Abbildung haben oder einigermaßen gut raten können.)

John Calsbeek
quelle
1
Haben Sie von jemandem gehört, der den Tiefenpufferwert als Überprüfung der Gesundheit verwendet?
Alan Wolfe
@AlanWolfe Nein, und ich denke, das liegt daran, dass die Bewegungsvektortextur normalerweise aus zwei Komponenten besteht: Sie benötigen eine Change-in-Z-Komponente, um zu wissen, wie hoch der Tiefenpufferwert sein sollte, und das ist nicht gut durch die Bildschirmgröße begrenzt . Ich vermute, Sie könnten bessere Ablehnungsstrategien erzielen, wenn Sie mehr Informationen pro Pixel hinzufügen.
John Calsbeek
Ah OK. Welche Art von Informationen wäre Ihrer Meinung nach hilfreich, um sie hinzuzufügen. Dinge vom Typ Schattierungsparameter, um feststellen zu können, ob es sich um dasselbe Material handelt?
Alan Wolfe
1
@ AlanWolfe Ich habe nicht viele konkrete Ideen. Ich bin kein Experte dafür, wann die zeitliche Reprojektion mit Nachbarschaftsklemmung zusammenbricht und Artefakte erzeugt und welche Informationen in diesen Situationen nützlich wären. Möglicherweise erzeugen Transparentfolien (keine Bewegungsvektorinformationen) in Kombination mit Hochfrequenzbeleuchtung Artefakte, und Sie benötigen einige Informationen zur Verschleierung. Vielleicht ist geometrisches Aliasing Ihr Problem und Sie benötigen andere Informationen.
John Calsbeek