D3D11_TEXTURE_LAYOUT-Enumeration (d3d11_3.h)
Gibt Texturlayoutoptionen an.
Syntax
typedef enum D3D11_TEXTURE_LAYOUT {
D3D11_TEXTURE_LAYOUT_UNDEFINED = 0,
D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 1,
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 2
} ;
Konstanten
D3D11_TEXTURE_LAYOUT_UNDEFINED Wert: 0 Das Texturlayout ist nicht definiert und wird vom Treiber ausgewählt. |
D3D11_TEXTURE_LAYOUT_ROW_MAJOR Wert: 1 Die Daten für die Textur werden in Zeilen-Hauptreihenfolge (manchmal auch als pitch-linear bezeichnet) gespeichert. |
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE Wert: 2 Eine Standardtextur verwendet das standardisierte Swizzle-Muster. |
Hinweise
Diese Enumeration steuert das Swizzle-Muster von Standardtexturen und aktiviert die Kartenunterstützung für Standardtexturen. Aufrufer müssen D3D11_FEATURE_DATA_D3D11_OPTIONS2 abfragen, um sicherzustellen, dass jede Option unterstützt wird.
Die standardmäßigen Swizzle-Formate gelten in jedem seitengroßen Block, und seiten sind linear zueinander angeordnet. Ein 16-Bit-Interleave-Muster definiert die Konvertierung von vorgeschwenktem Seitenstandort in die position nach dem Schwenken.
Betrachten Sie zur Veranschaulichung das obige Swizzle-Format 32bpp. Dies wird durch die folgenden interleave Masken dargestellt, wobei Bits auf der linken Seite am wichtigsten sind.UINT xBytesMask = 1010 1010 1000 1111
UINT yMask = 0101 0101 0111 0000
Zum Berechnen der swizzled-Adresse kann der folgende Code verwendet werden (wobei die _pdep_u32-Anweisung unterstützt wird):
UINT swizzledOffset = resourceBaseOffset +
_pdep_u32(xOffset, xBytesMask) +
_pdep_u32(yOffset, yBytesMask);
Anforderungen
Anforderung | Wert |
---|---|
Header | d3d11_3.h |