Compartir a través de


Estructura D3DCAPS9 (d3d9caps.h)

Representa las funciones del hardware expuesto a través del objeto Direct3D.

Sintaxis

typedef struct _D3DCAPS9 {
  D3DDEVTYPE        DeviceType;
  UINT              AdapterOrdinal;
  DWORD             Caps;
  DWORD             Caps2;
  DWORD             Caps3;
  DWORD             PresentationIntervals;
  DWORD             CursorCaps;
  DWORD             DevCaps;
  DWORD             PrimitiveMiscCaps;
  DWORD             RasterCaps;
  DWORD             ZCmpCaps;
  DWORD             SrcBlendCaps;
  DWORD             DestBlendCaps;
  DWORD             AlphaCmpCaps;
  DWORD             ShadeCaps;
  DWORD             TextureCaps;
  DWORD             TextureFilterCaps;
  DWORD             CubeTextureFilterCaps;
  DWORD             VolumeTextureFilterCaps;
  DWORD             TextureAddressCaps;
  DWORD             VolumeTextureAddressCaps;
  DWORD             LineCaps;
  DWORD             MaxTextureWidth;
  DWORD             MaxTextureHeight;
  DWORD             MaxVolumeExtent;
  DWORD             MaxTextureRepeat;
  DWORD             MaxTextureAspectRatio;
  DWORD             MaxAnisotropy;
  float             MaxVertexW;
  float             GuardBandLeft;
  float             GuardBandTop;
  float             GuardBandRight;
  float             GuardBandBottom;
  float             ExtentsAdjust;
  DWORD             StencilCaps;
  DWORD             FVFCaps;
  DWORD             TextureOpCaps;
  DWORD             MaxTextureBlendStages;
  DWORD             MaxSimultaneousTextures;
  DWORD             VertexProcessingCaps;
  DWORD             MaxActiveLights;
  DWORD             MaxUserClipPlanes;
  DWORD             MaxVertexBlendMatrices;
  DWORD             MaxVertexBlendMatrixIndex;
  float             MaxPointSize;
  DWORD             MaxPrimitiveCount;
  DWORD             MaxVertexIndex;
  DWORD             MaxStreams;
  DWORD             MaxStreamStride;
  DWORD             VertexShaderVersion;
  DWORD             MaxVertexShaderConst;
  DWORD             PixelShaderVersion;
  float             PixelShader1xMaxValue;
  DWORD             DevCaps2;
  float             MaxNpatchTessellationLevel;
  DWORD             Reserved5;
  UINT              MasterAdapterOrdinal;
  UINT              AdapterOrdinalInGroup;
  UINT              NumberOfAdaptersInGroup;
  DWORD             DeclTypes;
  DWORD             NumSimultaneousRTs;
  DWORD             StretchRectFilterCaps;
  D3DVSHADERCAPS2_0 VS20Caps;
  D3DPSHADERCAPS2_0 PS20Caps;
  DWORD             VertexTextureFilterCaps;
  DWORD             MaxVShaderInstructionsExecuted;
  DWORD             MaxPShaderInstructionsExecuted;
  DWORD             MaxVertexShader30InstructionSlots;
  DWORD             MaxPixelShader30InstructionSlots;
} D3DCAPS9;

Miembros

DeviceType

Tipo: D3DDEVTYPE

Miembro del tipo enumerado D3DDEVTYPE , que identifica qué tipo de recursos se usan para procesar vértices.

AdapterOrdinal

Tipo: UINT

Adaptador en el que se creó este dispositivo Direct3D. Este ordinal solo es válido para pasar a métodos de la interfaz IDirect3D9 que creó este dispositivo Direct3D. La interfaz IDirect3D9 siempre se puede recuperar llamando a GetDirect3D.

Caps

Tipo: DWORD

La siguiente funcionalidad específica del controlador.

Valor Significado
D3DCAPS_READ_SCANLINE
El hardware de pantalla es capaz de devolver la línea de examen actual.
D3DCAPS_OVERLAY
El controlador de pantalla admite una DDI superpuesta que permite la comprobación de las funcionalidades de superposición. Para obtener más información sobre la superposición DDI, vea Superposición de DDI.
Diferencias entre Direct3D 9 y Direct3D 9Ex:

Esta marca solo está disponible en Direct3D 9Ex.

 

Caps2

Tipo: DWORD

Funcionalidades específicas del controlador identificadas en D3DCAPS2.

Caps3

Tipo: DWORD

Funcionalidades específicas del controlador identificadas en D3DCAPS3.

PresentationIntervals

Tipo: DWORD

Máscara de bits de valores que representan los intervalos de intercambio de presentación disponibles.

Valor Significado
D3DPRESENT_INTERVAL_IMMEDIATE
El controlador admite un intervalo de intercambio de presentación inmediato.
D3DPRESENT_INTERVAL_ONE
El controlador admite un intervalo de intercambio de presentación de cada actualización de pantalla.
D3DPRESENT_INTERVAL_TWO
El controlador admite un intervalo de intercambio de presentación de cada segunda actualización de pantalla.
D3DPRESENT_INTERVAL_THREE
El controlador admite un intervalo de intercambio de presentación de cada tercera actualización de pantalla.
D3DPRESENT_INTERVAL_FOUR
El controlador admite un intervalo de intercambio de presentación de cada cuarta actualización de pantalla.

CursorCaps

Tipo: DWORD

Máscara de bits que indica qué compatibilidad de hardware está disponible para los cursores. Direct3D 9 no define las funcionalidades de cursor de combinación alfa.

Valor Significado
D3DCURSORCAPS_COLOR
Se admite un cursor de color completo en hardware. En concreto, esta marca indica que el controlador admite al menos un cursor de color de hardware en modos de alta resolución (con líneas de examen mayores o iguales que 400).
D3DCURSORCAPS_LOWRES
Se admite un cursor de color completo en hardware. En concreto, esta marca indica que el controlador admite un cursor de color de hardware en modos de alta resolución y baja resolución (con líneas de examen inferiores a 400).

DevCaps

Tipo: DWORD

Marcas que identifican las funcionalidades del dispositivo.

Valor Significado
D3DDEVCAPS_CANBLTSYSTONONLOCAL
El dispositivo admite blits de texturas de memoria del sistema a texturas de memoria de vídeo no locales.
D3DDEVCAPS_CANRENDERAFTERFLIP
El dispositivo puede poner en cola los comandos de representación después de un volteo de página. Las aplicaciones no cambian su comportamiento si se establece esta marca; esta funcionalidad significa que el dispositivo es relativamente rápido.
D3DDEVCAPS_DRAWPRIMITIVES2
El dispositivo puede admitir al menos un controlador compatible con DirectX 5.
D3DDEVCAPS_DRAWPRIMITIVES2EX
El dispositivo puede admitir al menos un controlador compatible con DirectX 7.
D3DDEVCAPS_DRAWPRIMTLVERTEX
El dispositivo exporta un hal compatible con IDirect3DDevice9::D rawPrimitive.
D3DDEVCAPS_EXECUTESYSTEMMEMORY
El dispositivo puede usar búferes de ejecución de la memoria del sistema.
D3DDEVCAPS_EXECUTEVIDEOMEMORY
El dispositivo puede usar búferes de ejecución de la memoria de vídeo.
D3DDEVCAPS_HWRASTERIZATION
El dispositivo tiene aceleración de hardware para la rasterización de escenas.
D3DDEVCAPS_HWTRANSFORMANDLIGHT
El dispositivo puede admitir la transformación y la iluminación en hardware.
D3DDEVCAPS_NPATCHES
El dispositivo admite N revisiones.
D3DDEVCAPS_PUREDEVICE
El dispositivo puede admitir la rasterización, la transformación, la iluminación y el sombreado en hardware.
D3DDEVCAPS_QUINTICRTPATCHES
El dispositivo admite curvas Bézier quintices y B-splines.
D3DDEVCAPS_RTPATCHES
El dispositivo admite revisiones rectangulares y triangulares.
D3DDEVCAPS_RTPATCHHANDLEZERO
Cuando se establece esta funcionalidad del dispositivo, la arquitectura de hardware no requiere el almacenamiento en caché de ninguna información y las revisiones sin almacenar en caché (identificador cero) se dibujarán de forma tan eficaz como las almacenadas en caché. Tenga en cuenta que establecer D3DDEVCAPS_RTPATCHHANDLEZERO no significa que se pueda dibujar una revisión con identificador cero. Una revisión handle-zero siempre se puede dibujar si este límite está establecido o no.
D3DDEVCAPS_SEPARATETEXTUREMEMORIES
El dispositivo está texturando de grupos de memoria independientes.
D3DDEVCAPS_TEXTURENONLOCALVIDMEM
El dispositivo puede recuperar texturas de la memoria de vídeo no local.
D3DDEVCAPS_TEXTURESYSTEMMEMORY
El dispositivo puede recuperar texturas de la memoria del sistema.
D3DDEVCAPS_TEXTUREVIDEOMEMORY
El dispositivo puede recuperar texturas de la memoria del dispositivo.
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
El dispositivo puede usar búferes de la memoria del sistema para vértices transformados y iluminados.
D3DDEVCAPS_TLVERTEXVIDEOMEMORY
El dispositivo puede usar búferes de la memoria de vídeo para vértices transformados y iluminados.

PrimitiveMiscCaps

Tipo: DWORD

Funcionalidades primitivas de controladores varios. Consulte D3DPMISCCAPS.

RasterCaps

Tipo: DWORD

Información sobre las funcionalidades de dibujo ráster. Este miembro puede ser una o varias de las marcas siguientes.

Valor Significado
D3DPRASTERCAPS_ANISOTROPY
El dispositivo admite el filtrado anisotrópico.
D3DPRASTERCAPS_COLORPERSPECTIVE
El dispositivo recorre en iteración la perspectiva de los colores correctamente.
D3DPRASTERCAPS_DITHER
El dispositivo puede dither para mejorar la resolución de colores.
D3DPRASTERCAPS_DEPTHBIAS
El dispositivo admite el sesgo de profundidad heredado. Para obtener un sesgo de profundidad verdadero, consulte D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS.
D3DPRASTERCAPS_FOGRANGE
El dispositivo admite niebla basada en rangos. En niebla basada en intervalos, la distancia de un objeto del visor se usa para calcular efectos de niebla, no la profundidad del objeto (es decir, la coordenada z) en la escena.
D3DPRASTERCAPS_FOGTABLE
El dispositivo calcula el valor de niebla haciendo referencia a una tabla de búsqueda que contiene valores de niebla que se indexan a la profundidad de un píxel determinado.
D3DPRASTERCAPS_FOGVERTEX
El dispositivo calcula el valor de niebla durante la operación de iluminación e interpola el valor de niebla durante la rasterización.
D3DPRASTERCAPS_MIPMAPLODBIAS
El dispositivo admite ajustes de sesgo de nivel de detalle. Estos ajustes de sesgo permiten a una aplicación hacer que un mapa mip aparezca más claro o menos agudo que lo haría normalmente. Para obtener más información sobre el sesgo de nivel de detalle en mapas mip, vea D3DSAMP_MIPMAPLODBIAS.
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE
El dispositivo admite activar y desactivar el muestreo múltiple entre IDirect3DDevice9::BeginScene e IDirect3DDevice9::EndScene (mediante D3DRS_MULTISAMPLEANTIALIAS).
D3DPRASTERCAPS_SCISSORTEST
El dispositivo admite la prueba de tijera. Consulte Scissor Test (Direct3D 9) (Prueba de tijera [Direct3D 9]).
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS
El dispositivo realiza un sesgo de profundidad basado en pendientes verdadero. Esto contrasta con el sesgo de profundidad de estilo heredado.
D3DPRASTERCAPS_WBUFFER
El dispositivo admite el almacenamiento en búfer de profundidad mediante w.
D3DPRASTERCAPS_WFOG
El dispositivo admite niebla basada en w. La niebla basada en W se usa cuando se especifica una matriz de proyección de perspectiva, pero las proyecciones affine siguen usando niebla basada en Z. El sistema considera una matriz de proyección que contiene un valor distinto de cero en el elemento [3][4] para ser una matriz de proyección de perspectiva.
D3DPRASTERCAPS_ZBUFFERLESSHSR
El dispositivo puede realizar la eliminación de superficie oculta (HSR) sin necesidad de que la aplicación ordene los polígonos y sin necesidad de asignar un búfer de profundidad. Esto deja más memoria de vídeo para texturas. El método usado para realizar HSR depende del hardware y es transparente para la aplicación.

HSR sin búfer Z se realiza si no hay ninguna superficie de búfer de profundidad asociada a la superficie de destino de representación y la prueba de comparación de búfer de profundidad está habilitada (es decir, cuando el valor de estado asociado a la constante de enumeración D3DRS_ZENABLE se establece en TRUE).

D3DPRASTERCAPS_ZFOG
El dispositivo admite niebla basada en z.
D3DPRASTERCAPS_ZTEST
El dispositivo puede realizar operaciones de prueba z. Esto representa eficazmente un primitivo e indica si se han representado píxeles z.

ZCmpCaps

Tipo: DWORD

Funcionalidades de comparación de búfer Z. Este miembro puede ser una o varias de las marcas siguientes.

Valor Significado
D3DPCMPCAPS_ALWAYS
Pase siempre la prueba z.
D3DPCMPCAPS_EQUAL
Pase la prueba z si la nueva z es igual a la z actual.
D3DPCMPCAPS_GREATER
Pase la prueba z si la nueva z es mayor que la z actual.
D3DPCMPCAPS_GREATEREQUAL
Pase la prueba z si la nueva z es mayor o igual que la z actual.
D3DPCMPCAPS_LESS
Pase la prueba z si la nueva z es menor que la z actual.
D3DPCMPCAPS_LESSEQUAL
Pase la prueba z si la nueva z es menor o igual que la z actual.
D3DPCMPCAPS_NEVER
Siempre se produce un error en la prueba z.
D3DPCMPCAPS_NOTEQUAL
Pase la prueba z si la nueva z no es igual a la z actual.

SrcBlendCaps

Tipo: DWORD

Funcionalidades de combinación de código fuente. Este miembro puede ser una o varias de las marcas siguientes. (Los valores RGBA del origen y el destino se indican mediante los subíndices s y d).

Valor Significado
D3DPBLENDCAPS_BLENDFACTOR
El controlador admite D3DBLEND_BLENDFACTOR y D3DBLEND_INVBLENDFACTOR. Consulte D3DBLEND.
D3DPBLENDCAPS_BOTHINVSRCALPHA
El factor de mezcla de origen es (1 - As, 1 - As, 1 - As) y el factor de mezcla de destino es (As, As, As, As, As); la selección de mezcla de destino se invalida.
D3DPBLENDCAPS_BOTHSRCALPHA
El controlador admite el modo de mezcla D3DBLEND_BOTHSRCALPHA. (Este modo de mezcla está obsoleto. Para obtener más información, vea D3DBLEND).
D3DPBLENDCAPS_DESTALPHA
El factor de mezcla es (Ad, Ad, Ad, Ad).
D3DPBLENDCAPS_DESTCOLOR
El factor de mezcla es (Rd, Gd, Bd, Ad).
D3DPBLENDCAPS_INVDESTALPHA
El factor de mezcla es (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad).
D3DPBLENDCAPS_INVDESTCOLOR
El factor de mezcla es (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad).
D3DPBLENDCAPS_INVSRCALPHA
El factor de mezcla es (1 - As, 1 - As, 1 - As, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR
El factor de mezcla es (1 - Rs, 1 - Gs, 1 - Bs, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR2
El factor de mezcla es (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, no usado)). Consulte Render Target Blending (Combinación de destinos de representación).
Diferencias entre Direct3D 9 y Direct3D 9Ex:

Esta marca solo está disponible en Direct3D 9Ex.

 
D3DPBLENDCAPS_ONE
El factor de mezcla es (1, 1, 1, 1).
D3DPBLENDCAPS_SRCALPHA
El factor de mezcla es (As, As, As, As).
D3DPBLENDCAPS_SRCALPHASAT
El factor de mezcla es (f, f, f, 1); f = min(As, 1 - Ad).
D3DPBLENDCAPS_SRCCOLOR
El factor de mezcla es (Rs, Gs, Bs, As).
D3DPBLENDCAPS_SRCCOLOR2
El factor de mezcla es (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, no se usa). Consulte Render Target Blending (Combinación de destinos de representación).
Diferencias entre Direct3D 9 y Direct3D 9Ex:

Esta marca solo está disponible en Direct3D 9Ex.

 
D3DPBLENDCAPS_ZERO
El factor de mezcla es (0, 0, 0, 0).

DestBlendCaps

Tipo: DWORD

Funcionalidades de combinación de destino. Este miembro puede ser las mismas funcionalidades definidas para el miembro SrcBlendCaps.

AlphaCmpCaps

Tipo: DWORD

Funcionalidades de comparación de pruebas alfa. Este miembro puede incluir las mismas marcas de funcionalidad definidas para el miembro ZCmpCaps. Si este miembro solo contiene la funcionalidad D3DPCMPCAPS_ALWAYS o solo la funcionalidad D3DPCMPCAPS_NEVER, el controlador no admite pruebas alfa. De lo contrario, las marcas identifican las comparaciones individuales que se admiten para las pruebas alfa.

ShadeCaps

Tipo: DWORD

Funcionalidades de operaciones de sombreado. Se supone, en general, que si un dispositivo admite un comando determinado en absoluto, admite el modo D3DSHADE_FLAT (como se especifica en el tipo enumerado D3DSHADEMODE ). Esta marca especifica si el controlador también puede admitir sombreado gouraud y si se admiten componentes de color alfa. Cuando no se admiten componentes alfa, el valor alfa de los colores generados es implícitamente 255. Este es el máximo posible alfa (es decir, el componente alfa está a plena intensidad).

El color, los resaltados especulares, la niebla y los interpolantes alfa de un triángulo tienen marcas de capacidad que una aplicación puede usar para averiguar cómo se implementan mediante el controlador de dispositivo.

Este miembro puede ser una o varias de las marcas siguientes.

Valor Significado
D3DPSHADECAPS_ALPHAGOURAUDBLEND
El dispositivo puede admitir un componente alfa para la transparencia combinada con Gouraud (el estado de D3DSHADE_GOURAUD para el tipo enumerado D3DSHADEMODE). En este modo, el componente de color alfa de un primitivo se proporciona en vértices e interpolado a través de una cara junto con los demás componentes de color.
D3DPSHADECAPS_COLORGOURAUDRGB
El dispositivo puede admitir sombreado gouraud coloreado. En este modo, los componentes de color por vértice (rojo, verde y azul) se interpolan en una cara de triángulo.
D3DPSHADECAPS_FOGGOURAUD
El dispositivo puede admitir niebla en el modo de sombreado gouraud.
D3DPSHADECAPS_SPECULARGOURAUDRGB
El dispositivo admite el sombreado Gouraud de resaltados especulares.

TextureCaps

Tipo: DWORD

Funcionalidades de asignación de texturas varias. Este miembro puede ser una o varias de las marcas siguientes.

Valor Significado
D3DPTEXTURECAPS_ALPHA
Se admite alfa en píxeles de textura.
D3DPTEXTURECAPS_ALPHAPALETTE
El dispositivo puede dibujar alfa de las paletas de texturas.
D3DPTEXTURECAPS_CUBEMAP
Admite texturas de cubo.
D3DPTEXTURECAPS_CUBEMAP_POW2
El dispositivo requiere que los mapas de texturas de cubo tengan dimensiones especificadas como potencias de dos.
D3DPTEXTURECAPS_MIPCUBEMAP
El dispositivo admite texturas de cubo mipmapped.
D3DPTEXTURECAPS_MIPMAP
El dispositivo admite texturas mipmapped.
D3DPTEXTURECAPS_MIPVOLUMEMAP
El dispositivo admite texturas de volumen mipmapped.
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
D3DPTEXTURECAPS_POW2 también se establece, admite condicionalmente el uso de texturas 2D con dimensiones que no son potencias de dos. Un dispositivo que expone esta funcionalidad puede usar esta textura si se cumplen todos los requisitos siguientes.
  • El modo de direccionamiento de textura para la fase de textura se establece en D3DTADDRESS_CLAMP.
  • El ajuste de textura para la fase de textura está deshabilitado (D3DRS_WRAP n establecido en 0).
  • Mipmapping no está en uso (use solo filtro de ampliación).
  • Los formatos de textura no deben D3DFMT_DXT1 a través de D3DFMT_DXT5.

Si no se establece esta marca y tampoco se establece D3DPTEXTURECAPS_POW2, se proporciona compatibilidad incondicional para texturas 2D con dimensiones que no son potencias de dos.

Una textura que no es una potencia de dos no se puede establecer en una fase que se leerá en función de un cálculo del sombreador (como el bem - ps y texm3x3 - instrucciones ps en las versiones de sombreadores de píxeles 1_0 a 1_3). Por ejemplo, estas texturas se pueden usar para almacenar los golpes que se introducirán en lecturas de textura, pero no los mapas de entorno que se usan en texbem - ps, texbeml - ps y texm3x3spec - ps. Esto significa que una textura con dimensiones que no son potencias de dos no se puede abordar ni muestrear mediante coordenadas de textura calculadas dentro del sombreador. Este tipo de operación se conoce como lectura dependiente y no se puede realizar en estos tipos de texturas.

D3DPTEXTURECAPS_NOPROJECTEDBUMPENV
El dispositivo no admite una operación de búsqueda de bump-environment proyectada en sombreadores de funciones programables y fijos.
D3DPTEXTURECAPS_PERSPECTIVE
Se admite la texturización de corrección de perspectiva.
D3DPTEXTURECAPS_POW2
Si no se establece D3DPTEXTURECAPS_NONPOW2CONDITIONAL, todas las texturas deben tener anchos y alto especificados como potencias de dos. Este requisito no se aplica a las texturas de cubo ni a las texturas de volumen.

Si también se establece D3DPTEXTURECAPS_NONPOW2CONDITIONAL, admite condicionalmente el uso de texturas 2D con dimensiones que no son potencias de dos. Consulte D3DPTEXTURECAPS_NONPOW2CONDITIONAL descripción.

Si no se establece esta marca y tampoco se establece D3DPTEXTURECAPS_NONPOW2CONDITIONAL, se proporciona compatibilidad incondicional para texturas 2D con dimensiones que no son potencias de dos.

D3DPTEXTURECAPS_PROJECTED
Admite la marca de transformación de textura D3DTTFF_PROJECTED. Cuando se aplica, el dispositivo divide las coordenadas de textura transformadas por la última coordenada de textura. Si esta funcionalidad está presente, la división projectiva se produce por píxel. Si esta funcionalidad no está presente, pero la división projectiva debe producirse de todos modos, el tiempo de ejecución de Direct3D lo realiza por vértice.
D3DPTEXTURECAPS_SQUAREONLY
Todas las texturas deben ser cuadradas.
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
Los índices de textura no se escalan por el tamaño de textura antes de la interpolación.
D3DPTEXTURECAPS_VOLUMEMAP
El dispositivo admite texturas de volumen.
D3DPTEXTURECAPS_VOLUMEMAP_POW2
El dispositivo requiere que los mapas de texturas de volumen tengan dimensiones especificadas como potencias de dos.

TextureFilterCaps

Tipo: DWORD

Funcionalidades de filtrado de texturas para una textura. Las funcionalidades de filtrado por fase reflejan qué modos de filtrado se admiten para las fases de textura al realizar la combinación de varias texturas. Este miembro puede ser cualquier combinación de las marcas de filtrado de texturas por fase definidas en D3DPTFILTERCAPS.

CubeTextureFilterCaps

Tipo: DWORD

Funcionalidades de filtrado de texturas para una textura de cubo. Las funcionalidades de filtrado por fase reflejan qué modos de filtrado se admiten para las fases de textura al realizar la combinación de varias texturas. Este miembro puede ser cualquier combinación de las marcas de filtrado de texturas por fase definidas en D3DPTFILTERCAPS.

VolumeTextureFilterCaps

Tipo: DWORD

Funcionalidades de filtrado de texturas para una textura de volumen. Las funcionalidades de filtrado por fase reflejan qué modos de filtrado se admiten para las fases de textura al realizar la combinación de varias texturas. Este miembro puede ser cualquier combinación de las marcas de filtrado de texturas por fase definidas en D3DPTFILTERCAPS.

TextureAddressCaps

Tipo: DWORD

Funcionalidades de direccionamiento de texturas para objetos de textura. Este miembro puede ser una o varias de las marcas siguientes.

Valor Significado
D3DPTADDRESSCAPS_BORDER
El dispositivo admite la configuración de coordenadas fuera del intervalo [0.0, 1.0] al color del borde, según lo especificado por el estado de la fase de textura D3DSAMP_BORDERCOLOR.
D3DPTADDRESSCAPS_CLAMP
El dispositivo puede sujetar texturas a direcciones.
D3DPTADDRESSCAPS_INDEPENDENTUV
El dispositivo puede separar los modos de direccionamiento de textura de las coordenadas you y v de la textura. Esta capacidad corresponde a los valores de D3DSAMP_ADDRESSU y D3DSAMP_ADDRESSV estado de representación.
D3DPTADDRESSCAPS_MIRROR
El dispositivo puede reflejar texturas en direcciones.
D3DPTADDRESSCAPS_MIRRORONCE
El dispositivo puede tomar el valor absoluto de la coordenada de textura (por lo tanto, la creación de reflejo alrededor de 0) y, a continuación, fijar al valor máximo.
D3DPTADDRESSCAPS_WRAP
El dispositivo puede encapsular texturas en direcciones.

VolumeTextureAddressCaps

Tipo: DWORD

Funcionalidades de direccionamiento de texturas para una textura de volumen. Este miembro puede ser uno o varios de los marcadores definidos para el miembro TextureAddressCaps.

LineCaps

Tipo: DWORD

Define las funcionalidades de los primitivos de dibujo de línea.

Valor Significado
D3DLINECAPS_ALPHACMP
Admite comparaciones alfa-test.
D3DLINECAPS_ANTIALIAS
Se admiten líneas antialias.
D3DLINECAPS_BLEND
Admite la combinación de código fuente.
D3DLINECAPS_FOG
Soporta niebla.
D3DLINECAPS_TEXTURE
Admite la asignación de texturas.
D3DLINECAPS_ZTEST
Admite comparaciones de búfer z.

MaxTextureWidth

Tipo: DWORD

Ancho máximo de textura para este dispositivo.

MaxTextureHeight

Tipo: DWORD

Alto máximo de textura para este dispositivo.

MaxVolumeExtent

Tipo: DWORD

Valor máximo para cualquiera de las tres dimensiones (ancho, alto y profundidad) de una textura de volumen.

MaxTextureRepeat

Tipo: DWORD

Este número representa el intervalo máximo de los bits enteros de las coordenadas de textura posteriores a la normalización. Una coordenada de textura se almacena como un entero de 32 bits con signo con 27 bits para almacenar la parte de entero y 5 bits para la fracción de punto flotante. El índice entero máximo, 2²⁷, se usa para determinar la coordenada de textura máxima, dependiendo de cómo el hardware realiza el escalado de coordenadas de textura.

Algunos informes de hardware indican el límite D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE. En este caso, el dispositivo aplaza las coordenadas de escalado de textura por el tamaño de textura hasta después de la interpolación y la aplicación del modo de dirección de textura, por lo que el valor entero de MaxTextureRepeat puede ajustar el número de veces que una textura se puede ajustar.

De forma menos deseada, en algunos D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE de hardware no se establece y el dispositivo escala las coordenadas de textura por el tamaño de textura (con el nivel más alto de detalle) antes de la interpolación. Esto limita el número de veces que una textura se puede ajustar a MaxTextureRepeat o tamaño de textura.

Por ejemplo, supongamos que MaxTextureRepeat es igual a 32k y el tamaño de la textura es 4k. Si el hardware establece D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE, el número de veces que se puede encapsular una textura es igual a MaxTextureRepeat, que es 32k en este ejemplo. De lo contrario, el número de veces que se puede encapsular una textura es igual a MaxTextureRepeat dividido por tamaño de textura, que es 32k/4k en este ejemplo.

MaxTextureAspectRatio

Tipo: DWORD

Relación de aspecto de textura máxima compatible con el hardware, normalmente una potencia de 2.

MaxAnisotropy

Tipo: DWORD

Valor máximo válido para el estado D3DSAMP_MAXANISOTROPY fase de textura.

MaxVertexW

Tipo: float

Valor máximo de profundidad basado en W que admite el dispositivo.

GuardBandLeft

Tipo: float

Coordenada de espacio de pantalla de la región de recorte de banda de protección. Las coordenadas dentro de este rectángulo, pero fuera del rectángulo de ventanilla se recortan automáticamente.

GuardBandTop

Tipo: float

Coordenada de espacio de pantalla de la región de recorte de banda de protección. Las coordenadas dentro de este rectángulo, pero fuera del rectángulo de ventanilla se recortan automáticamente.

GuardBandRight

Tipo: float

Coordenada de espacio de pantalla de la región de recorte de banda de protección. Las coordenadas dentro de este rectángulo, pero fuera del rectángulo de ventanilla se recortan automáticamente.

GuardBandBottom

Tipo: float

Coordenada de espacio de pantalla de la región de recorte de banda de protección. Las coordenadas dentro de este rectángulo, pero fuera del rectángulo de ventanilla se recortan automáticamente.

ExtentsAdjust

Tipo: float

Número de píxeles para ajustar el rectángulo de extensiones hacia fuera para dar cabida a kernels antialiasing.

StencilCaps

Tipo: DWORD

Marcas que especifican operaciones de búfer de galería de símbolos admitidas. 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 (D3DRS_STENCILFAIL, D3DRS_STENCILPASS y D3DRS_STENCILZFAIL).

Para obtener más información, vea D3DSTENCILCAPS.

FVFCaps

Tipo: DWORD

Funcionalidades flexibles de formato de vértice.

Valor Significado
D3DFVFCAPS_DONOTSTRIPELEMENTS
Es preferible que los elementos de vértice no se despojan. Es decir, si el formato de vértice contiene elementos que no se usan con los estados de representación actuales, no es necesario volver a generar los vértices. Si esta marca de funcionalidad no está presente, la eliminación de elementos extraños del formato de vértice proporciona un mejor rendimiento.
D3DFVFCAPS_PSIZE
El tamaño del punto viene determinado por el estado de representación o los datos de vértice. Si se usa un FVF, el tamaño de punto puede proceder de los datos de tamaño de punto en la declaración de vértice. De lo contrario, el estado de representación determina el tamaño del punto D3DRS_POINTSIZE. Si la aplicación proporciona un tamaño de punto en (el estado de representación y la declaración de vértice), los datos del vértice invalidan los datos de estado de representación.
D3DFVFCAPS_TEXCOORDCOUNTMASK
Enmascara la palabra baja de FVFCaps. Estos bits, convertidos al tipo de datos WORD, describen el número total de conjuntos de coordenadas de textura que el dispositivo puede usar simultáneamente para la combinación de varias texturas. (Puede usar hasta ocho conjuntos de coordenadas de textura para cualquier vértice, pero el dispositivo solo puede combinar utilizando el número especificado de conjuntos de coordenadas de textura).

TextureOpCaps

Tipo: DWORD

Combinación de marcas que describen las operaciones de textura admitidas por este dispositivo. Se definen las marcas siguientes.

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

MaxTextureBlendStages

Tipo: DWORD

Número máximo de fases de combinación de texturas admitidas en la canalización de funciones fijas. Este valor es el número de mezclas disponibles. En la canalización de píxeles programables, esto corresponde al número de registros de textura únicos que usan las instrucciones del sombreador de píxeles.

MaxSimultaneousTextures

Tipo: DWORD

Número máximo de texturas que se pueden enlazar simultáneamente a las fases del sampler de canalización de función fija. Si la misma textura está enlazada a dos fases del sampler, cuenta como dos texturas.

Este valor no tiene ningún significado en la canalización programable donde el número de fases del muestreador viene determinado por cada versión del sombreador de píxeles. Cada versión del sombreador de píxeles también determina el número de instrucciones de declaración de textura. Consulta Sombreadores de píxeles.

VertexProcessingCaps

Tipo: DWORD

Funcionalidades de procesamiento de vértices. Para un dispositivo físico determinado, esta funcionalidad puede variar en todos los dispositivos Direct3D en función de los parámetros proporcionados a CreateDevice. Consulte D3DVTXPCAPS.

MaxActiveLights

Tipo: DWORD

Número máximo de luces que pueden estar activas simultáneamente. Para un dispositivo físico determinado, esta funcionalidad puede variar en todos los dispositivos Direct3D en función de los parámetros proporcionados a CreateDevice.

MaxUserClipPlanes

Tipo: DWORD

Número máximo de planos de recorte definidos por el usuario admitidos. Este miembro puede ser 0. Para un dispositivo físico determinado, esta funcionalidad puede variar en todos los dispositivos Direct3D en función de los parámetros proporcionados a CreateDevice.

MaxVertexBlendMatrices

Tipo: DWORD

Número máximo de matrices que este dispositivo puede aplicar al realizar la mezcla de vértices multimatrix. Para un dispositivo físico determinado, esta funcionalidad puede variar en todos los dispositivos Direct3D en función de los parámetros proporcionados a CreateDevice.

MaxVertexBlendMatrixIndex

Tipo: DWORD

Valor DWORD que especifica el índice de matriz máximo en el que se pueden indexar mediante los índices por vértice. El número de matrices es MaxVertexBlendMatrixIndex + 1, que es el tamaño de la paleta de matrices. Si los valores normales están presentes en los datos de vértices que deben combinarse para la iluminación, el número de matrices es la mitad del número especificado por esta marca de funcionalidad. Si MaxVertexBlendMatrixIndex está establecido en cero, el controlador no admite la mezcla de vértices indizado. Si este valor no es cero, el intervalo válido de índices es cero a través de MaxVertexBlendMatrixIndex.

Un valor cero para MaxVertexBlendMatrixIndex indica que el controlador no admite matrices indizada.

Cuando se usa el procesamiento de vértices de software, se pueden usar 256 matrices para la mezcla de vértices indexados, con o sin mezcla normal.

Para un dispositivo físico determinado, esta funcionalidad puede variar en todos los dispositivos Direct3D en función de los parámetros proporcionados a CreateDevice.

MaxPointSize

Tipo: float

Tamaño máximo de un primitivo de punto. Si se establece en 1.0f, el dispositivo no admite el control de tamaño de punto. El intervalo es mayor o igual que 1,0f.

MaxPrimitiveCount

Tipo: DWORD

Número máximo de primitivos para cada llamada DrawPrimitive . Hay dos casos:

  • Si MaxPrimitiveCount no es igual a 0xffff, puede dibujar como máximo primitivos MaxPrimitiveCount con cada llamada a draw.
  • Sin embargo, si MaxPrimitiveCount es igual a 0xffff, todavía puede dibujar como máximo el primitivo MaxPrimitiveCount, pero también puede usar no más que vértices únicos de MaxPrimitiveCount (ya que cada primitivo puede usar potencialmente tres vértices diferentes).

MaxVertexIndex

Tipo: DWORD

Tamaño máximo de índices admitidos para el procesamiento de vértices de hardware. Es posible crear búferes de índice de 32 bits; sin embargo, no podrá representar con el búfer de índice a menos que este valor sea mayor que 0x0000FFFF.

MaxStreams

Tipo: DWORD

Número máximo de flujos de datos simultáneos para SetStreamSource. El intervalo válido es de 1 a 16. Tenga en cuenta que si este valor es 0, el controlador no es un controlador direct3D 9.

MaxStreamStride

Tipo: DWORD

Intervalo máximo para SetStreamSource.

VertexShaderVersion

Tipo: DWORD

Dos números que representan las versiones principal y secundaria del sombreador de vértices. Para obtener más información sobre las instrucciones admitidas para cada versión del sombreador de vértices, vea Version 1_x, Version 2_0, Version 2_0 Extended o Version 3_0.

MaxVertexShaderConst

Tipo: DWORD

Número de registros de sombreador de vértices del sombreador de vértices reservados para constantes.

PixelShaderVersion

Tipo: DWORD

Dos números que representan las versiones principal y secundaria del sombreador de píxeles. Para obtener más información sobre las instrucciones admitidas para cada versión del sombreador de píxeles, vea Version 1_x, Version 2_0, Version 2_0 Extended o Version 3_0.

PixelShader1xMaxValue

Tipo: float

Valor máximo del componente aritmético del sombreador de píxeles. Este valor indica el intervalo interno de valores admitidos para las operaciones de combinación de colores de píxeles. Dentro del intervalo al que informan, las implementaciones deben permitir que los datos pasen a través del procesamiento de píxeles sin modificar (sin clasificar). Normalmente, el valor de este miembro es un valor absoluto. Por ejemplo, un 1,0 indica que el intervalo es -1,0 a 1 y 8,0 indica que el intervalo es de -8,0 a 8,0. El valor debe ser >= 1,0 para cualquier hardware que admita sombreadores de píxeles.

DevCaps2

Tipo: DWORD

Funcionalidades del controlador de dispositivo para la teselación adaptable. Para obtener más información, consulte D3DDEVCAPS2.

MaxNpatchTessellationLevel

TBD

Reserved5

TBD

MasterAdapterOrdinal

Tipo: UINT

Este número indica qué dispositivo es el maestro de este subordinado. Este número se toma del mismo espacio que los valores del adaptador.

En el caso de la compatibilidad con varias puntas, se indicará una cabeza como la cabeza maestra y todas las demás cabezas de la misma tarjeta se denotarán cabezas subordinadas. Si hay más de un adaptador de varios encabezados en un sistema, el maestro y sus subordinados de un adaptador de varios encabezados se denominan grupo.

AdapterOrdinalInGroup

Tipo: UINT

Este número indica el orden en el que la API hace referencia a los encabezados. El valor del adaptador maestro siempre es 0. Estos valores no corresponden a los ordinales del adaptador. Solo se aplican a las cabezas de un grupo.

NumberOfAdaptersInGroup

Tipo: UINT

Número de adaptadores de este grupo de adaptadores (solo si es maestro). Será 1 para adaptadores convencionales. El valor será mayor que 1 para el adaptador maestro de una tarjeta de varios encabezados. El valor será 0 para un adaptador subordinado de una tarjeta de varios encabezados. Cada tarjeta puede tener como máximo un maestro, pero puede tener muchos subordinados.

DeclTypes

Tipo: DWORD

Combinación de uno o varios tipos de datos contenidos en una declaración de vértice. Consulte D3DDTCAPS.

NumSimultaneousRTs

Tipo: DWORD

Número de destinos de representación simultáneos. Este número debe ser al menos uno.

StretchRectFilterCaps

Tipo: DWORD

Combinación de constantes que describen las operaciones admitidas por StretchRect. Las marcas que se pueden establecer en este campo son:

Constante Descripción
D3DPTFILTERCAPS_MINFPOINT El dispositivo admite el filtrado de ejemplo de punto para minimizar los rectángulos. Este tipo de filtro se solicita mediante una llamada a StretchRect mediante D3DTEXF_POINT.
D3DPTFILTERCAPS_MAGFPOINT El dispositivo admite el filtrado de ejemplo de punto para aumentar los rectángulos. Este tipo de filtro se solicita mediante una llamada a StretchRect mediante D3DTEXF_POINT.
D3DPTFILTERCAPS_MINFLINEAR El dispositivo admite el filtrado de interpolación bilineal para reducir los rectángulos. Este tipo de filtro se solicita mediante una llamada a StretchRect mediante D3DTEXF_LINEAR.
D3DPTFILTERCAPS_MAGFLINEAR El dispositivo admite el filtrado de interpolación bilineal para los rectángulos de aumento. Este tipo de filtro se solicita mediante una llamada a StretchRect mediante D3DTEXF_LINEAR.
 

Para obtener más información, vea D3DTEXTUREFILTERTYPE y D3DTEXTUREFILTERTYPE.

VS20Caps

Tipo: D3DVSHADERCAPS2_0

El dispositivo admite la funcionalidad extendida de sombreador de vértices 2_0. Consulte D3DVSHADERCAPS2_0.

PS20Caps

Tipo: D3DPSHADERCAPS2_0

El dispositivo admite la funcionalidad extendida de la versión 2_0 del sombreador de píxeles. Consulte D3DPSHADERCAPS2_0.

VertexTextureFilterCaps

Tipo: DWORD

El dispositivo admite la funcionalidad de filtro de textura del sombreador de vértices. Consulte D3DPTFILTERCAPS.

MaxVShaderInstructionsExecuted

Tipo: DWORD

Número máximo de instrucciones del sombreador de vértices que se pueden ejecutar al usar el control de flujo. El número máximo de instrucciones que se pueden programar es MaxVertexShader30InstructionSlots.

MaxPShaderInstructionsExecuted

Tipo: DWORD

Número máximo de instrucciones del sombreador de píxeles que se pueden ejecutar al usar el control de flujo. El número máximo de instrucciones que se pueden programar es MaxPixelShader30InstructionSlots.

MaxVertexShader30InstructionSlots

Tipo: DWORD

Número máximo de ranuras de instrucciones de sombreador de vértices admitidas. El valor máximo que se puede establecer en este límite es 32768. Los dispositivos que admiten vs_3_0 son necesarios para admitir al menos 512 ranuras de instrucción.

MaxPixelShader30InstructionSlots

Tipo: DWORD

Número máximo de ranuras de instrucción de sombreador de píxeles admitidas. El valor máximo que se puede establecer en este límite es 32768. Los dispositivos que admiten ps_3_0 son necesarios para admitir al menos 512 ranuras de instrucción.

Comentarios

Los miembros MaxTextureBlendStages y MaxSimultaneousTextures pueden parecer similares, pero contienen información diferente. El miembro MaxTextureBlendStages contiene el número total de fases de combinación de texturas admitidas por el dispositivo actual y el miembro MaxSimultaneousTextures describe cuántos de esos escenarios pueden tener texturas enlazadas mediante el método SetTexture .

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 IDirect3DDevice9) no admite búferes de ejecución.

En general, pueden producirse problemas de rendimiento si se usa una textura y, a continuación, se modifica durante una escena. Asegúrese de que no se expulsa ninguna textura usada en el bloque BeginScene y EndScene actual a menos que sea absolutamente necesario. En el caso de un uso de textura extremadamente alto dentro de una escena, los resultados no están definidos. Esto ocurre cuando se modifica una textura que se ha usado en la escena y no hay memoria de textura de reserva disponible. Para estos sistemas, el contenido del búfer z no es válido en EndScene. Las aplicaciones no deben llamar a UpdateSurface a ni desde el búfer de reserva en este tipo de hardware dentro de un par BeginScene/EndScene. Además, las aplicaciones no deben intentar acceder al búfer z si se establece la marca de funcionalidad D3DPRASTERCAPS_ZBUFFERLESSHSR. Por último, las aplicaciones no deben bloquear el búfer de reserva ni el búfer z dentro de un par BeginScene/EndScene.

Las marcas siguientes relativas a las texturas mipmapped no se admiten en Direct3D 9.

  • D3DPTFILTERCAPS_LINEAR
  • D3DPTFILTERCAPS_LINEARMIPLINEAR
  • D3DPTFILTERCAPS_LINEARMIPNEAREST
  • D3DPTFILTERCAPS_MIPNEAREST
  • D3DPTFILTERCAPS_NEAREST

Requisitos

   
Encabezado d3d9caps.h

Consulte también

Estructuras de Direct3D

GetDeviceCaps