[DX10] DXGI_FORMAT Format?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
kkrahl
Beiträge: 56
Registriert: 20.10.2008, 13:41

[DX10] DXGI_FORMAT Format?

Beitrag von kkrahl »

Hallo

Kann mir mal jemand erklären wie das mit dem DXGI_FORMAT funktioniert? Was sind welche DisplayMody (65k Farben, TrueColor, ...)? Und für Was brauch man die ganzen Unterschiede zwischen _UNORM oder _FLOAT?

Blicke da noch immer nicht wirklich durch und habe auch leider nirgends (weder deutsch noch englische) eine Beschreibung gefunden.

Dank Euch

Karl
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [DX10] DXGI_FORMAT Format?

Beitrag von Krishty »

Hi,

Schau hier mal ganz unten unter „Format Modifiers“ ;) Im Grunde geben die nur an, wie die Bits des Formats von der Hardware interpretiert werden.
Da Bildschirme nur positive Werte zwischen 0 (schwarz) und 1 (weiß) interpretieren können, muss der Backbuffer immer _UNORM sein.

Bei _SNORM sorgt die Hardware dafür, dass die Werte beim Laden in den Bereich -1 … +1 gebracht werden. Dadurch kann man Normalmaps samplen und hat direkt die richtigen Werte, ohne das klassische „* 2.0f - 1.0f“ durchführen zu müssen.

_FLOAT interpretiert die Bitmuster als Gleitkommazahlen, so kann man HDR-Bilder, Positionmaps etc mit Gleitkommapräzision samplen. Ist auch für Vertices wichtig, schließlich liegen deren Positionen meist nicht im Intervall [0,1] (_UNORM) vor, sondern eben als reelle Zahlen.

_UINT / _SINT sind wichtig, wenn man die Bitmuster direkt als Integer interpretieren muss, so z.B. die Indizes in einem Index-Buffer.

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
kkrahl
Beiträge: 56
Registriert: 20.10.2008, 13:41

Re: [DX10] DXGI_FORMAT Format?

Beitrag von kkrahl »

Erst mal danke für deine Antwort aber was mir noch immer unklar ist, wie definiere ich einen 256 Farben Farb-Modus, bzw. 65k Farben Farb-Modus, bzw TrueColor Farb-Modus.

Danke

Karl
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: [DX10] DXGI_FORMAT Format?

Beitrag von Aramis »

16/256 Farben ist ein Palettenmodus und eigentlich nicht mehr im Gebrauch. 65k ist ein Format mit 16 bits pro Pixel, also 2^16 = 65536 Kombinationen. Üblicherweise RGB565, d.h. 5 Bits für Rot und Blau, 6 Bits für Grün weil das menschliche Auge da empfindlicher ist. TrueColor sind 24 Bits pro Pixel, d.h. 16.7 mio Farben. Aus Alignmentgründen kommt aber immer noch ein viertes Byte hinzu dass dann im Falle des Bildschirmbuffers ungenutzt bleibt, in Rendertargets aber für die Transparenz genutzt werden kann. Typisches Format ist RGBA8888.
kkrahl
Beiträge: 56
Registriert: 20.10.2008, 13:41

Re: [DX10] DXGI_FORMAT Format?

Beitrag von kkrahl »

Dank dir für dein wunderbare Erklärung.

Karl
Antworten