Partager via


énumération D3DRENDERSTATETYPE (d3d9types.h)

Le D3DRENDERSTATETYPE type énuméré répertorie divers attributs ou états de rendu. Les énumérateurs de D3DRENDERSTATETYPE utilisés exclusivement par les pilotes peuvent spécifier des informations de rendu ou un attribut de texture. Les états de rendu suivants sont utilisés par les pilotes d’affichage :

Syntaxe

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
Type d’énumération D3DZBUFFERTYPE qui représente l’état de mise en mémoire tampon de profondeur.
D3DRS_FILLMODE
Type d’énumération D3DFILLMODE.
D3DRS_SHADEMODE
Type d’énumération D3DSHADEMODE.
D3DRS_ZWRITEENABLE
TRUE pour permettre à l’application d’écrire dans la mémoire tampon de profondeur. La valeur par défaut est TRUE. Ce membre permet à une application d’empêcher le système de mettre à jour la mémoire tampon de profondeur avec de nouvelles valeurs de profondeur. Si la valeur EST FALSE, les comparaisons de profondeur sont toujours effectuées en fonction de l’état de rendu D3DRS_ZFUNC, en supposant que la mise en mémoire tampon de profondeur est effectuée, mais que les valeurs de profondeur ne sont pas écrites dans la mémoire tampon.
D3DRS_ALPHATESTENABLE
TRUE pour activer les tests alpha par pixel. Si le test réussit, le pixel est traité par la mémoire tampon d’images. Sinon, tout le traitement de la mémoire tampon d’images est ignoré pour le pixel.
D3DRS_LASTPIXEL
La valeur par défaut est TRUE, qui active le dessin du dernier pixel d’une ligne. Pour empêcher le dessin du dernier pixel, définissez cette valeur sur FALSE.
D3DRS_SRCBLEND
Type d’énumération D3DBLEND.
D3DRS_DESTBLEND
Type d’énumération D3DBLEND.
D3DRS_CULLMODE
Type d’énumération D3DCULL qui spécifie la façon dont les triangles back-face sont abattus, le cas échéant.
D3DRS_ZFUNC
Type d’énumération D3DCMPFUNC qui permet à une application d’accepter ou de rejeter un pixel, en fonction de sa distance par rapport à la caméra.

La valeur de profondeur du pixel est comparée à la valeur de la mémoire tampon de profondeur. Si la valeur de profondeur du pixel passe la fonction de comparaison, le pixel est écrit.

La valeur de profondeur est écrite dans la mémoire tampon de profondeur uniquement si l’état de rendu est TRUE.
D3DRS_ALPHAREF
Valeur qui spécifie une valeur alpha de référence par rapport à laquelle les pixels sont testés lorsque le test alpha est activé. Il s’agit d’une valeur 8 bits placée dans les 8 bits inférieurs de la valeur d’état de rendu DWORD. Les valeurs peuvent aller de 0x00000000 à 0x000000FF. La valeur par défaut est 0.
D3DRS_ALPHAFUNC
Type d’énumération D3DCMPFUNC qui permet à une application d’accepter ou de rejeter un pixel, en fonction de sa valeur alpha.
D3DRS_DITHERENABLE
TRUE pour activer la trame. La valeur par défaut est FALSE.
D3DRS_ALPHABLENDENABLE
TRUE pour activer la transparence alpha-mélangée. La valeur par défaut est FALSE.

Le type de fusion alpha est déterminé par les états de rendu D3DRS_SRCBLEND et D3DRS_DESTBLEND.
D3DRS_FOGENABLE
TRUE pour activer le mélange de brouillard. La valeur par défaut est FALSE.
D3DRS_SPECULARENABLE
TRUE pour activer les surbrillances spéculaires. La valeur par défaut est FALSE.
Les surbrillances spéculaires sont calculées comme si chaque sommet de l’objet en cours de lecture se trouve à l’origine de l’objet. Cela donne les résultats attendus tant que l’objet est modélisé autour de l’origine et que la distance entre la lumière et l’objet est relativement grande. Dans d’autres cas, les résultats ne sont pas définis.

Lorsque ce membre a la valeur TRUE, la couleur spéculaire est ajoutée à la couleur de base après la cascade de texture, mais avant la fusion alpha.
D3DRS_FOGCOLOR
Structure D3DCOLORVALUE.
D3DRS_FOGTABLEMODE
Type énuméré D3DFOGMODE qui représente une formule de brouillard à utiliser pour le brouillard de pixels.
D3DRS_FOGSTART
Profondeur à laquelle les effets de brouillard de pixel ou de vertex commencent pour le mode de brouillard linéaire. La valeur par défaut est 0.0f. La profondeur est spécifiée dans l’espace mondial pour le brouillard de vertex et l’espace d’appareil [0,0, 1,0] ou l’espace mondial pour le brouillard de pixels. Pour le brouillard de pixels, ces valeurs sont dans l’espace d’appareil lorsque le système utilise z pour les calculs de brouillard et l’espace mondial lorsque le système utilise le brouillard relatif à l’œil (w-fog).
D3DRS_FOGEND
Profondeur à laquelle les effets de brouillard de pixel ou de vertex se terminent par le mode de brouillard linéaire. La valeur par défaut est 1.0f. La profondeur est spécifiée dans l’espace mondial pour le brouillard de vertex et l’espace d’appareil [0,0, 1,0] ou l’espace mondial pour le brouillard de pixels. Pour le brouillard de pixels, ces valeurs sont dans l’espace d’appareil lorsque le système utilise z pour les calculs de brouillard et dans l’espace mondial lorsque le système utilise le brouillard relatif à l’œil (w-fog).
D3DRS_FOGDENSITY
Densité de brouillard pour le brouillard de pixel ou de vertex utilisé dans les modes de brouillard exponentiel (D3DFOG_EXP et D3DFOG_EXP2). Les valeurs de densité valides sont comprises entre 0,0 et 1.0.
D3DRS_RANGEFOGENABLE
TRUE pour activer le brouillard de vertex basé sur une plage. La valeur par défaut est FALSE, auquel cas le système utilise le brouillard basé sur la profondeur. Dans le brouillard basé sur une plage, la distance d’un objet de la visionneuse est utilisée pour calculer les effets de brouillard, et non la profondeur de l’objet (autrement dit, la coordonnée z) dans la scène. Dans le brouillard basé sur la plage, toutes les méthodes de brouillard fonctionnent comme d’habitude, sauf qu’elles utilisent la plage au lieu de profondeur dans les calculs.

La plage est le facteur approprié à utiliser pour les calculs de brouillard, mais la profondeur est couramment utilisée à la place, car la plage prend du temps pour calculer et la profondeur est généralement déjà disponible. L’utilisation de la profondeur pour calculer le brouillard a l’effet indésirable d’avoir la fesse des objets périphériques changer à mesure que l’œil de la visionneuse se déplace - dans ce cas, la profondeur change et la plage reste constante.

Étant donné qu’aucun matériel ne prend actuellement en charge le brouillard basé sur une plage de pixels, la correction de plage est proposée uniquement pour le brouillard de vertex.
D3DRS_STENCILENABLE
TRUE pour activer la stnciling, ou FALSE pour désactiver la sténonciling. La valeur par défaut est FALSE.
D3DRS_STENCILFAIL
Type d’énumération D3DSTENCILOP qui spécifie l’opération de gabarit à effectuer si le test de gabarit échoue. La valeur par défaut est D3DSTENCILOP_KEEP.
D3DRS_STENCILZFAIL
Type d’énumération D3DSTENCILOP qui spécifie l’opération de gabarit à effectuer si le test de gabarit réussit et que le test de profondeur (z-test) échoue.
D3DRS_STENCILPASS
Type d’énumération D3DSTENCILOP qui spécifie l’opération de gabarit à effectuer si le gabarit et les tests de profondeur (z) réussissent.
D3DRS_STENCILFUNC
La fonction de comparaison est utilisée pour comparer la valeur de référence à une entrée de mémoire tampon de gabarit. Cette comparaison s’applique uniquement aux bits de la valeur de référence et à l’entrée de mémoire tampon de gabarit définies dans le masque de gabarit (définie par l’état de rendu D3DRS_STENCILMASK). Si la valeur est TRUE, le test de gabarit réussit.
D3DRS_STENCILREF
Valeur de référence int pour le test de gabarit. La valeur par défaut est 0.
D3DRS_STENCILMASK
Masque appliqué à la valeur de référence et à chaque entrée de mémoire tampon de gabarit pour déterminer les bits significatifs pour le test de gabarit. Le masque par défaut est 0xFFFFFFFF.
D3DRS_STENCILWRITEMASK
Masque d’écriture appliqué aux valeurs écrites dans la mémoire tampon de gabarit. Le masque par défaut est 0xFFFFFFFF.
D3DRS_TEXTUREFACTOR
Couleur utilisée pour la fusion à plusieurs textures avec l’argument de fusion de textures D3DTA_TFACTOR ou l’opération de fusion de textures D3DTOP_BLENDFACTORALPHA.
D3DRS_WRAP0
Comportement d’habillage de texture pour plusieurs ensembles de coordonnées de texture. Les valeurs valides pour cet état de rendu peuvent être n’importe quelle combinaison des D3DWRAPCOORD_0 (ou D3DWRAP_U), des D3DWRAPCOORD_1 (ou des D3DWRAP_V), des D3DWRAPCOORD_2 (ou des D3DWRAP_W) et des indicateurs de D3DWRAPCOORD_3. Le système est alors encapsulé dans la direction des premières dimensions, deuxième, troisième et quatrième, parfois appelées directions s, t, r et q, pour une texture donnée. La valeur par défaut de cet état de rendu est 0 (l’habillage est désactivé dans toutes les directions).
D3DRS_WRAP1
Voir D3DRS_WRAP0.
D3DRS_WRAP2
Voir D3DRS_WRAP0.
D3DRS_WRAP3
Voir D3DRS_WRAP0.
D3DRS_WRAP4
Voir D3DRS_WRAP0.
D3DRS_WRAP5
Voir D3DRS_WRAP0.
D3DRS_WRAP6
Voir D3DRS_WRAP0.
D3DRS_WRAP7
Voir D3DRS_WRAP0.
D3DRS_CLIPPING
TRUE pour activer la capture primitive par Direct3D ou FALSE pour la désactiver. La valeur par défaut est TRUE.
D3DRS_LIGHTING
TRUE pour activer l’éclairage Direct3D ou FALSE pour le désactiver. La valeur par défaut est TRUE. Seuls les sommets qui incluent une normale de vertex sont correctement allumés ; les sommets qui ne contiennent pas de produit normal utilisent un produit à points de 0 dans tous les calculs d’éclairage.
D3DRS_AMBIENT
Couleur de lumière ambiante.
D3DRS_FOGVERTEXMODE
Formule de brouillard à utiliser pour le brouillard de vertex.
D3DRS_COLORVERTEX
TRUE pour activer la couleur par vertex ou FALSE pour la désactiver. La valeur par défaut est TRUE. L’activation de la couleur par vertex permet au système d’inclure la couleur définie pour les sommets individuels dans ses calculs d’éclairage.
D3DRS_LOCALVIEWER
TRUE pour activer les surbrillances spéculaires relatives à l’appareil photo ou FALSE pour utiliser des surbrillances spéculaires orthogonales. La valeur par défaut est TRUE. Les applications qui utilisent la projection orthogonale doivent spécifier FALSE.
D3DRS_NORMALIZENORMALS
TRUE pour activer la normalisation automatique des normales de vertex ou FALSE pour la désactiver. La valeur par défaut est FALSE. L’activation de cette fonctionnalité permet au système de normaliser les normales de vertex pour les sommets après les avoir transformées en espace de caméra, ce qui peut prendre du temps de calcul.
D3DRS_DIFFUSEMATERIALSOURCE
Source de couleur diffuse pour les calculs d’éclairage.
D3DRS_SPECULARMATERIALSOURCE
Source de couleur spéculaire pour les calculs d’éclairage.
D3DRS_AMBIENTMATERIALSOURCE
Source de couleur ambiante pour les calculs d’éclairage.
D3DRS_EMISSIVEMATERIALSOURCE
Source de couleur Emissive pour les calculs d’éclairage.
D3DRS_VERTEXBLEND
Nombre de matrices à utiliser pour effectuer un mélange géométrique, le cas échéant.
D3DRS_CLIPPLANEENABLE
Active ou désactive les plans de découpage définis par l’utilisateur. Les valeurs valides sont toutes les valeurs DWORD dans lesquelles l’état de chaque bit (défini ou non défini) bascule l’état d’activation d’un plan de découpage défini par l’utilisateur correspondant. Le bit le moins significatif (bit 0) contrôle le premier plan de découpage à l’index 0, et les bits suivants contrôlent l’activation des plans de découpage à des index supérieurs. Si un bit est défini, le système applique le plan de découpage approprié pendant le rendu de la scène. La valeur par défaut est 0.
D3DRS_POINTSIZE
Valeur float qui spécifie la taille à utiliser pour le calcul de taille de point dans les cas où la taille du point n’est pas spécifiée pour chaque vertex. Cette valeur n’est pas utilisée lorsque le vertex contient une taille de point. Cette valeur se trouve dans les unités d’espace d’écran si D3DRS_POINTSCALEENABLE a la valeur FALSE ; sinon, cette valeur se trouve dans des unités spatiales mondiales. La valeur par défaut est la valeur retournée par un pilote. Si un pilote retourne 0 ou 1, la valeur par défaut est 64, ce qui permet l’émulation de taille de point logiciel.
D3DRS_POINTSIZE_MIN
Valeur float qui spécifie la taille minimale des primitives de point. Les primitives de point sont limitées à cette taille pendant le rendu. La définition de cette valeur sur des valeurs inférieures à 1,0 entraîne la suppression de points lorsque le point ne couvre pas un centre de pixels et que l’anticrénelage est désactivé ou rendu avec une intensité réduite lorsque l’anticrénelage est activé. La valeur par défaut est 1.0f. La plage de cette valeur est supérieure ou égale à 0,0f.
D3DRS_POINTSPRITEENABLE
Lorsque la valeur est TRUE, les coordonnées de texture des primitives de point sont définies afin que les textures complètes soient mappées sur chaque point. Lorsque la valeur est FALSE, les coordonnées de texture de vertex sont utilisées pour l’ensemble du point. La valeur par défaut est FALSE. Vous pouvez obtenir des points à pixel unique de style DirectX 7 en définissant D3DRS_POINTSCALEENABLE sur FALSE et D3DRS_POINTSIZE sur 1,0, qui sont les valeurs par défaut.
D3DRS_POINTSCALEENABLE
Valeur bool qui contrôle le calcul de la taille des primitives de point. Lorsque la valeur est TRUE, la taille du point est interprétée comme une valeur d’espace de caméra et est mise à l’échelle par la fonction de distance et le frustum pour afficher la mise à l’échelle de l’axe y de la fenêtre d’affichage pour calculer la taille finale du point d’espace d’écran. Lorsque la valeur est FALSE, la taille du point est interprétée comme espace d’écran et utilisée directement. La valeur par défaut est FALSE.
D3DRS_POINTSCALE_A
Valeur float qui contrôle l’atténuation de taille basée sur la distance pour les primitives de point. Actif uniquement lorsque D3DRS_POINTSCALEENABLE a la valeur TRUE. La valeur par défaut est 1.0f. La plage de cette valeur est supérieure ou égale à 0,0f.
D3DRS_POINTSCALE_B
Valeur float qui contrôle l’atténuation de taille basée sur la distance pour les primitives de point. Actif uniquement lorsque D3DRS_POINTSCALEENABLE a la valeur TRUE. La valeur par défaut est 0.0f. La plage de cette valeur est supérieure ou égale à 0,0f.
D3DRS_POINTSCALE_C
Valeur float qui contrôle l’atténuation de taille basée sur la distance pour les primitives de point. Actif uniquement lorsque D3DRS_POINTSCALEENABLE a la valeur TRUE. La valeur par défaut est 0.0f. La plage de cette valeur est supérieure ou égale à 0,0f.
D3DRS_MULTISAMPLEANTIALIAS
Valeur bool qui détermine la façon dont des échantillons individuels sont calculés lors de l’utilisation d’une mémoire tampon de la cible de rendu multisample. Lorsqu’il est défini sur TRUE, les échantillons multiples sont calculés afin que l’antialiasing de scène complète soit effectuée en effectuant un échantillonnage à différentes positions d’échantillonnage pour chaque échantillon multiple. Lorsqu’il est défini sur FALSE, les plusieurs exemples sont tous écrits avec la même valeur d’exemple, échantillonnés au centre de pixels, ce qui permet un rendu non antialiased dans une mémoire tampon multisample. Cet état de rendu n’a aucun effet lors du rendu dans un seul exemple de mémoire tampon. La valeur par défaut est TRUE.
D3DRS_MULTISAMPLEMASK
Chaque bit de ce masque, en commençant au bit le moins significatif (LSB), contrôle la modification de l’un des exemples dans une cible de rendu multisample. Ainsi, pour une cible de rendu de 8 exemples, le bas octet contient les huit activations d’écriture pour chacun des huit échantillons. Cet état de rendu n’a aucun effet lors du rendu dans un seul exemple de mémoire tampon. La valeur par défaut est 0xFFFFFFFF.

Cet état de rendu permet d’utiliser une mémoire tampon multisample comme mémoire tampon d’accumulation, en effectuant un rendu multipasse de géométrie où chaque passe met à jour un sous-ensemble d’exemples.
S’il existe n échantillons multisamples et k activés, l’intensité résultante de l’image rendue doit être k/n. Chaque composant RVB de chaque pixel est factorisé par k/n.
D3DRS_PATCHEDGESTYLE
Définit si les bords des correctifs utilisent la pavage de style float.
D3DRS_DEBUGMONITORTOKEN
Définissez uniquement pour le débogage du moniteur.
D3DRS_POINTSIZE_MAX
Valeur float qui spécifie la taille maximale jusqu’à laquelle les sprites point seront limités. La valeur doit être inférieure ou égale au membre MaxPointSize de D3DCAPS9 et supérieure ou égale à D3DRS_POINTSIZE_MIN. La valeur par défaut est 64.0.
D3DRS_INDEXEDVERTEXBLENDENABLE
Valeur bool qui active ou désactive le mélange de vertex indexé. La valeur par défaut est FALSE. Lorsqu’il est défini sur TRUE, le mélange de vertex indexé est activé. Lorsque la valeur est FALSE, le mélange de vertex indexé est désactivé. Si cet état de rendu est activé, l’utilisateur doit passer des index de matrice en tant que DWORD packed avec chaque vertex. Lorsque l’état de rendu est désactivé et que le mélange de vertex est activé par le biais de l’état D3DRS_VERTEXBLEND, il équivaut à avoir des index de matrice 0, 1, 2, 3 dans chaque vertex.
D3DRS_COLORWRITEENABLE
Valeur UINT qui active une écriture par canal pour la mémoire tampon de couleur de la cible de rendu. Un bit défini entraîne la mise à jour du canal de couleur pendant le rendu 3D. Un bit clair entraîne l’inaffectation du canal de couleur.
D3DRS_TWEENFACTOR
Valeur float qui contrôle le facteur tween.
D3DRS_BLENDOP
Valeur utilisée pour sélectionner l’opération arithmétique appliquée lorsque l’état de rendu de fusion alpha, D3DRS_ALPHABLENDENABLE, a la valeur TRUE.

Si la fonctionnalité d’appareil D3DPMISCCAPS_BLENDOP n’est pas prise en charge, D3DBLENDOP_ADD est effectuée.
D3DRS_POSITIONDEGREE
Degré d’interpolation de position N-patch. Les valeurs peuvent être D3DDEGREE_CUBIC (par défaut) ou D3DDEGREE_LINEAR.
D3DRS_NORMALDEGREE
Degré d’interpolation normale N-patch. Les valeurs peuvent être D3DDEGREE_LINEAR (par défaut) ou D3DDEGREE_QUADRATIC.
D3DRS_SCISSORTESTENABLE
TRUE pour activer le test de ciseaux et FALSE pour le désactiver. La valeur par défaut est FALSE.
D3DRS_SLOPESCALEDEPTHBIAS
Permet de déterminer la quantité de biais qui peut être appliquée aux primitives co-planaires pour réduire les combats z. La valeur par défaut est 0.
D3DRS_ANTIALIASEDLINEENABLE
TRUE pour activer l’anticrénelage de ligne, FALSE pour désactiver l’anticrénelage de ligne. La valeur par défaut est FALSE.
D3DRS_MINTESSELLATIONLEVEL
Niveau minimal de pavage. La valeur par défaut est 1.0f.
D3DRS_MAXTESSELLATIONLEVEL
Niveau maximal de pavage. La valeur par défaut est 1.0f.
D3DRS_ADAPTIVETESS_X
Quantité de pavage adaptatif, dans la direction x. La valeur par défaut est 0.0f.
D3DRS_ADAPTIVETESS_Y
Quantité de pavage adaptatif, dans la direction y. La valeur par défaut est 0.0f.
D3DRS_ADAPTIVETESS_Z
Quantité de pavage adaptatif, dans la direction z. La valeur par défaut est 1.0f.
D3DRS_ADAPTIVETESS_W
Quantité de pavage adaptatif, dans la direction w. La valeur par défaut est 0.0f.
D3DRS_ENABLEADAPTIVETESSELLATION
TRUE pour activer le pavage adaptatif, FALSE pour le désactiver.
D3DRS_TWOSIDEDSTENCILMODE
TRUE active la stnciling à deux côtés, FALSE la désactive. La valeur par défaut est FALSE. L’application doit définir D3DRS_CULLMODE sur D3DCULL_NONE pour activer le mode gabarit à deux côtés. Si l’ordre d’enroulement du triangle est dans le sens des aiguilles d’une montre, les opérations D3DRS_STENCIL* sont utilisées. Si l’ordre d’enroulement est inverse, les opérations D3DRS_CCW_STENCIL* sont utilisées.
D3DRS_CCW_STENCILFAIL
Opération de gabarit à effectuer si le test de gabarit CCW échoue.
D3DRS_CCW_STENCILZFAIL
Opération de gabarit à effectuer si le test du gabarit CCW réussit et que z-test échoue.
D3DRS_CCW_STENCILPASS
Opération de gabarit à effectuer si le gabarit CCW et les tests z réussissent.
D3DRS_CCW_STENCILFUNC
Fonction de comparaison. Le test de gabarit CCW réussit si ((ref & mask) fonction gabarit (gabarit & mask)) a la valeur TRUE.
D3DRS_COLORWRITEENABLE1
Valeurs ColorWriteEnable supplémentaires pour les appareils.
D3DRS_COLORWRITEENABLE2
Valeurs ColorWriteEnable supplémentaires pour les appareils.
D3DRS_COLORWRITEENABLE3
Valeurs ColorWriteEnable supplémentaires pour les appareils.
D3DRS_BLENDFACTOR
Facteur de fusion constant pendant le mélange alpha.
D3DRS_SRGBWRITEENABLE
Activez les écritures de la cible de rendu à corriger gamma sur sRGB. Le format doit exposer D3DUSAGE_SRGBWRITE. La valeur par défaut est 0.
D3DRS_DEPTHBIAS
Valeur à virgule flottante utilisée pour la comparaison des valeurs de profondeur.
D3DRS_WRAP8
Voir D3DRS_WRAP0.
D3DRS_WRAP9
Voir D3DRS_WRAP0.
D3DRS_WRAP10
Voir D3DRS_WRAP0.
D3DRS_WRAP11
Voir D3DRS_WRAP0.
D3DRS_WRAP12
Voir D3DRS_WRAP0.
D3DRS_WRAP13
Voir D3DRS_WRAP0.
D3DRS_WRAP14
Voir D3DRS_WRAP0.
D3DRS_WRAP15
Voir D3DRS_WRAP0.
D3DRS_SEPARATEALPHABLENDENABLE
TRUE active le mode de fusion distinct pour le canal alpha. La valeur par défaut est FALSE.

Lorsque la valeur est FALSE, les facteurs et opérations de fusion de la cible de rendu appliqués à alpha sont forcés d’être identiques à ceux définis pour la couleur. Ce mode est effectivement câblé sur FALSE sur les implémentations qui ne définissent pas la limite D3DPMISCCAPS_SEPARATEALPHABLEND.
D3DRS_SRCBLENDALPHA
Cette valeur est ignorée, sauf si D3DRS_SEPARATEALPHABLENDENABLE a la valeur TRUE.
D3DRS_DESTBLENDALPHA
Cette valeur est ignorée, sauf si D3DRS_SEPARATEALPHABLENDENABLE a la valeur TRUE.
D3DRS_BLENDOPALPHA
Valeur utilisée pour sélectionner l’opération arithmétique appliquée à un mélange alpha distinct lorsque l’état de rendu, D3DRS_SEPARATEALPHABLENDENABLE, est défini sur TRUE.
D3DRS_FORCE_DWORD
Force cette énumération à compiler sur 32 bits en taille. Sans cette valeur, certains compilateurs permettent à cette énumération de se compiler sur une taille autre que 32 bits. Cette valeur n’est pas utilisée.

Remarques

Ces états de rendu sont uniquement destinés à une utilisation interne :

D3DRENDERSTATE_EVICTMANAGEDTEXTURES

Détermine si les textures sont supprimées de la mémoire. Le pilote utilise un type de données BOOL sans valeur par défaut pour détecter s’il doit être supprimé.

Cet état de rendu détermine si le pilote supprime les textures qu’il gère (par opposition aux textures gérées par le runtime Direct3D) à partir de la mémoire vidéo. Si la valeur d’état de rendu est TRUE, le pilote supprime les textures. Sinon, le pilote ne supprime pas ces textures.

D3DRENDERSTATE_SCENECAPTURE

Spécifie des informations de scène de début ou des informations de scène de fin pour les données géométriques capturées dans un cadre. Le pilote utilise un type de données BOOL avec une valeur par défaut de TRUE pour détecter les informations de capture de scène.

Le pilote répond d’abord à D3DRENDERSTATE_SCENECAPTURE avec TRUE pour commencer les informations de scène et ensuite avec FAUX pour les informations de scène de fin pour capturer des données géométriques dans un cadre. Consultez l’exemple de pilote permedia2 fourni avec le Kit de développement de pilotes Windows (DDK) pour obtenir un exemple d’implémentation. L’utilisation de l’état de rendu D3DRENDERSTATE_SCENECAPTURE dans un appel D3dDrawPrimitives2 remplace la routine de rappel D3DHALCallbacks->D3dSceneCapture routine de rappel.

Veillez à mettre à jour un pilote qui implémente la routine de rappel D3DHALCallbacks->D3dSceneCapture routine de rappel à l’aide de l’état de rendu D3DRENDERSTATE_SCENECAPTURE. La routine de rappel D3dSceneCapture utilise les constantes D3DHAL_SCENE_CAPTURE_START et D3DHAL_SCENE_CAPTURE_END pour indiquer, respectivement, le début et la fin d’une scène. Les valeurs de ces constantes sont respectivement 0 et 1. Si vous utilisez ces constantes à la place de TRUE et FALSE dans cet état de rendu, la signification est exactement l’inverse de ce que vous avez l’intention.

D3DRS_DELETERTPATCH

DirectX 8.0 et versions ultérieures uniquement.

Supprime un patch rectangulaire ou triangulaire de la mémoire. Le pilote utilise un type de données DWORD sans valeur par défaut pour détecter le correctif à supprimer.

Cet état de rendu informe le pilote qu’un correctif doit être supprimé. La valeur de cet état de rendu est le handle du correctif affecté. Toutes les informations mises en cache doivent être libérées et le handle doit être supprimé de la table de handle de correctif du pilote. Cet état de rendu n’est pas visible pour les applications, mais est généré en interne lorsqu’une application appelle la fonction DeletePatch. Cet état de rendu est envoyé au pilote uniquement lorsque des correctifs sont supprimés par DeletePatch explicitement. Tous les autres correctifs doivent être nettoyés lorsque l’appareil est détruit.

D3DRS_MAXPIXELSHADERINST

DirectX 9.0 et versions ultérieures uniquement.

Détermine le nombre maximal d’instructions que l’assembleur de nuanceur de pixels peut exécuter.

Le pilote utilise un type de données DWORD avec une valeur par défaut de D3DINFINITEINSTRUCTIONS (0xffffffff) pour signaler le nombre maximal d’instructions de nuanceur de pixels. Ce nombre maximal dépend de la version du nuanceur de pixels pris en charge par l’appareil d’affichage, comme indiqué dans le tableau suivant.

Version Nombre maximal
antérieure à 2_0 0
2_0 De 96 à D3DINFINITEINSTRUCTIONS
3_0 et versions ultérieures De 2¹⁶ (0x0000ffff) à D3DINFINITEINSTRUCTIONS

D3DINFINITEINSTRUCTIONS représente un montant pratiquement illimité.

Les valeurs valides pour cet état de rendu sont des nombres qui sont des puissances de 2 ; si le pilote définit un autre entier, le runtime utilise la puissance la plus proche de 2 nombres.

Le runtime définit le membre MaxVShaderInstructionsExecuted de la structure D3DCAPS9 sur ce nombre maximal.

D3DRS_MAXVERTEXSHADERINST

DirectX 9.0 et versions ultérieures uniquement.

Détermine le nombre maximal d’instructions que l’assembleur de nuanceur de vertex peut exécuter.

Le pilote utilise un type de données DWORD avec une valeur par défaut de D3DINFINITEINSTRUCTIONS (0xffffffff) pour signaler le nombre maximal d’instructions de nuanceur de vertex. Ce nombre maximal dépend de la version du nuanceur de vertex pris en charge par l’appareil d’affichage, comme indiqué dans le tableau suivant.

Version Nombre maximal
antérieure à 2_0 0
2_0 et versions ultérieures De 2¹⁶ (0x0000ffff) à D3DINFINITEINSTRUCTIONS

D3DINFINITEINSTRUCTIONS représente un montant pratiquement illimité.

Les valeurs valides pour cet état de rendu sont des nombres qui sont des puissances de 2 ; si le pilote définit un autre entier, le runtime utilise la puissance la plus proche de 2 nombres.

Le runtime définit le membre MaxVShaderInstructionsExecuted de la structure D3DCAPS9 sur ce nombre maximal.

Le pilote utilise ces états de rendu lorsqu’il effectue un rendu graphique. Seuls les états de rendu spécifiques aux pilotes sont inclus dans la documentation du Kit de pilotes Windows (WDK). Les états de rendu accessibles aux applications DirectX sont inclus dans la documentation du Kit de développement logiciel (SDK) DirectX. Ces états de rendu au niveau de l’application incluent des caractéristiques telles que l’activation du mélange alpha, l’activation de la trame, l’utilisation de l’éclairage Direct3D et le type d’ombrage à utiliser.

Pour mettre à jour un état de rendu particulier, Direct3D stocke des informations sur l’état de rendu, puis appelle la routine de rappel D3dDrawPrimitives2 du pilote. Les informations fournies au pilote lui permettent de :

  • Déterminez qu’il doit mettre à jour un ou plusieurs états de rendu.

  • Identifiez les états de rendu à mettre à jour et les nouvelles valeurs d’état de rendu.

Notez que pour que certains états de rendu soient respectés, le pilote doit avoir précédemment défini des indicateurs de capacité dans le membre approprié de la structure D3DPRIMCAPS.

Pour indiquer une mise à jour d’état de rendu spécifique, Direct3D insère une structure D3DHAL_DP2COMMAND dans la mémoire tampon de commande, en définissant le membre bCommand de cette structure sur D3DDP2OP_RENDERSTATE (voir la description de D3DDP2OP_RENDERSTATE dans D3DHAL_DP2OPERATION), et en définissant le membre wStateCount de la même structure sur le nombre d’états de rendu à mettre à jour.

Immédiatement après la structure D3DHAL_DP2COMMAND, Direct3D insère une structure D3DHAL_DP2RENDERSTATE dans la mémoire tampon de commande pour chaque état de rendu à mettre à jour. Le RenderState membre de cette structure identifie l’état de rendu à modifier ; la nouvelle valeur de cet état de rendu est spécifiée dans le membre dwState (pour les valeurs DWORD) ou le membre fState (pour les valeurs D3DVALUE).

La figure suivante montre une partie de la mémoire tampon de commande contenant une commande D3DDP2OP_RENDERSTATE et deux structures D3DHAL_DP2RENDERSTATE. Le premier des trois structures indique que deux états de rendu doivent être mis à jour. La deuxième structure indique que l’état de rendu D3DRENDERSTATE_FILLMODE doit être modifié en D3DFILL_SOLID. La troisième structure indique que l’état de rendu D3DRENDERSTATE_SHADEMODE doit être mis à jour pour D3DSHADE_GOURAUD.

Figure montrant une mémoire tampon de commandes avec une commande D3DDP2OP_RENDERSTATE et deux structures de D3DHAL_DP2RENDERSTATE

notes supplémentaires

Consultez les D3DTEXTURESTAGESTATETYPE, les D3DTEXTUREOP et les types énumérés D3DTEXTUREFILTER dans la documentation du Kit de développement logiciel (SDK) DirectX pour obtenir des descriptions complètes de tous les types d’état de rendu activés.

Certaines modifications ont été apportées au type énuméré D3DRENDERSTATETYPE pour DirectX 5.0 et au-delà. D3DRENDERSTATE_BLENDENABLE a été complètement supprimé bien qu’il soit défini comme D3DRENDERSTATE_ALPHABLENDENABLE dans le fichier d3dtypes.h . Consultez D3DRENDERSTATE_COLORKEYENABLE pour obtenir une explication. Les 128 valeurs entières de l’intervalle [128, 255] sont réservées aux indicateurs d’enveloppe de coordonnées de texture. Elles sont construites avec les macros D3DWRAP_U et D3DWRAP_V. L’utilisation d’un mot indicateurs préserve la compatibilité avant avec les coordonnées de texture d’une dimension supérieure à 2D.

Les opérations de macro multitexture et D3DRENDERSTATE_TEXTUREFACTOR remplacer tous les contrôles de fusion par étape de texture (COLOR{OP,ARG1,ARG2} & ALPHA{OP,ARG1,ARG2}).

Exigences

Exigence Valeur
d’en-tête d3d9types.h (include D3dhal.h)