Hallo,
kennt jemand eine Möglichkeit einen Depth Buffer mit 64 Bit unter DirectX 11 oder DirectX 12 anzulegen ?
Geht das überhaupt ?
Depth Buffer mit 64 Bit
-
- Establishment
- Beiträge: 267
- Registriert: 25.08.2019, 05:00
- Alter Benutzername: gdsWizard
- Kontaktdaten:
Depth Buffer mit 64 Bit
Hat den StormWizard 1.0 und 2.0 verbrochen. http://www.mirrorcad.com
Re: Depth Buffer mit 64 Bit
ohne jetzt in die Doku zu schauen, aber weil ich mich seit ein paar Wochen mit DirectX11 beschäftige und viel experimentiert habe muss ich sagen ich kenne ich bis jetzt 24Bit und 32Bit Puffer. Wobei ich mich Frage was macht man mit einem 64Bit Puffer?
Weil vielleicht kann man das auch anders Lösen, wenn du eine solche Genauigkeit benötigst.
Weil vielleicht kann man das auch anders Lösen, wenn du eine solche Genauigkeit benötigst.
- MEIN AKTELLES PROJEKT -> FirstStrike (PLAY THE DEMO) -> NEUER ENDBOSS -> schau dir das Video an
- WAS ICH SONST SO MACHEN -> Grafik und Design
- KUGELN FÜR ALLE -> BulletEmitter für Unity
- ICH MACH MAL SCHNELL EINE 3D ENGINE -> oyname 3DEngine
- TomasRiker
- Beiträge: 45
- Registriert: 18.07.2011, 11:45
- Echter Name: David Scherfgen
- Wohnort: Hildesheim
Re: Depth Buffer mit 64 Bit
Ich glaube nicht. Wäre wahrscheinlich auch nutzlos, wenn die GPUs intern mit 32-Bit-Floats rechnen. Dann hättest du nichts von der höheren Genauigkeit.
-
- Establishment
- Beiträge: 267
- Registriert: 25.08.2019, 05:00
- Alter Benutzername: gdsWizard
- Kontaktdaten:
Re: Depth Buffer mit 64 Bit
Ich kenne auch nur 32 und 24 Bit. Zumindest als DXGI-Format. Deswegen frage ich ja.
Soweit ich weis wird der Depth-Wert in einen 32 oder 24 Bit Integerwert umgerechnet. Ich denke das dadurch viel an Informationen verloren geht. Da der höchste Wert gleich eins gesetzt wird. Hundertprozentig sicher bin ich aber nicht. Hier würde also auch bei 32 Bit-Float auf 64Bit Integer was bringen.
Soweit ich weis wird der Depth-Wert in einen 32 oder 24 Bit Integerwert umgerechnet. Ich denke das dadurch viel an Informationen verloren geht. Da der höchste Wert gleich eins gesetzt wird. Hundertprozentig sicher bin ich aber nicht. Hier würde also auch bei 32 Bit-Float auf 64Bit Integer was bringen.
Hat den StormWizard 1.0 und 2.0 verbrochen. http://www.mirrorcad.com
- Krishty
- Establishment
- Beiträge: 8267
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Depth Buffer mit 64 Bit
Genau. Intern wird mit 32-Bit-Gleitkommazahlen gerechnet. Beim Schreiben in DXGI_FORMAT_D32_FLOAT findet im Grunde keine Umrechnung und kein Genauigkeitsverlust statt.TomasRiker hat geschrieben: ↑11.05.2024, 13:05 Ich glaube nicht. Wäre wahrscheinlich auch nutzlos, wenn die GPUs intern mit 32-Bit-Floats rechnen. Dann hättest du nichts von der höheren Genauigkeit.
Die meisten Genauigkeitsprobleme entstehen bereits bei der Berechnung – bei der Transformation der Vertex-Koordinaten durch die Projektionsmatrix. Es gibt einige Empfehlungen, wie man die verringern oder sogar zum Vorteil nutzen kann – prominentes Beispiel ist Outerra, die ja quasi die ganze Welt mit 32-Bit-Tiefenpuffer rendern.
AFAIK musst du die Far Clipping Plane nicht auf 1 setzen; Unendlich geht bspw. auch.
Ein Bit wird auch durch das Vorzeichen „verschwendet“. OpenGL optimiert das berüchtigterweise dadurch, dass der Clip Space von -1 bis +1 geht. Ich habe noch nie jemand getroffen, der das gut findet – zumal Tricks wie Outerras dann nicht mehr funktionieren. Alle hassen es und nehmen lieber den Verlust des Sign Bits in Kauf.
-
- Establishment
- Beiträge: 267
- Registriert: 25.08.2019, 05:00
- Alter Benutzername: gdsWizard
- Kontaktdaten:
Re: Depth Buffer mit 64 Bit
Danke Krishty. Wie zauberst Du nur sowas aus dem Ärmel ? Das könnte gehen. Aber auch an die anderen ein Danke.
Hat den StormWizard 1.0 und 2.0 verbrochen. http://www.mirrorcad.com
-
- Establishment
- Beiträge: 267
- Registriert: 25.08.2019, 05:00
- Alter Benutzername: gdsWizard
- Kontaktdaten:
Re: Depth Buffer mit 64 Bit
Leider hat das nicht die Auswirkungen auf mein Rasterproblem gehabt, wie ich es mir vorgestellt habe. Ich habe deshalb einen neuen Thread aufgemacht.
Hat den StormWizard 1.0 und 2.0 verbrochen. http://www.mirrorcad.com