Поделиться через


структура D3D11_TEXTURE2D_DESC1 (d3d11_3.h)

Описывает двухd-текстуру.

Синтаксис

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

Максимальное количество уровней MIP-карты в текстуре. См. примечания в D3D11_TEX1D_SRV. Используйте 1 для текстуры с несколькими выборками; или 0 для создания полного набора подтекстов.

ArraySize

Количество текстур в массиве текстур. Диапазон — от 1 до D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048). Для карты куба текстуры это значение кратно 6 (то есть в 6 раз больше значения в элементе NumCubesD3D11_TEXCUBE_ARRAY_SRV), а диапазон — от 6 до 2046. Диапазон фактически ограничен уровнем функций , на котором создается устройство отрисовки. Дополнительные сведения об ограничениях см. в разделе Примечания.

Format

Формат текстуры (см . DXGI_FORMAT).

SampleDesc

Структура, задающая параметры множественной дискретизации для текстуры. См . DXGI_SAMPLE_DESC.

Usage

Значение, определяющее, как текстура должна считываться и записываться в нее. Наиболее распространенным значением является D3D11_USAGE_DEFAULT; Все возможные значения см. в разделе D3D11_USAGE .

BindFlags

Флаги (см . D3D11_BIND_FLAG) для привязки к этапам конвейера. Флаги можно объединить с помощью побитового ИЛИ.

CPUAccessFlags

Флаги (см . D3D11_CPU_ACCESS_FLAG) для указания разрешенных типов доступа к ЦП. Используйте значение 0, если доступ к ЦП не требуется. Эти флаги можно комбинировать с побитовой или.

MiscFlags

Флаги (см . D3D11_RESOURCE_MISC_FLAG), которые определяют другие, менее распространенные параметры ресурсов. Используйте 0, если ни один из этих флагов не применяется. Эти флаги можно объединить с помощью побитового ИЛИ. Для сопоставления кубов текстур задайте флаг D3D11_RESOURCE_MISC_TEXTURECUBE . Для массивов кубической карты (то есть ArraySize> 6) требуется уровень компонентов D3D_FEATURE_LEVEL_10_1 или выше.

TextureLayout

D3D11_TEXTURE_LAYOUT типизированное значение, определяющее макет текстуры.

Параметр TextureLayout выбирает как фактический макет текстуры в памяти, так и макет, видимый приложению во время сопоставления текстуры. Эти флаги не могут быть запрошены без запроса доступа к ЦП.

Недопустимо устанавливать флаги доступа к ЦП для текстур по умолчанию, не устанавливая для TextureLayout значение, отличное от D3D11_TEXTURE_LAYOUT_UNDEFINED.

D3D11_TEXTURE_LAYOUT_ROW_MAJOR можно использовать только для создания неоплаченных текстур с одним подресурсом (поддерживаются текстуры Planar YUV). Эти текстуры можно использовать только в качестве источника и назначения для операций копирования, а bindFlags должны быть равны нулю.

D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE можно использовать только для создания текстур трафаретов без нескольких шаблонов.

Комментарии

Эта структура используется в вызове ID3D11Device3::CreateTexture2D1.

В дополнение к этой структуре можно также использовать производную структуру CD3D11_TEXTURE2D_DESC1 , которая определена в D3D11_3.h и ведет себя как наследуемый класс, для создания описания текстуры.

На устройстве накладываются некоторые ограничения на размер (должны быть кратными минимальному размеру) для ресурса с подвыборкой, блочного сжатия или битового формата.

Диапазон размеров текстур определяется уровнем компонентов , на котором создается устройство, а не версией интерфейса Microsoft Direct3D. Например, если вы используете оборудование Microsoft Direct3D 10 на уровне компонентов 10 (D3D_FEATURE_LEVEL_10_0) и вызываете D3D11CreateDevice для создания ID3D11Device, при создании двухd-текстуры необходимо ограничить максимальный размер текстуры D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192).

Требования

   
Верхняя часть d3d11_3.h

См. также раздел

Структуры ресурсов