enumeración D3DRENDERSTATETYPE (d3d9types.h)

El D3DRENDERSTATETYPE tipo enumerado enumera una variedad de atributos o estados de representación. Los enumeradores de D3DRENDERSTATETYPE que los controladores usan exclusivamente pueden especificar información de representación o un atributo de textura. Los controladores de visualización usan los siguientes estados de representación:

Syntax

typedef enum _D3DRENDERSTATETYPE {
  D3DRS_ZENABLE,
  D3DRS_FILLMODE,
  D3DRS_SHADEMODE,
  D3DRS_ZWRITEENABLE,
  D3DRS_ALPHATESTENABLE,
  D3DRS_LASTPIXEL,
  D3DRS_SRCBLEND,
  D3DRS_DESTBLEND,
  D3DRS_CULLMODE,
  D3DRS_ZFUNC,
  D3DRS_ALPHAREF,
  D3DRS_ALPHAFUNC,
  D3DRS_DITHERENABLE,
  D3DRS_ALPHABLENDENABLE,
  D3DRS_FOGENABLE,
  D3DRS_SPECULARENABLE,
  D3DRS_FOGCOLOR,
  D3DRS_FOGTABLEMODE,
  D3DRS_FOGSTART,
  D3DRS_FOGEND,
  D3DRS_FOGDENSITY,
  D3DRS_RANGEFOGENABLE,
  D3DRS_STENCILENABLE,
  D3DRS_STENCILFAIL,
  D3DRS_STENCILZFAIL,
  D3DRS_STENCILPASS,
  D3DRS_STENCILFUNC,
  D3DRS_STENCILREF,
  D3DRS_STENCILMASK,
  D3DRS_STENCILWRITEMASK,
  D3DRS_TEXTUREFACTOR,
  D3DRS_WRAP0,
  D3DRS_WRAP1,
  D3DRS_WRAP2,
  D3DRS_WRAP3,
  D3DRS_WRAP4,
  D3DRS_WRAP5,
  D3DRS_WRAP6,
  D3DRS_WRAP7,
  D3DRS_CLIPPING,
  D3DRS_LIGHTING,
  D3DRS_AMBIENT,
  D3DRS_FOGVERTEXMODE,
  D3DRS_COLORVERTEX,
  D3DRS_LOCALVIEWER,
  D3DRS_NORMALIZENORMALS,
  D3DRS_DIFFUSEMATERIALSOURCE,
  D3DRS_SPECULARMATERIALSOURCE,
  D3DRS_AMBIENTMATERIALSOURCE,
  D3DRS_EMISSIVEMATERIALSOURCE,
  D3DRS_VERTEXBLEND,
  D3DRS_CLIPPLANEENABLE,
  D3DRS_POINTSIZE,
  D3DRS_POINTSIZE_MIN,
  D3DRS_POINTSPRITEENABLE,
  D3DRS_POINTSCALEENABLE,
  D3DRS_POINTSCALE_A,
  D3DRS_POINTSCALE_B,
  D3DRS_POINTSCALE_C,
  D3DRS_MULTISAMPLEANTIALIAS,
  D3DRS_MULTISAMPLEMASK,
  D3DRS_PATCHEDGESTYLE,
  D3DRS_DEBUGMONITORTOKEN,
  D3DRS_POINTSIZE_MAX,
  D3DRS_INDEXEDVERTEXBLENDENABLE,
  D3DRS_COLORWRITEENABLE,
  D3DRS_TWEENFACTOR,
  D3DRS_BLENDOP,
  D3DRS_POSITIONDEGREE,
  D3DRS_NORMALDEGREE,
  D3DRS_SCISSORTESTENABLE,
  D3DRS_SLOPESCALEDEPTHBIAS,
  D3DRS_ANTIALIASEDLINEENABLE,
  D3DRS_MINTESSELLATIONLEVEL,
  D3DRS_MAXTESSELLATIONLEVEL,
  D3DRS_ADAPTIVETESS_X,
  D3DRS_ADAPTIVETESS_Y,
  D3DRS_ADAPTIVETESS_Z,
  D3DRS_ADAPTIVETESS_W,
  D3DRS_ENABLEADAPTIVETESSELLATION,
  D3DRS_TWOSIDEDSTENCILMODE,
  D3DRS_CCW_STENCILFAIL,
  D3DRS_CCW_STENCILZFAIL,
  D3DRS_CCW_STENCILPASS,
  D3DRS_CCW_STENCILFUNC,
  D3DRS_COLORWRITEENABLE1,
  D3DRS_COLORWRITEENABLE2,
  D3DRS_COLORWRITEENABLE3,
  D3DRS_BLENDFACTOR,
  D3DRS_SRGBWRITEENABLE,
  D3DRS_DEPTHBIAS,
  D3DRS_WRAP8,
  D3DRS_WRAP9,
  D3DRS_WRAP10,
  D3DRS_WRAP11,
  D3DRS_WRAP12,
  D3DRS_WRAP13,
  D3DRS_WRAP14,
  D3DRS_WRAP15,
  D3DRS_SEPARATEALPHABLENDENABLE,
  D3DRS_SRCBLENDALPHA,
  D3DRS_DESTBLENDALPHA,
  D3DRS_BLENDOPALPHA,
  D3DRS_FORCE_DWORD
} D3DRENDERSTATETYPE;

Constantes

 
D3DRS_ZENABLE
Un D3DZBUFFERTYPE tipo de enumeración que representa el estado de almacenamiento en búfer de profundidad.
D3DRS_FILLMODE
Tipo de enumeración D3DFILLMODE .
D3DRS_SHADEMODE
Tipo de enumeración D3DSHADEMODE.
D3DRS_ZWRITEENABLE
TRUE para permitir que la aplicación escriba en el búfer de profundidad. El valor predeterminado es TRUE. Este miembro permite que una aplicación impida que el sistema actualice el búfer de profundidad con nuevos valores de profundidad. Si es FALSE, las comparaciones de profundidad se siguen realizando según el estado de representación D3DRS_ZFUNC, suponiendo que se está llevando a cabo el almacenamiento en búfer de profundidad, pero los valores de profundidad no se escriben en el búfer.
D3DRS_ALPHATESTENABLE
TRUE para habilitar pruebas alfa por píxel. Si se supera la prueba, el búfer de fotogramas procesa el píxel. De lo contrario, se omite todo el procesamiento del búfer de fotogramas para el píxel.
D3DRS_LASTPIXEL
El valor predeterminado es TRUE, lo que permite dibujar el último píxel de una línea. Para evitar el dibujo del último píxel, establezca este valor en FALSE.
D3DRS_SRCBLEND
Tipo de enumeración D3DBLEND .
D3DRS_DESTBLEND
Tipo de enumeración D3DBLEND.
D3DRS_CULLMODE
Tipo de enumeración D3DCULL que especifica cómo se seleccionan los triángulos orientados hacia atrás, si están en absoluto.
D3DRS_ZFUNC
Un D3DCMPFUNC tipo de enumeración que permite a una aplicación aceptar o rechazar un píxel, en función de su distancia desde la cámara.

El valor de profundidad del píxel se compara con el valor del búfer de profundidad. Si el valor de profundidad del píxel pasa la función de comparación, se escribe el píxel.

El valor de profundidad se escribe en el búfer de profundidad solo si el estado de representación es TRUE.
D3DRS_ALPHAREF
Valor que especifica un valor alfa de referencia con el que se prueban los píxeles cuando se habilitan las pruebas alfa. Se trata de un valor de 8 bits colocado en los 8 bits inferiores del valor de estado de representación DWORD. Los valores pueden oscilar entre 0x00000000 y 0x000000FF. El valor predeterminado es 0.
D3DRS_ALPHAFUNC
Un D3DCMPFUNC tipo de enumeración que permite que una aplicación acepte o rechace un píxel, en función de su valor alfa.
D3DRS_DITHERENABLE
TRUE para habilitar el dithering. El valor predeterminado es FALSE.
D3DRS_ALPHABLENDENABLE
TRUE para habilitar la transparencia mezclada alfa. El valor predeterminado es FALSE.

El tipo de combinación alfa viene determinado por el D3DRS_SRCBLEND y D3DRS_DESTBLEND estados de representación.
D3DRS_FOGENABLE
TRUE para habilitar la mezcla de niebla. El valor predeterminado es FALSE.
D3DRS_SPECULARENABLE
TRUE para habilitar los resaltados especulares. El valor predeterminado es FALSE.
Los resaltados especulares se calculan como si cada vértice del objeto que se está iluminando se encuentra en el origen del objeto. Esto proporciona los resultados esperados siempre que el objeto se modele alrededor del origen y la distancia entre la luz y el objeto sea relativamente grande. En otros casos, los resultados son indefinidos.

Cuando este miembro se establece en TRUE, el color especular se agrega al color base después de la cascada de textura pero antes de la combinación alfa.
D3DRS_FOGCOLOR
Estructura D3DCOLORVALUE .
D3DRS_FOGTABLEMODE
Tipo enumerado D3DFOGMODE que representa una fórmula de niebla que se va a usar para la niebla de píxeles.
D3DRS_FOGSTART
Profundidad a la que comienzan los efectos de niebla de píxeles o vértices para el modo de niebla lineal. El valor predeterminado es 0,0f. La profundidad se especifica en el espacio mundial para niebla de vértices y espacio de dispositivo [0,0, 1,0] o espacio mundial para niebla de píxeles. En el caso de la niebla de píxeles, estos valores están en el espacio del dispositivo cuando el sistema usa z para cálculos de niebla y espacio mundial cuando el sistema usa niebla relativa a los ojos (w-fog).
D3DRS_FOGEND
Profundidad a la que terminan los efectos de niebla de píxeles o vértices para el modo de niebla lineal. El valor predeterminado es 1.0f. La profundidad se especifica en el espacio mundial para niebla de vértices y espacio de dispositivo [0,0, 1,0] o espacio mundial para niebla de píxeles. Para la niebla de píxeles, estos valores están en el espacio del dispositivo cuando el sistema usa z para cálculos de niebla y en el espacio mundial cuando el sistema usa niebla relativa a los ojos (w-fog).
D3DRS_FOGDENSITY
Densidad de niebla para niebla de píxeles o vértices utilizada en los modos de niebla exponencial (D3DFOG_EXP y D3DFOG_EXP2). Los valores de densidad válidos van de 0,0 a 1,0.
D3DRS_RANGEFOGENABLE
TRUE para habilitar la niebla de vértices basada en rango. El valor predeterminado es FALSE, en cuyo caso el sistema usa niebla basada en profundidad. En la 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) de la escena. En niebla basada en rango, todos los métodos de niebla funcionan como de costumbre, salvo que utilizan rango en lugar de profundidad en los cálculos.

El intervalo es el factor correcto que se usa para los cálculos de niebla, pero la profundidad se suele usar en su lugar porque el intervalo consume mucho tiempo para calcular y la profundidad ya está disponible con carácter general. El uso de la profundidad para calcular la niebla tiene el efecto no deseado de tener la niebla de los objetos periféricos cambia a medida que se mueve el ojo del visor - en este caso, los cambios de profundidad y el rango permanece constante.

Dado que actualmente ningún hardware admite niebla basada en intervalos de píxeles, la corrección del rango se ofrece solo para niebla de vértices.
D3DRS_STENCILENABLE
TRUE para habilitar la galería de símbolos o FALSE para deshabilitar la galería de símbolos. El valor predeterminado es FALSE.
D3DRS_STENCILFAIL
Tipo de enumeración D3DSTENCILOP que especifica la operación de galería de símbolos que se va a realizar si se produce un error en la prueba de galería de símbolos. El valor predeterminado es D3DSTENCILOP_KEEP.
D3DRS_STENCILZFAIL
Un D3DSTENCILOP tipo de enumeración que especifica la operación de galería de símbolos que se va a realizar si se supera la prueba de galería de símbolos y se produce un error en la prueba de profundidad (z-test).
D3DRS_STENCILPASS
Un D3DSTENCILOP tipo de enumeración que especifica la operación de galería de símbolos que se va a realizar si se superan las pruebas de galería de símbolos y profundidad (z).
D3DRS_STENCILFUNC
La función de comparación se usa para comparar el valor de referencia con una entrada de búfer de galería de símbolos. Esta comparación solo se aplica a los bits del valor de referencia y la entrada del búfer de galería de símbolos que se establecen en la máscara de galería de símbolos (establecida por el estado de representación D3DRS_STENCILMASK). Si es TRUE, se supera la prueba de galería de símbolos.
D3DRS_STENCILREF
Valor de referencia int para la prueba de galería de símbolos. El valor predeterminado es 0.
D3DRS_STENCILMASK
Máscara aplicada al valor de referencia y a cada entrada del búfer de galería de símbolos para determinar los bits significativos de la prueba de galería de símbolos. La máscara predeterminada es 0xFFFFFFFF.
D3DRS_STENCILWRITEMASK
Escriba máscara aplicada a los valores escritos en el búfer de galería de símbolos. La máscara predeterminada es 0xFFFFFFFF.
D3DRS_TEXTUREFACTOR
Color usado para la combinación de varias texturas con el argumento de combinación de texturas D3DTA_TFACTOR o la operación de combinación de texturas D3DTOP_BLENDFACTORALPHA.
D3DRS_WRAP0
Comportamiento de ajuste de textura para varios conjuntos de coordenadas de textura. Los valores válidos para este estado de representación pueden ser cualquier combinación de la D3DWRAPCOORD_0 (o D3DWRAP_U), D3DWRAPCOORD_1 (o D3DWRAP_V), D3DWRAPCOORD_2 (o D3DWRAP_W) y marcas de D3DWRAPCOORD_3. Esto hace que el sistema se ajuste en la dirección de las dimensiones primera, segunda, tercera y cuarta, a veces denominadas direcciones s, t, r y q, para una textura determinada. El valor predeterminado de este estado de representación es 0 (ajuste deshabilitado en todas las direcciones).
D3DRS_WRAP1
Consulte D3DRS_WRAP0.
D3DRS_WRAP2
Consulte D3DRS_WRAP0.
D3DRS_WRAP3
Consulte D3DRS_WRAP0.
D3DRS_WRAP4
Consulte D3DRS_WRAP0.
D3DRS_WRAP5
Consulte D3DRS_WRAP0.
D3DRS_WRAP6
Consulte D3DRS_WRAP0.
D3DRS_WRAP7
Consulte D3DRS_WRAP0.
D3DRS_CLIPPING
TRUE para habilitar el recorte primitivo mediante Direct3D o FALSE para deshabilitarlo. El valor predeterminado es TRUE.
D3DRS_LIGHTING
TRUE para habilitar la iluminación de Direct3D o FALSE para deshabilitarla. El valor predeterminado es TRUE. Solo los vértices que incluyen un vértice normal se iluminan correctamente; los vértices que no contienen un valor normal emplean un producto de punto de 0 en todos los cálculos de iluminación.
D3DRS_AMBIENT
Color claro ambiente.
D3DRS_FOGVERTEXMODE
Fórmula de niebla que se va a utilizar para niebla de vértices.
D3DRS_COLORVERTEX
TRUE para habilitar el color por vértice o FALSE para deshabilitarlo. El valor predeterminado es TRUE. Habilitar el color por vértice permite al sistema incluir el color definido para vértices individuales en sus cálculos de iluminación.
D3DRS_LOCALVIEWER
TRUE para habilitar los resaltados especulares relativos a la cámara o FALSE para usar resaltados especulares ortogonales. El valor predeterminado es TRUE. Las aplicaciones que usan proyección ortogonal deben especificar FALSE.
D3DRS_NORMALIZENORMALS
TRUE para habilitar la normalización automática de los normales de vértice o FALSE para deshabilitarla. El valor predeterminado es FALSE. La habilitación de esta característica hace que el sistema normalice los valores normales de vértices después de transformarlos en el espacio de la cámara, lo que puede llevar mucho tiempo de cálculo.
D3DRS_DIFFUSEMATERIALSOURCE
Fuente de color difuso para cálculos de iluminación.
D3DRS_SPECULARMATERIALSOURCE
Fuente de color especular para cálculos de iluminación.
D3DRS_AMBIENTMATERIALSOURCE
Origen de color ambiente para cálculos de iluminación.
D3DRS_EMISSIVEMATERIALSOURCE
Origen de color emisivo para cálculos de iluminación.
D3DRS_VERTEXBLEND
Número de matrices que se van a usar para realizar la combinación de geometría, si existe.
D3DRS_CLIPPLANEENABLE
Habilita o deshabilita los planos de recorte definidos por el usuario. Los valores válidos son cualquier DWORD en el que el estado de cada bit (establecido o no establecido) alterna el estado de activación de un plano de recorte definido por el usuario correspondiente. El bit menos significativo (bit 0) controla el primer plano de recorte en el índice 0 y los bits posteriores controlan la activación de planos de recorte en índices superiores. Si se establece un bit, el sistema aplica el plano de recorte adecuado durante la representación de la escena. El valor predeterminado es 0.
D3DRS_POINTSIZE
Valor float que especifica el tamaño que se va a usar para el cálculo de tamaño de punto en los casos en los que no se especifica el tamaño de punto para cada vértice. Este valor no se usa cuando el vértice contiene el tamaño de punto. Este valor está en unidades de espacio en pantalla si D3DRS_POINTSCALEENABLE es FALSE; de lo contrario, este valor está en unidades espaciales del mundo. El valor predeterminado es el valor que devuelve un controlador. Si un controlador devuelve 0 o 1, el valor predeterminado es 64, lo que permite la emulación de tamaño de punto de software.
D3DRS_POINTSIZE_MIN
Valor float que especifica el tamaño mínimo de los primitivos de punto. Los primitivos de punto se sujetan a este tamaño durante la representación. Si se establece en valores menores de 1,0, se quitan puntos cuando el punto no cubre un centro de píxeles y el suavizado de contorno está deshabilitado o se representa con una intensidad reducida cuando se habilita el suavizado de contorno. El valor predeterminado es 1.0f. El intervalo de este valor es mayor o igual que 0,0f.
D3DRS_POINTSPRITEENABLE
Cuando es TRUE, se establecen coordenadas de textura de primitivos de punto para que las texturas completas se asignen en cada punto. Cuando es FALSE, las coordenadas de textura de vértices se usan para todo el punto. El valor predeterminado es FALSE. Puede lograr puntos de un solo píxel de estilo directX 7 estableciendo D3DRS_POINTSCALEENABLE en FALSE y D3DRS_POINTSIZE en 1,0, que son los valores predeterminados.
D3DRS_POINTSCALEENABLE
Valor bool que controla el cálculo del tamaño de los primitivos de punto. Cuando es TRUE, el tamaño del punto se interpreta como un valor de espacio de cámara y se escala mediante la función de distancia y el frustum para ver el escalado del eje y para calcular el tamaño final del punto de espacio de pantalla. Cuando es FALSE, el tamaño del punto se interpreta como espacio de pantalla y se usa directamente. El valor predeterminado es FALSE.
D3DRS_POINTSCALE_A
Valor float que controla la atenuación de tamaño basado en distancia para primitivos de punto. Solo está activo cuando D3DRS_POINTSCALEENABLE es TRUE. El valor predeterminado es 1.0f. El intervalo de este valor es mayor o igual que 0,0f.
D3DRS_POINTSCALE_B
Valor float que controla la atenuación de tamaño basado en distancia para primitivos de punto. Solo está activo cuando D3DRS_POINTSCALEENABLE es TRUE. El valor predeterminado es 0,0f. El intervalo de este valor es mayor o igual que 0,0f.
D3DRS_POINTSCALE_C
Valor float que controla la atenuación de tamaño basado en distancia para primitivos de punto. Solo está activo cuando D3DRS_POINTSCALEENABLE es TRUE. El valor predeterminado es 0,0f. El intervalo de este valor es mayor o igual que 0,0f.
D3DRS_MULTISAMPLEANTIALIAS
Valor bool que determina cómo se calculan las muestras individuales cuando se usa un búfer de destino de representación de varios ejemplos. Cuando se establece en TRUE, se calculan varias muestras para que el suavizado de contorno de escena completa se realice mediante el muestreo en diferentes posiciones de ejemplo para cada muestra múltiple. Cuando se establece en FALSE, todos los ejemplos se escriben con el mismo valor de muestra, muestreado en el centro de píxeles, lo que permite la representación sin suavizado en un búfer de varios ejemplos. Este estado de representación no tiene ningún efecto al representar en un único búfer de ejemplo. El valor predeterminado es TRUE.
D3DRS_MULTISAMPLEMASK
Cada bit de esta máscara, empezando por el bit menos significativo (LSB), controla la modificación de uno de los ejemplos en un destino de representación de varios ejemplos. Por lo tanto, para un destino de representación de 8 muestras, el byte bajo contiene las ocho escrituras habilitadas para cada una de las ocho muestras. Este estado de representación no tiene ningún efecto al representar en un único búfer de ejemplo. El valor predeterminado es 0xFFFFFFFF.

Este estado de representación permite el uso de un búfer de varias muestras como un búfer de acumulación, haciendo una representación multipaso de geometría donde cada paso actualiza un subconjunto de muestras.
Si hay n muestras multimuestras y k habilitadas, la intensidad resultante de la imagen representada debe ser k/n. Cada componente RGB de cada píxel está factorizado por k/n.
D3DRS_PATCHEDGESTYLE
Establece si los bordes de revisión usarán teselación de estilo float.
D3DRS_DEBUGMONITORTOKEN
Establezca solo para depurar el monitor.
D3DRS_POINTSIZE_MAX
Valor float que especifica el tamaño máximo al que se sujetarán los sprites de punto. El valor debe ser menor o igual que el miembro MaxPointSize de D3DCAPS9 y mayor o igual que D3DRS_POINTSIZE_MIN. El valor predeterminado es 64.0.
D3DRS_INDEXEDVERTEXBLENDENABLE
Valor bool que habilita o deshabilita la mezcla de vértices indizado. El valor predeterminado es FALSE. Cuando se establece en TRUE, la mezcla de vértices indizada está habilitada. Cuando se establece en FALSE, la mezcla de vértices indizada está deshabilitada. Si este estado de representación está habilitado, el usuario debe pasar índices de matriz como UN DWORD empaquetado con cada vértice. Cuando el estado de representación está deshabilitado y la mezcla de vértices se habilita a través del estado D3DRS_VERTEXBLEND, equivale a tener índices de matriz 0, 1, 2, 3 en cada vértice.
D3DRS_COLORWRITEENABLE
Valor UINT que habilita una escritura por canal para el búfer de color de destino de representación. Un bit establecido da como resultado que el canal de color se actualice durante la representación 3D. Un bit claro da como resultado que el canal de color no se vea afectado.
D3DRS_TWEENFACTOR
Valor float que controla el factor de interpolación.
D3DRS_BLENDOP
Valor usado para seleccionar la operación aritmética aplicada cuando el estado de representación de combinación alfa, D3DRS_ALPHABLENDENABLE, se establece en TRUE.

Si no se admite la funcionalidad del dispositivo D3DPMISCCAPS_BLENDOP, se realiza D3DBLENDOP_ADD.
D3DRS_POSITIONDEGREE
Grado de interpolación de posición de N revisiones. Los valores pueden ser D3DDEGREE_CUBIC (valor predeterminado) o D3DDEGREE_LINEAR.
D3DRS_NORMALDEGREE
Grado de interpolación normal de N revisiones. Los valores pueden ser D3DDEGREE_LINEAR (valor predeterminado) o D3DDEGREE_QUADRATIC.
D3DRS_SCISSORTESTENABLE
TRUE para habilitar las pruebas de tijeras y FALSE para deshabilitarla. El valor predeterminado es FALSE.
D3DRS_SLOPESCALEDEPTHBIAS
Se usa para determinar la cantidad de sesgo que se puede aplicar a los primitivos co-planar para reducir la lucha z. El valor predeterminado es 0.
D3DRS_ANTIALIASEDLINEENABLE
TRUE para habilitar el suavizado de suavizado de líneas, FALSE para deshabilitar el suavizado de contornos de línea. El valor predeterminado es FALSE.
D3DRS_MINTESSELLATIONLEVEL
Nivel mínimo de teselación. El valor predeterminado es 1.0f.
D3DRS_MAXTESSELLATIONLEVEL
Nivel máximo de teselación. El valor predeterminado es 1.0f.
D3DRS_ADAPTIVETESS_X
Cantidad de teselado adaptable, en la dirección x. El valor predeterminado es 0,0f.
D3DRS_ADAPTIVETESS_Y
Cantidad de teselado adaptable, en la dirección y. El valor predeterminado es 0,0f.
D3DRS_ADAPTIVETESS_Z
Cantidad de teselado adaptable, en la dirección z. El valor predeterminado es 1.0f.
D3DRS_ADAPTIVETESS_W
Cantidad de teselado adaptable, en la dirección w. El valor predeterminado es 0,0f.
D3DRS_ENABLEADAPTIVETESSELLATION
TRUE para habilitar la teselación adaptable, FALSE para deshabilitarla.
D3DRS_TWOSIDEDSTENCILMODE
TRUE habilita la galería de símbolos de dos lados, FALSE la deshabilita. El valor predeterminado es FALSE. La aplicación debe establecer D3DRS_CULLMODE en D3DCULL_NONE para habilitar el modo de galería de símbolos de dos caras. Si el orden de desplazamiento del triángulo es en el sentido de las agujas del reloj, se usarán las operaciones D3DRS_STENCIL*. Si el orden de desvanado está en sentido contrario a las agujas del reloj, se usarán las operaciones D3DRS_CCW_STENCIL*.
D3DRS_CCW_STENCILFAIL
Operación de galería de símbolos que se va a realizar si se produce un error en la prueba de galería de símbolos CCW.
D3DRS_CCW_STENCILZFAIL
Operación de galería de símbolos para realizar si se supera la prueba de galería de símbolos CCW y se produce un error en z-test.
D3DRS_CCW_STENCILPASS
Operación de galería de símbolos que se va a realizar si se superan las galerías de símbolos CCW y z-tests.
D3DRS_CCW_STENCILFUNC
Función de comparación. La prueba de galería de símbolos ccW supera si ((ref & mask) función de galería de símbolos (galería de símbolos & máscara)) es TRUE.
D3DRS_COLORWRITEENABLE1
Valores adicionales de ColorWriteEnable para los dispositivos.
D3DRS_COLORWRITEENABLE2
Valores adicionales de ColorWriteEnable para los dispositivos.
D3DRS_COLORWRITEENABLE3
Valores adicionales de ColorWriteEnable para los dispositivos.
D3DRS_BLENDFACTOR
Un factor de mezcla constante durante la combinación alfa.
D3DRS_SRGBWRITEENABLE
Habilite las escrituras de destino de representación para corregir gamma en sRGB. El formato debe exponer D3DUSAGE_SRGBWRITE. El valor predeterminado es 0.
D3DRS_DEPTHBIAS
Valor de punto flotante que se usa para la comparación de valores de profundidad.
D3DRS_WRAP8
Consulte D3DRS_WRAP0.
D3DRS_WRAP9
Consulte D3DRS_WRAP0.
D3DRS_WRAP10
Consulte D3DRS_WRAP0.
D3DRS_WRAP11
Consulte D3DRS_WRAP0.
D3DRS_WRAP12
Consulte D3DRS_WRAP0.
D3DRS_WRAP13
Consulte D3DRS_WRAP0.
D3DRS_WRAP14
Consulte D3DRS_WRAP0.
D3DRS_WRAP15
Consulte D3DRS_WRAP0.
D3DRS_SEPARATEALPHABLENDENABLE
TRUE habilita el modo de mezcla independiente para el canal alfa. El valor predeterminado es FALSE.

Cuando se establece en FALSE, los factores de combinación de destino de representación y las operaciones aplicadas a alpha se ven obligados a ser los mismos que los definidos para el color. Este modo se puede conectar de forma eficaz a FALSE en implementaciones que no establecen el límite D3DPMISCCAPS_SEPARATEALPHABLEND.
D3DRS_SRCBLENDALPHA
Este valor se omite a menos que D3DRS_SEPARATEALPHABLENDENABLE sea TRUE.
D3DRS_DESTBLENDALPHA
Este valor se omite a menos que D3DRS_SEPARATEALPHABLENDENABLE sea TRUE.
D3DRS_BLENDOPALPHA
Valor usado para seleccionar la operación aritmética aplicada a la combinación alfa independiente cuando el estado de representación, D3DRS_SEPARATEALPHABLENDENABLE, se establece en TRUE.
D3DRS_FORCE_DWORD
Obliga a esta enumeración a compilar a 32 bits de tamaño. Sin este valor, algunos compiladores permitirían que esta enumeración se compile en un tamaño distinto de 32 bits. Este valor no se utiliza.

Comentarios

Estos estados de representación son solo para uso interno:

D3DRENDERSTATE_EVICTMANAGEDTEXTURES

Determina si las texturas se expulsan de la memoria. El controlador usa un tipo de datos BOOL sin un valor predeterminado para detectar si se va a expulsar.

Este estado de representación determina si el controlador expulsa las texturas que administra (en lugar de las texturas administradas por el tiempo de ejecución de Direct3D) de la memoria de vídeo. Si el valor del estado de representación es TRUE, el controlador expulsa las texturas. De lo contrario, el controlador no expulsa esas texturas.

D3DRENDERSTATE_SCENECAPTURE

Especifica la información de la escena inicial o la información de la escena final para los datos geométricos capturados dentro de un marco. El controlador usa un tipo de datos BOOL con un valor predeterminado de TRUE para detectar información de captura de escena.

El controlador responde a D3DRENDERSTATE_SCENECAPTURE primero con TRUE para comenzar la información de la escena y, a continuación, con FALSE para que la información de la escena final capture datos geométricos dentro de un marco. Consulte el controlador de ejemplo permedia2 que se incluye con el Kit de desarrollo de controladores de Windows (DDK) para obtener una implementación de ejemplo. El uso del estado de representación de D3DRENDERSTATE_SCENECAPTURE en una llamada D3dDrawPrimitives2 reemplaza a la rutina de devolución de llamada D3DHALCallbacks-D3dSceneCapture> heredada.

Se debe tener cuidado al actualizar un controlador que implemente la rutina de devolución de llamada D3DHALCallbacks-D3dSceneCapture> heredada a una mediante el estado de representación de D3DRENDERSTATE_SCENECAPTURE. La rutina de devolución de llamada D3dSceneCapture usa las constantes D3DHAL_SCENE_CAPTURE_START y D3DHAL_SCENE_CAPTURE_END para indicar, respectivamente, el principio y el final de una escena. Los valores de estas constantes son, respectivamente, 0 y 1. Si usa estas constantes en lugar de TRUE y FALSE en este estado de representación, el significado será el opuesto exacto de lo que pretende.

D3DRS_DELETERTPATCH

DirectX 8.0 y versiones posteriores solo.

Elimina una revisión rectangular o triangular de la memoria. El controlador usa un tipo de datos DWORD sin un valor predeterminado para detectar la revisión que se va a eliminar.

Este estado de representación notifica al controlador que se va a eliminar una revisión. El valor de este estado de representación es el identificador de la revisión afectada. Toda la información almacenada en caché debe liberarse y el identificador debe quitarse de la tabla de identificadores de revisión del controlador. Este estado de representación no es visible para las aplicaciones, pero se genera internamente cuando una aplicación llama a la función DeletePatch . Este estado de representación se envía al controlador solo cuando DeletePatch elimina las revisiones explícitamente. Todas las demás revisiones deben limpiarse cuando se destruye el dispositivo.

D3DRS_MAXPIXELSHADERINST

DirectX 9.0 y versiones posteriores solo.

Determina el número máximo de instrucciones que el ensamblador de sombreador de píxeles puede ejecutar.

El controlador usa un tipo de datos DWORD con un valor predeterminado de D3DINFINITEINSTRUCTIONS (0xffffffff) para notificar el número máximo de instrucciones del sombreador de píxeles. Este número máximo depende de la versión del sombreador de píxeles que admite el dispositivo de visualización, como se muestra en la tabla siguiente.

Versión número máximo
anterior a 2_0 0
2_0 De 96 a D3DINFINITEINSTRUCTIONS
3_0 y versiones posteriores De 2¹⁶ (0x0000ffff) a D3DINFINITEINSTRUCTIONS

D3DINFINITEINSTRUCTIONS representa una cantidad prácticamente ilimitada.

Los valores válidos para este estado de representación son números que son potencias de 2; si el controlador establece cualquier otro entero, el tiempo de ejecución usa la siguiente potencia más cercana de 2 números.

El runtime establece el miembro MaxVShaderInstructionsExecuted de la estructura D3DCAPS9 en este número máximo.

D3DRS_MAXVERTEXSHADERINST

DirectX 9.0 y versiones posteriores solo.

Determina el número máximo de instrucciones que el ensamblador de sombreador de vértices puede ejecutar.

El controlador usa un tipo de datos DWORD con un valor predeterminado de D3DINFINITEINSTRUCTIONS (0xffffffff) para informar del número máximo de instrucciones del sombreador de vértices. Este número máximo depende de la versión del sombreador de vértices que admite el dispositivo de visualización, como se muestra en la tabla siguiente.

Versión número máximo
anterior a 2_0 0
2_0 y versiones posteriores De 2¹⁶ (0x0000ffff) a D3DINFINITEINSTRUCTIONS

D3DINFINITEINSTRUCTIONS representa una cantidad prácticamente ilimitada.

Los valores válidos para este estado de representación son números que son potencias de 2; si el controlador establece cualquier otro entero, el tiempo de ejecución usa la siguiente potencia más cercana de 2 números.

El runtime establece el miembro MaxVShaderInstructionsExecuted de la estructura D3DCAPS9 en este número máximo.

El controlador usa estos estados de representación cuando realiza la representación de gráficos. Solo los estados de representación específicos de los controladores se incluyen en la documentación del Kit de controladores de Windows (WDK). Los estados de representación accesibles para las aplicaciones de DirectX se incluyen en la documentación del SDK de DirectX. Estos estados de representación de nivel de aplicación incluyen estas características como si la combinación alfa está habilitada, si está habilitada la dithering, si se usa la iluminación direct3D y el tipo de sombreado que se va a usar.

Para actualizar un estado de representación determinado, Direct3D almacena información sobre el estado de representación y, a continuación, llama a la rutina de devolución de llamada D3dDrawPrimitives2 del controlador. La información proporcionada al controlador permite:

  • Determine que debe actualizar uno o varios estados de representación.

  • Identifique qué estados de representación se van a actualizar y cuáles deben ser los nuevos valores de estado de representación.

Tenga en cuenta que, para que se respeten determinados estados de representación, el controlador debe haber establecido previamente marcas de funcionalidad en el miembro pertinente de la estructura D3DPRIMCAPS.

Para indicar una actualización de estado de representación específica, Direct3D inserta una estructura de D3DHAL_DP2COMMAND en el búfer de comandos, estableciendo el miembro bCommand de esta estructura en D3DDP2OP_RENDERSTATE (vea la descripción de D3DDP2OP_RENDERSTATE en D3DHAL_DP2OPERATION) y establece el miembro wStateCount de la misma estructura en el número de estados de representación que se van a actualizar.

Inmediatamente después de la estructura de D3DHAL_DP2COMMAND , Direct3D inserta una estructura D3DHAL_DP2RENDERSTATE en el búfer de comandos para cada estado de representación que se va a actualizar. El miembro RenderState de esta estructura identifica el estado de representación que se va a cambiar; El nuevo valor de este estado de representación se especifica en el miembro dwState (para los valores DWORD) o en el miembro fState (para D3DVALUE valores).

En la ilustración siguiente se muestra una parte del búfer de comandos que contiene un comando D3DDP2OP_RENDERSTATE y dos estructuras D3DHAL_DP2RENDERSTATE. La primera de las tres estructuras indica que se van a actualizar dos estados de representación. La segunda estructura indica que el estado de representación D3DRENDERSTATE_FILLMODE se va a cambiar a D3DFILL_SOLID. La tercera estructura indica que el estado de representación D3DRENDERSTATE_SHADEMODE debe actualizarse a D3DSHADE_GOURAUD.

Figura que muestra un búfer de comandos con un comando D3DDP2OP_RENDERSTATE y dos estructuras de D3DHAL_DP2RENDERSTATE

Notas adicionales

Consulte la D3DTEXTURESTAGESTATETYPE, D3DTEXTUREOP y D3DTEXTUREFILTER tipos enumerados en la documentación del SDK de DirectX para obtener listas completas de todos los tipos de estado de representación habilitados.

Se han realizado algunos cambios en el D3DRENDERSTATETYPE tipo enumerado para DirectX 5.0 y versiones posteriores. D3DRENDERSTATE_BLENDENABLE se ha quitado completamente aunque se define como D3DRENDERSTATE_ALPHABLENDENABLE en el archivo de encabezado d3dtypes.h . Consulte D3DRENDERSTATE_COLORKEYENABLE para obtener una explicación. Los 128 valores enteros del intervalo [128, 255] están reservados para las marcas de ajuste de coordenadas de textura. Se construyen con las macros D3DWRAP_U y D3DWRAP_V. El uso de una palabra flags conserva la compatibilidad directa con las coordenadas de textura de una dimensión superior a la 2D.

Las operaciones de macro multitexture y D3DRENDERSTATE_TEXTUREFACTOR invalidan todos los controles de combinación por fase de textura (COLOR{OP,ARG1,ARG2} & ALPHA{OP,ARG1,ARG2}).

Requisitos

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