다음을 통해 공유


D3D11_TEXTURE2D_DESC1 구조체(d3d11_3.h)

2D 텍스처를 설명합니다.

구문

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;

멤버

Width

텍스처 너비(텍셀)입니다. 범위는 1에서 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION(16384)입니다. 텍스처 큐브 맵의 경우 범위는 1에서 D3D11_REQ_TEXTURECUBE_DIMENSION(16384)입니다. 그러나 범위는 실제로 렌더링 디바이스를 만드는 기능 수준에 의해 제한됩니다. 제한 사항에 대한 자세한 내용은 비고를 참조하세요.

Height

텍스처 높이(텍셀)입니다. 범위는 1에서 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION(16384)입니다. 텍스처 큐브 맵의 경우 범위는 1에서 D3D11_REQ_TEXTURECUBE_DIMENSION(16384)입니다. 그러나 범위는 실제로 렌더링 디바이스를 만드는 기능 수준에 의해 제한됩니다. 제한 사항에 대한 자세한 내용은 비고를 참조하세요.

MipLevels

텍스처의 최대 Mipmap 수준 수입니다. D3D11_TEX1D_SRV 설명을 참조하세요. 다중 샘플링된 텍스처에 1을 사용합니다. 또는 0을 선택하여 전체 하위 텍스트 집합을 생성합니다.

ArraySize

텍스처 배열의 텍스처 수입니다. 범위는 1에서 D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION(2048)입니다. 텍스처 큐브 맵의 경우 이 값은 6의 배수(즉, D3D11_TEXCUBE_ARRAY_SRVNumCubes 멤버의 값의 6배)이며 범위는 6에서 2046까지입니다. 실제로 범위는 렌더링 디바이스를 만드는 기능 수준에 의해 제한됩니다. 제한 사항에 대한 자세한 내용은 비고를 참조하세요.

Format

텍스처 형식( DXGI_FORMAT 참조).

SampleDesc

텍스처에 대한 다중 샘플링 매개 변수를 지정하는 구조체입니다. DXGI_SAMPLE_DESC 참조하세요.

Usage

텍스처를 읽고 쓰는 방법을 식별하는 값입니다. 가장 일반적인 값은 D3D11_USAGE_DEFAULT. 가능한 모든 값은 D3D11_USAGE 참조하세요.

BindFlags

파이프라인 스테이지에 바인딩하는 플래그( D3D11_BIND_FLAG 참조). 플래그는 비트 OR로 결합할 수 있습니다.

CPUAccessFlags

허용되는 CPU 액세스 유형을 지정하는 플래그( D3D11_CPU_ACCESS_FLAG 참조). CPU 액세스가 필요하지 않은 경우 0을 사용합니다. 이러한 플래그는 비트 OR과 결합할 수 있습니다.

MiscFlags

덜 일반적인 기타 리소스 옵션을 식별하는 플래그( D3D11_RESOURCE_MISC_FLAG 참조). 이러한 플래그가 적용되지 않는 경우 0을 사용합니다. 이러한 플래그는 비트 OR을 사용하여 결합할 수 있습니다. 텍스처 큐브 맵의 경우 D3D11_RESOURCE_MISC_TEXTURECUBE 플래그를 설정합니다. 큐브 맵 배열(즉, ArraySize> 6)에는 기능 수준 D3D_FEATURE_LEVEL_10_1 이상이 필요합니다.

TextureLayout

텍스처의 레이아웃을 식별하는 D3D11_TEXTURE_LAYOUT 형식의 값입니다.

TextureLayout 매개 변수는 메모리 내 텍스처의 실제 레이아웃과 텍스처가 매핑되는 동안 애플리케이션에 표시되는 레이아웃을 모두 선택합니다. CPU 액세스도 요청하지 않으면 이러한 플래그를 요청할 수 없습니다.

TextureLayout을 D3D11_TEXTURE_LAYOUT_UNDEFINED 이외의 값으로 설정하지 않고도 기본 텍스처에서 CPU 액세스 플래그를 설정하는 것은 불법입니다.

D3D11_TEXTURE_LAYOUT_ROW_MAJOR 단일 하위 리소스를 사용하여 다중 샘플링되지 않은 텍스처를 만드는 데만 사용할 수 있습니다(평면 YUV 텍스처가 지원됨). 이러한 텍스처는 복사 작업의 원본 및 대상으로만 사용할 수 있으며 BindFlags는 0이어야 합니다.

D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE 다중 샘플링되지 않은 비-깊이 스텐실 텍스처를 만드는 데만 사용할 수 있습니다.

설명

이 구조체는 ID3D11Device3::CreateTexture2D1 호출에 사용됩니다.

이 구조체 외에도 D3D11_3.h 에 정의되고 상속된 클래스처럼 동작하는 CD3D11_TEXTURE2D_DESC1 파생 구조를 사용하여 텍스처 설명을 만들 수도 있습니다.

디바이스는 하위 샘플링, 블록 압축 또는 비트 형식 리소스에 대해 일부 크기 제한(최소 크기의 배수여야 합니다)을 배치합니다.

텍스처 크기 범위는 Microsoft Direct3D 인터페이스 버전이 아닌 디바이스를 만드는 기능 수준에 따라 결정됩니다. 예를 들어 기능 수준 10(D3D_FEATURE_LEVEL_10_0)에서 Microsoft Direct3D 10 하드웨어를 사용하고 D3D11CreateDevice 를 호출하여 ID3D11Device를 만드는 경우 2D 텍스처를 만들 때 최대 텍스처 크기를 D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION(8192)로 제한해야 합니다.

요구 사항

   
머리글 d3d11_3.h

추가 정보

리소스 구조