структура D3D11_FEATURE_DATA_D3D9_OPTIONS1 (d3d11.h)
Синтаксис
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 |