структура 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 |