PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : theoretisches videocpaturing des z-buffers möglich?


Gast
2005-08-23, 15:34:39
was ich wissen will ist ob es theoretisch und auch praktisch möglich wäre den frontbuffer und den z-buffer gleichzeitig zu capturen?
in welchem format diese dann auf platte kommen ist egal....

kommt man an die daten in der grafikkarte?
oder könnte man nen wrapper schreiben der die daten der 3d-anwendung entgegennimmt und selbst ein z-abbild erstellt bevor er die daten an den eigentlichen treiber weiterreicht? - den frontbuffer kann man ja bereits mit diversen tools capturen...

welche möglichkeiten gäbe es?
und wie aufwendig wären diese umzusetzen?
und wieviel performance würde das in etwa kosten?

Gast
2005-08-23, 17:24:21
Na ja, den Front Buffer hast Du ja vor Augen ;) Den zu capturen dürfte daher nicht schwer fallen.... aber den Z-Buffer... in welchem Format stellst Du Dir den die Ausgabe der Tiefeninformationen vor? Und warum ich hier eigentlich poste: WOFÜR?

Gast
2005-08-23, 21:07:07
wofür?
um nachträglich ein paar affekte drüber zu lassen.
so wie man es mit es mit renderings aus 3d-software ja auch macht.
möglichkeiten gibt es dann viele.
das einleuchtendste ist dann wohl noch eine tiefenunschärfe.
es gibt aber ne menge effekte die man abhängig von den tiefeninformationen über ein bild/video lassen kann.

in welchem format?
ein kanal in entweder 8, 16, 24 oder auch 32 bit.
das ist der videoeffekt-software ziemlich egal.
das ganze entweder als einzelbilder in einem format das alles auf einmal unterstützt (64 bit - 32 für rgba und weitere 32 für z) oder in getrennten dateien.
oder zwei videos - einmal rgb und einmal z.
wie gesagt... prinzipiell egal...

mir gehts ja erstmal um die machbarkeit.
aber nachdem ich heute einen thread zu demirugs directx tweaker gefunden hab denke ich dass das problemlos machbar sein müsste.
wenn das tool irgendwann die aufzeichnung aller relevanten daten erlaubt und diese nachträglich in verschiedenen formaten offline neu gerendert werden können müsste es ja problemlos möglich sein mit diesem tool dann auch einmal sich den z-buffer bzw. ein dementsprechendes abbild rendern zu lassen.

Demirug
2005-08-23, 21:14:58
An den Z-Buffer kommst du so direkt ohne weiteres nicht ran.

DirectX sieht lediglich zwei Formate vor die überhaupt ausgelsen werden dürfen. Ein 16 Bit Format und eine 32 Bit Fliesspunkt Format. Das 32 Bit Format wird AFAIK von noch keinem Chip unterstützt. Das 16 Bit Format von ein paar aber wer will schon einen 16 Bit Z-Buffer?

Was man machen kann ist den Z-Buffer nochmal in eine Texture (am besten ein Fliesspunktformat) zu rendern. Für Tiefenunschärfe reicht aber durchaus auch ein Integer Format.

Splinter Cell 3 rendert sich so zum Beispiel auch einen "Z-Buffer" in eine Texture.

Gast
2005-08-23, 22:01:49
so was in der art dachte ich mir....

mal angenommen euer tool hat dann irgendwann die möglichkeit der aufzeichnung und des nachträglichen neurenderns....
wieviel aufwand wäre es eine funktion einzubauen den z-buffer auszugeben?
eben wie du sagtest in eine textur rendern und diese zu speichern.

gerade für machinima produktionen wäre solch eine funktion gold wert.