Freigeben über


D3D11_TEXTURE2D_DESC1-Struktur (d3d11_3.h)

Beschreibt eine 2D-Textur.

Syntax

typedef struct D3D11_TEXTURE2D_DESC1 {
  UINT                 Width;
  UINT                 Height;
  UINT                 MipLevels;
  UINT                 ArraySize;
  DXGI_FORMAT          Format;
  DXGI_SAMPLE_DESC     SampleDesc;
  D3D11_USAGE          Usage;
  UINT                 BindFlags;
  UINT                 CPUAccessFlags;
  UINT                 MiscFlags;
  D3D11_TEXTURE_LAYOUT TextureLayout;
} D3D11_TEXTURE2D_DESC1;

Member

Width

Texturbreite (in Texel). Der Bereich reicht von 1 bis D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). Bei einer Texturwürfelkarte reicht der Bereich von 1 bis D3D11_REQ_TEXTURECUBE_DIMENSION (16384). Der Bereich ist jedoch tatsächlich durch die Featureebene eingeschränkt, auf der Sie das Renderinggerät erstellen. Weitere Informationen zu Einschränkungen finden Sie unter Hinweise.

Height

Texturhöhe (in Texel). Der Bereich reicht von 1 bis D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). Bei einer Texturwürfelkarte reicht der Bereich von 1 bis D3D11_REQ_TEXTURECUBE_DIMENSION (16384). Der Bereich ist jedoch tatsächlich durch die Featureebene eingeschränkt, auf der Sie das Renderinggerät erstellen. Weitere Informationen zu Einschränkungen finden Sie unter Hinweise.

MipLevels

Die maximale Anzahl von Mipmap-Ebenen in der Textur. Weitere Informationen finden Sie in den Hinweisen in D3D11_TEX1D_SRV. Verwenden Sie 1 für eine Mehrfachtextur. oder 0, um einen vollständigen Satz von Untertexturen zu generieren.

ArraySize

Anzahl der Texturen im Texturarray. Der Bereich reicht von 1 bis D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048). Bei einer Texturwürfelzuordnung ist dieser Wert ein Vielfaches von 6 (d. h. das Sechsfache des Werts im NumCubes-Element von D3D11_TEXCUBE_ARRAY_SRV), und der Bereich liegt zwischen 6 und 2046. Der Bereich wird tatsächlich durch die Featureebene eingeschränkt, auf der Sie das Renderinggerät erstellen. Weitere Informationen zu Einschränkungen finden Sie unter Hinweise.

Format

Texturformat (siehe DXGI_FORMAT).

SampleDesc

Struktur, die Multisamplingparameter für die Textur angibt. Weitere Informationen finden Sie unter DXGI_SAMPLE_DESC.

Usage

Wert, der angibt, wie die Textur gelesen und in diese geschrieben werden soll. Der gebräuchlichste Wert ist D3D11_USAGE_DEFAULT; Alle möglichen Werte finden Sie unter D3D11_USAGE .

BindFlags

Flags (siehe D3D11_BIND_FLAG) für die Bindung an Pipelinephasen. Die Flags können durch ein bitweises OR kombiniert werden.

CPUAccessFlags

Flags (siehe D3D11_CPU_ACCESS_FLAG), um die zulässigen CPU-Zugriffstypen anzugeben. Verwenden Sie 0, wenn kein CPU-Zugriff erforderlich ist. Diese Flags können mit einem bitweisen OR kombiniert werden.

MiscFlags

Flags (siehe D3D11_RESOURCE_MISC_FLAG), die andere, weniger gängige Ressourcenoptionen identifizieren. Verwenden Sie 0, wenn keines dieser Flags zutrifft. Diese Flags können mithilfe eines bitweisen OR kombiniert werden. Legen Sie für eine Texturwürfelzuordnung das flag D3D11_RESOURCE_MISC_TEXTURECUBE fest. Cubezuordnungsarrays (d. h. ArraySize> 6) erfordern Featureebene D3D_FEATURE_LEVEL_10_1 oder höher.

TextureLayout

Ein D3D11_TEXTURE_LAYOUT typisierter Wert, der das Layout der Textur angibt.

Der Parameter TextureLayout wählt sowohl das tatsächliche Layout der Textur im Arbeitsspeicher als auch das Layout aus, das für die Anwendung sichtbar ist, während die Textur zugeordnet wird. Diese Flags werden möglicherweise nicht angefordert, ohne dass der CPU-Zugriff ebenfalls angefordert wird.

Es ist unzulässig, CPU-Zugriffsflags für Standardtexturen festzulegen, ohne textureLayout auf einen anderen Wert als D3D11_TEXTURE_LAYOUT_UNDEFINED festzulegen.

D3D11_TEXTURE_LAYOUT_ROW_MAJOR dürfen nur verwendet werden, um Nicht-Multisampled-Texturen mit einer einzelnen Unterressource zu erstellen (planare YUV-Texturen werden unterstützt). Diese Texturen können nur als Quelle und Ziel von Kopiervorgängen verwendet werden, und BindFlags muss null sein.

D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE dürfen nur verwendet werden, um Nicht-Multisampled-Schablonentexturen ohne Tiefentiefe zu erstellen.

Hinweise

Diese Struktur wird in einem Aufruf von ID3D11Device3::CreateTexture2D1 verwendet.

Zusätzlich zu dieser Struktur können Sie auch die CD3D11_TEXTURE2D_DESC1 abgeleitete Struktur verwenden, die in D3D11_3.h definiert ist und sich wie eine geerbte Klasse verhält, um eine Texturbeschreibung zu erstellen.

Das Gerät schränkt einige Größeneinschränkungen ein (muss ein Vielfaches einer Mindestgröße sein) für eine ressource im Unterstempel, eine blockkomprimierte Ressource oder eine Ressource im Bitformat.

Der Texturgrößenbereich wird durch die Featureebene bestimmt, auf der Sie das Gerät erstellen, und nicht durch die Version der Microsoft Direct3D-Schnittstelle. Wenn Sie beispielsweise Microsoft Direct3D 10-Hardware auf Featureebene 10 (D3D_FEATURE_LEVEL_10_0) verwenden und D3D11ErstellenDevice aufrufen, um eine ID3D11Geräte zu erstellen, müssen Sie die maximale Texturgröße auf D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) beschränken, wenn Sie Ihre 2D-Textur erstellen.

Anforderungen

   
Kopfzeile d3d11_3.h

Weitere Informationen

Ressourcenstrukturen