Compartir a través de


estructura D3DHAL_D3DEXTENDEDCAPS (d3dhal.h)

D3DHAL_D3DEXTENDEDCAPS describe las funcionalidades 3D adicionales del controlador.

Sintaxis

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;

Miembros

dwSize

Especifica el tamaño en bytes de esta estructura de D3DHAL_D3DEXTENDEDCAPS.

dwMinTextureWidth

Especifique el ancho mínimo de textura, en píxeles, compatible con el controlador o el dispositivo. Este miembro suele ser una potencia de 2. Estos miembros se proporcionan como sugerencias a la aplicación y es responsabilidad de la aplicación ajustar los tamaños de textura cuando sea necesario.

dwMaxTextureWidth

Especifique el ancho máximo de textura, en píxeles, compatible con el controlador o el dispositivo. Este miembro suele ser una potencia de 2. Estos miembros se proporcionan como sugerencias a la aplicación y es responsabilidad de la aplicación ajustar los tamaños de textura cuando sea necesario.

dwMinTextureHeight

Especifique el alto mínimo de textura, en píxeles, compatible con el controlador. Este miembro suele ser una potencia de 2.

dwMaxTextureHeight

Especifique el alto máximo de textura, en píxeles, compatible con el controlador. Este miembro suele ser una potencia de 2.

dwMinStippleWidth

Especifique el ancho mínimo de la esptippla, en píxeles, compatible con el controlador.

dwMaxStippleWidth

Especifique el ancho máximo de la esptippla, en píxeles, compatible con el controlador.

dwMinStippleHeight

Especifique el alto mínimo de la esptippla, en píxeles, compatible con el controlador.

dwMaxStippleHeight

Especifique el alto máximo de la esptippla, en píxeles, admitido por el controlador.

dwMaxTextureRepeat

Especifica el intervalo completo de bits enteros (subfraccionales) de los índices de textura postnormalizados. Si se establece el bit de D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE, este miembro puede especificar el número de veces que se puede encapsular una textura. Si no se establece el bit de D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE, la expresión dwMaxTextureRepeat * (tamaño de textura) puede ajustar la cantidad de tiempo que puede encapsular una textura.

dwMaxTextureAspectRatio

Especifica la relación de aspecto de textura máxima admitida por el hardware. Este miembro suele ser una potencia de 2. Esta relación de aspecto máxima se proporciona como medida del alto de la textura en píxeles dividido por su ancho en píxeles, o su ancho dividido por alto, lo que genera el resultado mayor. Por ejemplo, una textura de 8192 píxeles de ancho de 1 píxel alto o 1 píxel de ancho en 8192 alto no es válida con un dispositivo de pantalla que solo admite una relación de aspecto máxima de 4092. Si el hardware no está limitado en relación de aspecto, dwMaxTextureAspectRatio es el mayor de dwMaxTextureWidth y dwMaxTextureHeight.

dwMaxAnisotropy

Especifica el valor máximo válido para el estado de representación de D3DRENDERSTATE_ANISOTROPY. Si el hardware del controlador no admite el filtrado anisotrópico, el controlador debe establecer este miembro en 1. Establecer este miembro en 0 representa un valor no válido.

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

Especifique las coordenadas del espacio de pantalla, en píxeles, de la región de clip guard-band. La esquina superior izquierda de este rectángulo tiene coordenadas (dvGuardBandLeft, dvGuardBandTop). La esquina inferior izquierda tiene coordenadas (dvGuardBandRight, dvGuardBandBottom). Las coordenadas dentro de este rectángulo, pero fuera del rectángulo de ventanilla se recortan automáticamente.

dvExtentsAdjust

Especifica el número de píxeles necesarios para ajustar el rectángulo de extensiones hacia fuera para dar cabida a kernels de suavizado de contorno.

dwStencilCaps

Especifica las operaciones de búfer de galería de símbolos compatibles con el controlador o dispositivo. Para obtener más descripciones de las operaciones del búfer de galería de símbolos que se muestran en la tabla siguiente, consulte D3DSTENCILOP en la documentación del SDK de DirectX. Se supone que las operaciones de galería de símbolos son válidas para los tres estados de representación de la operación de búfer de galería de símbolos (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS y D3DRENDERSTATE_STENCILZFAIL). Este miembro puede ser un OR bit a bit de cualquiera de los valores siguientes:

Valor Operación de búfer de galería de símbolos
D3DSTENCILCAPS_DECR Se admite la operación D3DSTENCILOP_DECR.
D3DSTENCILCAPS_DECRSAT Se admite la operación D3DSTENCILOP_DECRSAT.
D3DSTENCILCAPS_INCR Se admite la operación D3DSTENCILOP_INCR.
D3DSTENCILCAPS_INCRSAT Se admite la operación de D3DSTENCILOP_INCRSAT.
D3DSTENCILCAPS_INVERT Se admite la operación de D3DSTENCILOP_INVERT.
D3DSTENCILCAPS_KEEP Se admite la operación de D3DSTENCILOP_KEEP.
D3DSTENCILCAPS_REPLACE Se admite la operación D3DSTENCILOP_REPLACE.
D3DSTENCILCAPS_ZERO Se admite la operación de D3DSTENCILOP_ZERO.

dwFVFCaps

Especifica el número de coordenadas de textura que el controlador puede procesar. Este valor puede ser un entero del intervalo comprendido entre 0 y 8, donde 0 indica que el controlador no admite la texturización, 1 indica que el controlador solo puede procesar un conjunto de coordenadas de textura, 2 indica que el controlador puede procesar dos conjuntos de coordenadas de textura, etc.

Un controlador debe poder analizar todas las coordenadas de textura presentes en los datos de vértice, independientemente del número de coordenadas de textura que realmente use el controlador. El controlador debe usar el índice proporcionado con el valor D3DTSS_TEXCOORDINDEX de la enumeración D3DTEXTURESTAGESTATETYPE, que se describe en la documentación del SDK de DirectX, para determinar qué coordenadas de textura se deben usar al representar.

dwTextureOpCaps

Especifica las operaciones de textura admitidas por el dispositivo. Consulte D3DTEXTUREOP en la documentación del SDK de DirectX para obtener descripciones de las operaciones de textura enumeradas en la tabla siguiente. Este miembro puede ser un OR bit a bit de los siguientes valores:

Valor Operación de textura admitida
D3DTEXOPCAPS_ADD Este dispositivo admite la operación de combinación de texturas D3DTOP_ADD.
D3DTEXOPCAPS_ADDSIGNED Este dispositivo admite la operación de combinación de texturas D3DTOP_ADDSIGNED.
D3DTEXOPCAPS_ADDSIGNED2X Este dispositivo admite la operación de combinación de texturas D3DTOP_ADDSIGNED2X.
D3DTEXOPCAPS_ADDSMOOTH Este dispositivo admite la operación de combinación de texturas D3DTOP_ADDSMOOTH.
D3DTEXOPCAPS_BLENDCURRENTALPHA Este dispositivo admite la operación de combinación de texturas D3DTOP_BLENDCURRENTALPHA.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA Este dispositivo admite la operación de combinación de texturas D3DTOP_BLENDDIFFUSEALPHA.
D3DTEXOPCAPS_BLENDFACTORALPHA Este dispositivo admite la operación de combinación de texturas D3DTOP_BLENDFACTORALPHA.
D3DTEXOPCAPS_BLENDTEXTUREALPHA Este dispositivo admite la operación de combinación de texturas D3DTOP_BLENDTEXTUREALPHA.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM Este dispositivo admite la operación de combinación de texturas D3DTOP_BLENDTEXTUREALPHAPM.
D3DTEXOPCAPS_BUMPENVMAP. Este dispositivo admite la operación de combinación de texturas D3DTOP_BUMPENVMAP.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE Este dispositivo admite la operación de combinación de texturas D3DTOP_BUMPENVMAPLUMINANCE.
D3DTEXOPCAPS_DISABLE Este dispositivo admite la operación de combinación de texturas D3DTOP_DISABLE.
D3DTEXOPCAPS_DOTPRODUCT3 Este dispositivo admite la operación de combinación de texturas D3DTOP_DOTPRODUCT3.
D3DTEXOPCAPS_MODULATE Este dispositivo admite la operación de combinación de texturas D3DTOP_MODULATE.
D3DTEXOPCAPS_MODULATE2X Este dispositivo admite la operación de combinación de texturas D3DTOP_MODULATE2X.
D3DTEXOPCAPS_MODULATE4X Este dispositivo admite la operación de combinación de texturas D3DTOP_MODULATE4X.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR Este dispositivo admite la operación de combinación de texturas D3DTOP_MODULATEALPHA_ADDCOLOR.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA Este dispositivo admite la operación de combinación de texturas D3DTOP_MODULATEALPHA_ADDCOLOR.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR Este dispositivo admite la operación de combinación de texturas D3DTOP_MODULATEINVALPHA_ADDCOLOR.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA Este dispositivo admite la operación de combinación de texturas D3DTOP_MODULATEINVCOLOR_ADDALPHA.
D3DTEXOPCAPS_PREMODULATE Este dispositivo admite la operación de combinación de texturas D3DTOP_PREMODULATE.
D3DTEXOPCAPS_SELECTARG1 Este dispositivo admite la operación de combinación de texturas D3DTOP_SELECTARG1.
D3DTEXOPCAPS_SELECTARG2 Este dispositivo admite la operación de combinación de texturas D3DTOP_SELECTARG2.
D3DTEXOPCAPS_SUBTRACT Este dispositivo admite la operación de combinación de texturas D3DTOP_SUBTRACT.

wMaxTextureBlendStages

Especifica el número máximo de fases de combinación de texturas admitidas por este dispositivo.

wMaxSimultaneousTextures

Especifica el número máximo de texturas que se pueden enlazar simultáneamente a las fases de combinación de texturas para este dispositivo. Es decir, wMaxSimultaneousTextures especifica cuántos de las fases de textura pueden tener texturas enlazadas a ellas a través del método lDirect3DDevice7::SetTexture . Consulte la documentación de Microsoft Windows SDK para obtener más información sobre este método.

dwMaxActiveLights

Especifica el número máximo de luces activas admitidas por este dispositivo. Esto solo debe especificarse en controladores que admitan la transformación de hardware y la iluminación (y, por lo tanto, especifiquen D3DDEVCAPS_HWTRANSFORMANDLIGHT en sus tapas de dispositivo).

dvMaxVertexW

Especifica el intervalo W máximo admitido por este dispositivo. Esto solo debe especificarse en controladores que admitan el almacenamiento en búfer W (y, por tanto, especifique D3DPRASTERCAPS_WBUFFER en sus límites de rasterización). Las unidades de los valores de profundidad de W dependen de la aplicación en ejecución. Por ejemplo, la aplicación podría especificar la profundidad en metros.

wMaxUserClipPlanes

Especifica el número máximo de planos de clip definidos por el usuario admitidos.

wMaxVertexBlendMatrices

Especifica el número de matrices mundiales admitidas para la mezcla de vértices.

dwVertexProcessingCaps

Especifica los límites de procesamiento de vértices admitidos por el controlador. Este miembro puede ser un OR bit a bit de los siguientes valores:

Valor Significado
D3DVTXPCAPS_DIRECTIONALLIGHTS El dispositivo puede hacer luces direccionales.
D3DVTXPCAPS_LOCALVIEWER El dispositivo puede hacer visor local.
D3DVTXPCAPS_MATERIALSOURCE7 El dispositivo puede realizar operaciones de origen de material de color de DirectX 7.0.
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER El dispositivo no admite la generación de texturas en modo de visor no local.
D3DVTXPCAPS_POSITIONALLIGHTS El dispositivo puede realizar luces posicionales (incluye punto y punto).
D3DVTXPCAPS_TEXGEN El dispositivo puede hacer texgen.
D3DVTXPCAPS_TEXGEN_SPHEREMAP El dispositivo admite D3DTSS_TCI_SPHEREMAP.
D3DVTXPCAPS_TWEENING El dispositivo puede hacer interpolación de vértices.

dwReserved1

Reservado para uso del sistema.

dwReserved2

Reservado para uso del sistema.

dwReserved3

Reservado para uso del sistema.

dwReserved4

Reservado para uso del sistema.

Comentarios

El controlador asigna y inicializa sin inicializar esta estructura y establece los valores adecuados en los miembros que admite. La función DdGetDriverInfo del controlador devuelve un puntero a esta estructura cuando se llama a esa función con el GUID de GUID_D3DExtendedCaps.

Cuando el controlador rellena esta estructura, puede establecer valores para las funcionalidades de búfer de ejecución incluso cuando la interfaz que se usa para recuperar las funcionalidades (como lDirect3DDevice3) no admite búferes de ejecución.

Requisitos

Requisito Valor
Header d3dhal.h (incluya D3dhal.h)

Consulte también

DdGetDriverInfo