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


структура D3DHAL_D3DEXTENDEDCAPS (d3dhal.h)

D3DHAL_D3DEXTENDEDCAPS описывает дополнительные трехмерные возможности драйвера.

Синтаксис

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth;
  DWORD    dwMaxTextureWidth;
  DWORD    dwMinTextureHeight;
  DWORD    dwMaxTextureHeight;
  DWORD    dwMinStippleWidth;
  DWORD    dwMaxStippleWidth;
  DWORD    dwMinStippleHeight;
  DWORD    dwMaxStippleHeight;
  DWORD    dwMaxTextureRepeat;
  DWORD    dwMaxTextureAspectRatio;
  DWORD    dwMaxAnisotropy;
  D3DVALUE dvGuardBandLeft;
  D3DVALUE dvGuardBandTop;
  D3DVALUE dvGuardBandRight;
  D3DVALUE dvGuardBandBottom;
  D3DVALUE dvExtentsAdjust;
  DWORD    dwStencilCaps;
  DWORD    dwFVFCaps;
  DWORD    dwTextureOpCaps;
  WORD     wMaxTextureBlendStages;
  WORD     wMaxSimultaneousTextures;
  DWORD    dwMaxActiveLights;
  D3DVALUE dvMaxVertexW;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;

Члены

dwSize

Задает размер в байтах этой D3DHAL_D3DEXTENDEDCAPS структуры.

dwMinTextureWidth

Укажите минимальную ширину текстуры в пикселях, поддерживаемую драйвером или устройством. Обычно этот член является мощностью 2. Эти члены предоставляются в качестве подсказок приложению, и это ответственность приложения по настройке размеров текстур при необходимости.

dwMaxTextureWidth

Укажите максимальную ширину текстуры в пикселях, поддерживаемую драйвером или устройством. Обычно этот член является мощностью 2. Эти члены предоставляются в качестве подсказок приложению, и это ответственность приложения по настройке размеров текстур при необходимости.

dwMinTextureHeight

Укажите минимальную высоту текстуры в пикселях, поддерживаемую драйвером. Обычно этот член является мощностью 2.

dwMaxTextureHeight

Укажите максимальную высоту текстуры в пикселях, поддерживаемую драйвером. Обычно этот член является мощностью 2.

dwMinStippleWidth

Укажите минимальную ширину stipple в пикселях, поддерживаемую драйвером.

dwMaxStippleWidth

Укажите максимальную ширину stipple в пикселях, поддерживаемую драйвером.

dwMinStippleHeight

Укажите минимальную высоту stipple в пикселях, поддерживаемую драйвером.

dwMaxStippleHeight

Укажите максимальную высоту stipple в пикселях, поддерживаемую драйвером.

dwMaxTextureRepeat

Задает полный диапазон целых чисел (подфракции) индексов текстур постнормализованной текстуры. Если задана D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE бит, то количество раз, когда текстура может быть завернута этим элементом. Если D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE бит не задан, то время, когда текстура может быть упакована выражением: dwMaxTextureRepeat * (размер текстуры).

dwMaxTextureAspectRatio

Указывает максимальное соотношение пропорций текстуры, поддерживаемое оборудованием. Обычно этот член является мощностью 2. Это максимальное соотношение пропорций предоставляется в качестве меры высоты текстуры в пикселях, разделенных на ширину в пикселях, или ее ширину, разделенную на высоту, в зависимости от того, какой результат дает больший результат. Например, текстура, которая имеет ширину 8192 пикселей на 1 пиксель или ширину 1 пикселя на 8192, является недопустимой с устройством отображения, которое поддерживает только максимальное соотношение пропорций 4092. Если оборудование не ограничено пропорциями, dwMaxTextureAspectRatio больше dwMaxTextureWidth и dwMaxTextureHeight.

dwMaxAnisotropy

Указывает максимально допустимое значение для состояния D3DRENDERSTATE_ANISOTROPY отрисовки. Если оборудование драйвера не поддерживает анисотропную фильтрацию, драйвер должен задать для этого члена значение 1. Если для этого элемента задано значение 0, это недопустимое значение.

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

Укажите координаты пространства экрана (в пикселях) области клипа с полосой защиты. Верхний левый угол этого прямоугольника имеет координаты (dvGuardBandLeft, dvGuardBandTop). Нижний левый угол имеет координаты (dvGuardBandRight, dvGuardBandBottom). Координаты внутри этого прямоугольника, но за пределами прямоугольника окна представления автоматически обрезаются.

dvExtentsAdjust

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

dwStencilCaps

Задает операции буфера элементов, поддерживаемые драйвером или устройством. Дополнительные описания операций буфера наборов элементов, показанных в следующей таблице, см. в D3DSTENCILOP документации по пакету SDK DirectX. Предполагается, что операции набора элементов являются допустимыми для всех трех состояний отрисовки буфера элементов (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS и D3DRENDERSTATE_STENCILZFAIL). Этот элемент может быть битовой или любой из следующих значений:

Ценность Операция буфера набора элементов
D3DSTENCILCAPS_DECR Поддерживается операция D3DSTENCILOP_DECR.
D3DSTENCILCAPS_DECRSAT Поддерживается операция D3DSTENCILOP_DECRSAT.
D3DSTENCILCAPS_INCR Поддерживается операция D3DSTENCILOP_INCR.
D3DSTENCILCAPS_INCRSAT Поддерживается операция D3DSTENCILOP_INCRSAT.
D3DSTENCILCAPS_INVERT Поддерживается операция D3DSTENCILOP_INVERT.
D3DSTENCILCAPS_KEEP Поддерживается операция D3DSTENCILOP_KEEP.
D3DSTENCILCAPS_REPLACE Поддерживается операция D3DSTENCILOP_REPLACE.
D3DSTENCILCAPS_ZERO Поддерживается операция D3DSTENCILOP_ZERO.

dwFVFCaps

Указывает количество координат текстуры, которые может обрабатывать драйвер. Это значение может быть целым числом в диапазоне от 0 до 8, где 0 указывает, что драйвер не поддерживает текстирование, 1 указывает, что драйвер может обрабатывать только один набор координат текстуры, 2 указывает, что драйвер может обрабатывать два набора координат текстур и т. д.

Драйвер должен иметь возможность анализировать все координаты текстур, присутствующих в данных вершин, независимо от количества координат текстур, которые драйвер фактически использует. Драйвер должен использовать индекс, предоставленный D3DTSS_TEXCOORDINDEX значение перечисления D3DTEXTURESTAGESTATETYPE, описанное в документации по пакету SDK DirectX, чтобы определить, какой набор координат текстур используется при отрисовке.

dwTextureOpCaps

Задает операции текстуры, поддерживаемые устройством. Сведения о операциях текстур, перечисленных в следующей таблице, см. в D3DTEXTUREOP документации по пакету SDK DirectX. Этот элемент может быть битовой или из следующих значений:

Ценность Поддерживаемая операция текстуры
D3DTEXOPCAPS_ADD Операция смешения текстур D3DTOP_ADD поддерживается этим устройством.
D3DTEXOPCAPS_ADDSIGNED Операция смешения текстур D3DTOP_ADDSIGNED поддерживается этим устройством.
D3DTEXOPCAPS_ADDSIGNED2X Операция смешивания текстур D3DTOP_ADDSIGNED2X поддерживается этим устройством.
D3DTEXOPCAPS_ADDSMOOTH Операция смешения текстур D3DTOP_ADDSMOOTH поддерживается этим устройством.
D3DTEXOPCAPS_BLENDCURRENTALPHA Операция смешения текстур D3DTOP_BLENDCURRENTALPHA поддерживается этим устройством.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA Операция смешения текстур D3DTOP_BLENDDIFFUSEALPHA поддерживается этим устройством.
D3DTEXOPCAPS_BLENDFACTORALPHA Операция смешения текстур D3DTOP_BLENDFACTORALPHA поддерживается этим устройством.
D3DTEXOPCAPS_BLENDTEXTUREALPHA Операция смешения текстур D3DTOP_BLENDTEXTUREALPHA поддерживается этим устройством.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM Операция смешения текстур D3DTOP_BLENDTEXTUREALPHAPM поддерживается этим устройством.
D3DTEXOPCAPS_BUMPENVMAP. Операция смешения текстур D3DTOP_BUMPENVMAP поддерживается этим устройством.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE Операция смешения текстур D3DTOP_BUMPENVMAPLUMINANCE поддерживается этим устройством.
D3DTEXOPCAPS_DISABLE Операция смешения текстур D3DTOP_DISABLE поддерживается этим устройством.
D3DTEXOPCAPS_DOTPRODUCT3 Операция смешения текстур D3DTOP_DOTPRODUCT3 поддерживается этим устройством.
D3DTEXOPCAPS_MODULATE Операция смешения текстур D3DTOP_MODULATE поддерживается этим устройством.
D3DTEXOPCAPS_MODULATE2X Операция смешения текстур D3DTOP_MODULATE2X поддерживается этим устройством.
D3DTEXOPCAPS_MODULATE4X Операция смешения текстур D3DTOP_MODULATE4X поддерживается этим устройством.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR Операция смешения текстур D3DTOP_MODULATEALPHA_ADDCOLOR поддерживается этим устройством.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA Операция смешения текстур D3DTOP_MODULATEALPHA_ADDCOLOR поддерживается этим устройством.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR Операция смешения текстур D3DTOP_MODULATEINVALPHA_ADDCOLOR поддерживается этим устройством.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA Операция смешения текстур D3DTOP_MODULATEINVCOLOR_ADDALPHA поддерживается этим устройством.
D3DTEXOPCAPS_PREMODULATE Операция смешения текстур D3DTOP_PREMODULATE поддерживается этим устройством.
D3DTEXOPCAPS_SELECTARG1 Операция смешения текстур D3DTOP_SELECTARG1 поддерживается этим устройством.
D3DTEXOPCAPS_SELECTARG2 Операция смешения текстур D3DTOP_SELECTARG2 поддерживается этим устройством.
D3DTEXOPCAPS_SUBTRACT Операция смешения текстур D3DTOP_SUBTRACT поддерживается этим устройством.

wMaxTextureBlendStages

Указывает максимальное количество этапов смешивания текстур, поддерживаемых этим устройством.

wMaxSimultaneousTextures

Указывает максимальное количество текстур, которые могут быть одновременно привязаны к этапам смешивания текстур для этого устройства. То есть wMaxSimultaneousTextures указывает, сколько этапов текстуры могут быть привязаны к ним через метод lDirect3Device7::SetTexture. Дополнительные сведения об этом методе см. в документации по пакету SDK для Microsoft Windows.

dwMaxActiveLights

Указывает максимальное количество активных огней, поддерживаемых этим устройством. Это необходимо указать только в драйверах, поддерживающих аппаратное преобразование и освещение (и поэтому указывайте D3DDEVCAPS_HWTRANSFORMANDLIGHT в их крышках устройств).

dvMaxVertexW

Задает максимальный диапазон W, поддерживаемый этим устройством. Это необходимо указать только в драйверах, поддерживающих буферизацию W (и поэтому указывайте D3DPRASTERCAPS_WBUFFER в их ограничениях растризации). Единицы для значений глубины W зависят от работающего приложения. Например, приложение может указать глубину в метрах.

wMaxUserClipPlanes

Указывает максимальное количество поддерживаемых пользователем плоскостей клипов.

wMaxVertexBlendMatrices

Указывает количество матриц мира, поддерживаемых для смешивания вершин.

dwVertexProcessingCaps

Указывает ограничения обработки вершин, поддерживаемые драйвером. Этот элемент может быть битовой или из следующих значений:

Ценность Значение
D3DVTXPCAPS_DIRECTIONALLIGHTS Устройство может выполнять направления света.
D3DVTXPCAPS_LOCALVIEWER Устройство может выполнять локальное средство просмотра.
D3DVTXPCAPS_MATERIALSOURCE7 Устройство может выполнять операции с источником цветового материала DirectX 7.0.
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER Устройство не поддерживает создание текстур в режиме нелокального просмотра.
D3DVTXPCAPS_POSITIONALLIGHTS Устройство может выполнять позиционные световые индикаторы (включая точку и место).
D3DVTXPCAPS_TEXGEN Устройство может выполнять texgen.
D3DVTXPCAPS_TEXGEN_SPHEREMAP Устройство поддерживает D3DTSS_TCI_SPHEREMAP.
D3DVTXPCAPS_TWEENING Устройство может выполнять настройку вершин.

dwReserved1

Зарезервировано для использования системы.

dwReserved2

Зарезервировано для использования системы.

dwReserved3

Зарезервировано для использования системы.

dwReserved4

Зарезервировано для использования системы.

Замечания

Драйвер выделяет и инициализирует эту структуру и задает соответствующие значения в поддерживаемых элементах. Функция DdGetDriverInfo драйвера возвращает указатель на эту структуру при вызове этой функции с помощью GUID GUID_D3DExtendedCaps.

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

Требования

Требование Ценность
заголовка d3dhal.h (include D3dhal.h)

См. также

DdGetDriverInfo