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) |