énumération D3DRENDERSTATETYPE (d3d9types.h)
Le D3DRENDERSTATETYPE type énuméré répertorie divers attributs ou états de rendu. Les énumérateurs de D3DRENDERSTATETYPE qui sont 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 :
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 type d’énumération 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 a lieu, mais que les valeurs de profondeur ne sont pas écrites dans la mémoire tampon. |
D3DRS_ALPHATESTENABLE TRUE pour activer le test alpha par pixel. Si le test réussit, le pixel est traité par la mémoire tampon de trame. Sinon, tout le traitement de la mémoire tampon d’image est ignoré pour le pixel. |
D3DRS_LASTPIXEL La valeur par défaut est TRUE, ce qui permet de dessiner le 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 Un D3DCULL type d’énumération qui spécifie la façon dont les triangles orientés vers l’arrière-plan sont abattus, le cas échéant. |
D3DRS_ZFUNC Un D3DCMPFUNC type d’énumération 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 faibles de la valeur d’état de rendu DWORD. Les valeurs peuvent aller de 0x00000000 à 0x000000FF. La valeur par défaut est 0. |
D3DRS_ALPHAFUNC Un D3DCMPFUNC type d’énumération qui permet à une application d’accepter ou de rejeter un pixel, en fonction de sa valeur alpha. |
D3DRS_DITHERENABLE TRUE pour activer le dithering. La valeur par défaut est FALSE. |
D3DRS_ALPHABLENDENABLE TRUE pour activer la transparence alpha-blended. 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 d’éclairage était à 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 le mélange alpha. |
D3DRS_FOGCOLOR Structure D3DCOLORVALUE . |
D3DRS_FOGTABLEMODE Un D3DFOGMODE type énuméré qui représente une formule de brouillard à utiliser pour le brouillard de pixels. |
D3DRS_FOGSTART Profondeur à laquelle les effets de brouillard de pixels ou de vertex commencent pour le mode 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 de l’appareil [0.0, 1.0] ou l’espace mondial pour le brouillard de pixels. Pour le brouillard de pixels, ces valeurs se trouvent dans l’espace de l’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 pixels ou de vertex se terminent pour le mode 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 de l’appareil [0.0, 1.0] ou l’espace mondial pour le brouillard de pixels. Pour le brouillard de pixels, ces valeurs se trouvent dans l’espace de l’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 pixels 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 la 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 la plage, la distance d’un objet par rapport à 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 plutôt que la profondeur dans les calculs. La plage est le facteur correct à utiliser pour les calculs de brouillard, mais la profondeur est couramment utilisée à la place, car la plage prend beaucoup de temps à calculer et la profondeur est généralement déjà disponible. L’utilisation de la profondeur pour calculer le brouillard a pour effet indésirable de faire changer la fogginess des objets périphériques à mesure que l’œil de l’observateur 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 la plage de pixels, la correction de plage n’est proposée que pour le brouillard de vertex. |
D3DRS_STENCILENABLE TRUE pour activer le pochoir ou FALSE pour désactiver le pochoir. La valeur par défaut est FALSE. |
D3DRS_STENCILFAIL Un D3DSTENCILOP type d’énumération qui spécifie l’opération de gabarit à effectuer en cas d’échec du test de gabarit. La valeur par défaut est D3DSTENCILOP_KEEP. |
D3DRS_STENCILZFAIL Un D3DSTENCILOP type d’énumération qui spécifie l’opération de gabarit à effectuer si le test de gabarit réussit et si le test de profondeur (z-test) échoue. |
D3DRS_STENCILPASS Un D3DSTENCILOP type d’énumération 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 de l’entrée de mémoire tampon de gabarit qui sont définis dans le masque de gabarit (défini 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 le mélange de 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 indicateurs D3DWRAPCOORD_0 (ou D3DWRAP_U), D3DWRAPCOORD_1 (ou D3DWRAP_V), D3DWRAPCOORD_2 (ou D3DWRAP_W) et D3DWRAPCOORD_3 indicateurs. Celles-ci entraînent l’encapsulation du système dans la direction des première, deuxième, troisième et quatrième dimensions, 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 (encapsulation désactivée 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 le découpage primitif par Direct3D, ou FALSE pour le 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 éclairés ; les sommets qui ne contiennent pas de 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 sommet 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 à la caméra, 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 le 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és en espace de caméra, ce qui peut prendre du temps en 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 émissive pour les calculs d’éclairage. |
D3DRS_VERTEXBLEND Nombre de matrices à utiliser pour effectuer le 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 DWORD dans lesquelles le status de chaque bit (défini ou non) 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 aux 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 la taille de point dans les cas où la taille de point n’est pas spécifiée pour chaque sommet. Cette valeur n’est pas utilisée lorsque le sommet 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 est en unités spatiales mondiales. La valeur par défaut est la valeur renvoyée par un pilote. Si un pilote retourne 0 ou 1, la valeur par défaut est 64, ce qui autorise l’émulation de taille de point logiciel. |
D3DRS_POINTSIZE_MIN Valeur float qui spécifie la taille minimale des primitives de points. Les primitives de points 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’anti-ataliasing est désactivé ou est rendu avec une intensité réduite lorsque l’anti-attirail 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 points sont définies de sorte que les textures complètes soient mappées sur chaque point. Quand 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 mono pixels 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 pour les primitives de points. Quand 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 distance et le frustum pour afficher la mise à l’échelle de l’axe Y pour calculer la taille finale du point d’espace écran. Quand 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 la taille basée sur la distance pour les primitives de points. 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 la taille basée sur la distance pour les primitives de points. 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 la taille basée sur la distance pour les primitives de points. 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 cible de rendu multiéchantillon. Lorsqu’il est défini sur TRUE, les multiples exemples sont calculés de sorte que l’anti-ataliasing en scène complète est effectué par échantillonnage à différentes positions d’échantillon pour chaque échantillon multiple. Lorsqu’il est défini sur FALSE, les exemples multiples sont tous écrits avec la même valeur d’exemple, échantillonnés au centre des pixels, ce qui permet un rendu non anti-anti-antialiased dans une mémoire tampon multi-échantillon. Cet état de rendu n’a aucun effet lors du rendu vers un seul exemple de mémoire tampon. La valeur par défaut est TRUE. |
D3DRS_MULTISAMPLEMASK Chaque bit de ce masque, commençant au bit le moins significatif (LSB), contrôle la modification de l’un des exemples dans une cible de rendu multiéchantillon. Par conséquent, pour une cible de rendu de 8 exemples, l’octet faible contient les huit activations d’écriture pour chacun des huit exemples. Cet état de rendu n’a aucun effet lors du rendu vers 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 multiéchantillon comme mémoire tampon d’accumulation, en effectuant un rendu multipass de la géométrie où chaque passe met à jour un sous-ensemble d’exemples. S’il existe n exemples multi-échantillons 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 de patch utilisent la mise en forme de float. |
D3DRS_DEBUGMONITORTOKEN Défini uniquement pour le débogage du moniteur. |
D3DRS_POINTSIZE_MAX Valeur float qui spécifie la taille maximale à laquelle les sprites de point seront serré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 sommets indexés. La valeur par défaut est FALSE. Lorsqu’il est défini sur TRUE, le mélange de sommets indexés est activé. Lorsqu’il est défini sur 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 pack avec chaque sommet. Lorsque l’état de rendu est désactivé et que le mélange de vertex est activé via l’état D3DRS_VERTEXBLEND, cela équivaut à avoir des index de matrice 0, 1, 2, 3 dans chaque sommet. |
D3DRS_COLORWRITEENABLE Valeur UINT qui active une écriture par canal pour la mémoire tampon de couleur cible de rendu. Un bit défini entraîne la mise à jour du canal de couleurs pendant le rendu 3D. Avec un bit clair, le canal de couleur n’est pas affecté. |
D3DRS_TWEENFACTOR Valeur float qui contrôle le facteur d’interpolation. |
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, est défini sur 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 de correctif N. Les valeurs peuvent être D3DDEGREE_CUBIC (par défaut) ou D3DDEGREE_LINEAR. |
D3DRS_NORMALDEGREE Degré d’interpolation normal de N patch. Les valeurs peuvent être D3DDEGREE_LINEAR (par défaut) ou D3DDEGREE_QUADRATIC. |
D3DRS_SCISSORTESTENABLE TRUE pour activer le test des ciseaux et FALSE pour le désactiver. La valeur par défaut est FALSE. |
D3DRS_SLOPESCALEDEPTHBIAS Utilisé pour déterminer la quantité de biais qui peut être appliqué aux primitives co-planaires afin de réduire la lutte z. La valeur par défaut est 0. |
D3DRS_ANTIALIASEDLINEENABLE TRUE pour activer l’anti-attirail de ligne, FALSE pour désactiver l’anti-attirail 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é à sceller de manière adaptative, dans le sens x. La valeur par défaut est 0,0f. |
D3DRS_ADAPTIVETESS_Y Montant à tésser de manière adaptative, dans le sens y. La valeur par défaut est 0,0f. |
D3DRS_ADAPTIVETESS_Z Quantité à sceller de manière adaptative, dans le sens z. La valeur par défaut est 1.0f. |
D3DRS_ADAPTIVETESS_W Montant à tésser de manière adaptative, dans le sens w. La valeur par défaut est 0,0f. |
D3DRS_ENABLEADAPTIVETESSELLATION TRUE pour activer la pavage adaptative, FALSE pour la désactiver. |
D3DRS_TWOSIDEDSTENCILMODE TRUE active le pochoir double face, FALSE le désactive. La valeur par défaut est FALSE. L’application doit définir D3DRS_CULLMODE sur D3DCULL_NONE pour activer le mode de gabarit double face. 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 dans le sens inverse des aiguilles d’une montre, 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 de 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 la fonction de gabarit ((ref & mask) (stencil & 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 Activer la correction gamma des écritures de cible de rendu 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. Lorsqu’il est défini sur FALSE, les facteurs de fusion de cible de rendu et les opérations appliqués à l’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 à la fusion alpha distincte lorsque l’état de rendu, D3DRS_SEPARATEALPHABLENDENABLE, est défini sur TRUE. |
D3DRS_FORCE_DWORD Force cette énumération à compiler à une taille de 32 bits. Sans cette valeur, certains compilateurs autoriseraient cette énumération à compiler à une taille autre que 32 bits. Cette valeur n'est pas utilisée. |
Remarques
Ces états de rendu sont destinés à un usage interne uniquement :
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 faut supprimer.
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) de la mémoire vidéo. Si la valeur de l’état de rendu est TRUE, le pilote supprime les textures. Sinon, le pilote n’supprime pas ces textures.
D3DRENDERSTATE_SCENECAPTURE
Spécifie les informations de scène de début ou de fin de scène pour les données géométriques capturées dans une trame. Le pilote utilise un type de données BOOL avec la valeur par défaut TRUE pour détecter les informations de capture de scène.
Le pilote répond d’abord à D3DRENDERSTATE_SCENECAPTURE avec TRUE pour les informations de scène de début, puis false pour les informations de scène de fin afin de 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>héritée.
Veillez à mettre à jour un pilote qui implémente la routine de rappel D3DHALCallbacks-D3dSceneCapture>héritée en utilisant 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 sera exactement l’opposé de ce que vous souhaitez.
D3DRS_DELETERTPATCH
DirectX 8.0 et versions ultérieures uniquement.
Supprime un correctif 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 des poignées correctives 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 les correctifs sont supprimés explicitement par DeletePatch . 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 la valeur par défaut 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 le périphérique 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 dont la puissance est de 2 ; si le pilote définit un autre entier, le runtime utilise la puissance de 2 nombres la plus proche la plus proche.
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 du nuanceur de vertex peut exécuter.
Le pilote utilise un type de données DWORD avec une valeur par défaut 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 le périphérique 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 dont la puissance est de 2 ; si le pilote définit un autre entier, le runtime utilise la puissance de 2 nombres la plus proche la plus proche.
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 si le mélange alpha est activé, si le tramage est activé, si l’éclairage Direct3D est utilisé 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 à mettre à jour.
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 de D3DHAL_DP2COMMAND dans la mémoire tampon de commande, en définissant le membre bCommand de cette structure sur D3DDP2OP_RENDERSTATE (voir la description des 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 membre RenderState 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).
L’illustration suivante montre une partie de la mémoire tampon de commande contenant une commande D3DDP2OP_RENDERSTATE et deux structures D3DHAL_DP2RENDERSTATE. La première 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 remplacé par D3DFILL_SOLID. La troisième structure indique que l’état de rendu D3DRENDERSTATE_SHADEMODE doit être mis à jour vers D3DSHADE_GOURAUD.
Notes supplémentaires
Consultez les D3DTEXTURESTAGESTATETYPE, D3DTEXTUREOP et D3DTEXTUREFILTER types énumérés dans la documentation du KIT de développement logiciel (SDK) DirectX pour obtenir une liste complète de tous les types d’état de rendu activés.
Certaines modifications ont été apportées au D3DRENDERSTATETYPE type énuméré pour DirectX 5.0 et versions ultérieures. D3DRENDERSTATE_BLENDENABLE a été entièrement supprimé bien qu’il soit défini comme D3DRENDERSTATE_ALPHABLENDENABLE dans le fichier d’en-tête d3dtypes.h . Pour obtenir une explication, consultez D3DRENDERSTATE_COLORKEYENABLE. Les 128 valeurs entières de l’intervalle [128, 255] sont réservées aux indicateurs d’habillage de coordonnées de texture. Elles sont construites avec les macros D3DWRAP_U et D3DWRAP_V. L’utilisation d’un mot d’indicateur préserve la compatibilité avant avec les coordonnées de texture de dimension supérieure à 2D.
Les opérations de macro multitexture et les D3DRENDERSTATE_TEXTUREFACTOR remplacent tous les contrôles de fusion par étape de texture (COLOR{OP,ARG1,ARG2} & ALPHA{OP,ARG1,ARG2}).
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | d3d9types.h (inclure D3dhal.h) |