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


структура D3D11_FEATURE_DATA_D3D9_OPTIONS1 (d3d11.h)

Примечание Эта структура поддерживается средой выполнения Direct3D 11.2, которая доступна в Windows 8.1 и более поздних операционных системах.
 
Описывает параметры функций Direct3D 9 в текущем графическом драйвере.

Синтаксис

typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 {
  BOOL FullNonPow2TextureSupported;
  BOOL DepthAsTextureWithLessEqualComparisonFilterSupported;
  BOOL SimpleInstancingSupported;
  BOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported;
} D3D11_FEATURE_DATA_D3D9_OPTIONS1;

Члены

FullNonPow2TextureSupported

Указывает, поддерживает ли драйвер безусловную функцию, не поддерживающую возможности 2. Дополнительные сведения об этой функции см. в разделе Уровень компонентов. Среда выполнения задает этому члену значение TRUE для оборудования на уровнях функций Direct3D 10 и более поздних версий. Для оборудования direct3D 9.3 и более низких уровней функций среда выполнения устанавливает для этого члена значение FALSE , если оборудование и драйвер поддерживают возможности 2 (двумерные текстуры должны иметь ширину и высоту, указанные как полномочия двух) или функцию без возможностей 2-условно.

DepthAsTextureWithLessEqualComparisonFilterSupported

Указывает, поддерживает ли драйвер функцию тени с режимом фильтрации сравнения, равным меньше или равно. Среда выполнения задает этому члену значение TRUE для оборудования на уровнях функций Direct3D 10 и более поздних версий. Для оборудования direct3D 9.3 и более низких уровней функций среда выполнения устанавливает для этого члена значение TRUE только в том случае, если оборудование и драйвер поддерживают функцию тени. В противном случае — FALSE.

SimpleInstancingSupported

Указывает, поддерживает ли оборудование и драйвер простой инстансинг. Среда выполнения задает этому члену значение TRUE , если оборудование и драйвер поддерживают простое развертывание.

TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported

Указывает, поддерживает ли оборудование и драйвер установку одной грани TextureCube в качестве цели отрисовки, в то время как связанная поверхность трафарета глубины может быть Texture2D (в отличие от TextureCube). Среда выполнения задает этому члену значение TRUE , если оборудование и драйвер поддерживают эту функцию; В противном случае — FALSE.

Если оборудование и драйвер не поддерживают эту функцию, приложение должно соответствовать типу поверхности целевой отрисовки с типом поверхности трафарета глубины. Так как оборудование direct3D 9.3 и более низких уровней функций не позволяет использовать поверхности глубины TextureCube , единственный способ отрисовки сцены в TextureCube с включенной буферизацией глубины — сначала отрисовка каждой грани TextureCube отдельно до целевого объекта отрисовки Texture2D (так как это можно сопоставить с глубиной Texture2D ), а затем скопировать результаты в TextureCube. Если оборудование и драйвер поддерживают эту функцию, приложение может просто отрисовывать лица TextureCube напрямую, получая буфер глубины из буфера глубины Texture2D .

Вам нужно запрашивать эту функцию только с оборудования direct3D 9.3 и более низких уровней функций , так как оборудование на Direct3D 10.0 и более поздних уровнях функций позволяет использовать поверхности глубины TextureCube .

Комментарии

Вы можете использовать значение перечисления D3D11_FEATURE_D3D9_OPTIONS1 с ID3D11Device::CheckFeatureSupport , чтобы запросить драйвер о поддержке параметров функций Direct3D 9, а не выполнять несколько вызовов ID3D11Device::CheckFeatureSupport с помощью D3D11_FEATURE_D3D9_OPTIONS, D3D11_FEATURE_D3D9_SHADOW_SUPPORT и D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT, которые предоставляют идентичные сведения о поддерживаемых параметрах функций Direct3D 9.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1 [только классические приложения]
Минимальная версия сервера Windows Server 2012 R2 [только классические приложения]
Верхняя часть d3d11.h

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

Основные структуры

D3D11_FEATURE