структура 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
Укажите минимальную ширину прогона (в пикселях), поддерживаемую драйвером.
dwMaxStippleWidth
Укажите максимальную ширину прогона (в пикселях), поддерживаемую драйвером.
dwMinStippleHeight
Укажите минимальную высоту скобы (в пикселях), поддерживаемую драйвером.
dwMaxStippleHeight
Укажите максимальную высоту скобы (в пикселях), поддерживаемую драйвером.
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 указывает, сколько этапов текстуры могут иметь текстуры, привязанные к ним с помощью метода lDirect3DDevice7::SetTexture . Дополнительные сведения об этом методе см. в документации по Microsoft Windows SDK.
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_D3DExtendedCaps GUID.
Когда драйвер заполняет эту структуру, он может задавать значения для возможностей буфера выполнения, даже если интерфейс, используемый для получения возможностей (например , lDirect3DDevice3), не поддерживает буферы выполнения.
Требования
Требование | Значение |
---|---|
Заголовок | d3dhal.h (включая D3dhal.h) |