Énumération D3DRENDERSTATETYPE

Les États de rendu définissent des États de configuration pour tous les types de traitement des vertex et des pixels. Certains États de rendu configurent le traitement des vertex et un traitement des pixels configuré (voir États de rendu (Direct3D 9)). Les États de rendu peuvent être enregistrés et restaurés à l’aide de stateblocks (consultez États de l' enregistrement et de la restauration des blocs d’État (Direct3D 9)).

Syntaxe

typedef enum D3DRENDERSTATETYPE { 
  D3DRS_ZENABLE                     = 7,
  D3DRS_FILLMODE                    = 8,
  D3DRS_SHADEMODE                   = 9,
  D3DRS_ZWRITEENABLE                = 14,
  D3DRS_ALPHATESTENABLE             = 15,
  D3DRS_LASTPIXEL                   = 16,
  D3DRS_SRCBLEND                    = 19,
  D3DRS_DESTBLEND                   = 20,
  D3DRS_CULLMODE                    = 22,
  D3DRS_ZFUNC                       = 23,
  D3DRS_ALPHAREF                    = 24,
  D3DRS_ALPHAFUNC                   = 25,
  D3DRS_DITHERENABLE                = 26,
  D3DRS_ALPHABLENDENABLE            = 27,
  D3DRS_FOGENABLE                   = 28,
  D3DRS_SPECULARENABLE              = 29,
  D3DRS_FOGCOLOR                    = 34,
  D3DRS_FOGTABLEMODE                = 35,
  D3DRS_FOGSTART                    = 36,
  D3DRS_FOGEND                      = 37,
  D3DRS_FOGDENSITY                  = 38,
  D3DRS_RANGEFOGENABLE              = 48,
  D3DRS_STENCILENABLE               = 52,
  D3DRS_STENCILFAIL                 = 53,
  D3DRS_STENCILZFAIL                = 54,
  D3DRS_STENCILPASS                 = 55,
  D3DRS_STENCILFUNC                 = 56,
  D3DRS_STENCILREF                  = 57,
  D3DRS_STENCILMASK                 = 58,
  D3DRS_STENCILWRITEMASK            = 59,
  D3DRS_TEXTUREFACTOR               = 60,
  D3DRS_WRAP0                       = 128,
  D3DRS_WRAP1                       = 129,
  D3DRS_WRAP2                       = 130,
  D3DRS_WRAP3                       = 131,
  D3DRS_WRAP4                       = 132,
  D3DRS_WRAP5                       = 133,
  D3DRS_WRAP6                       = 134,
  D3DRS_WRAP7                       = 135,
  D3DRS_CLIPPING                    = 136,
  D3DRS_LIGHTING                    = 137,
  D3DRS_AMBIENT                     = 139,
  D3DRS_FOGVERTEXMODE               = 140,
  D3DRS_COLORVERTEX                 = 141,
  D3DRS_LOCALVIEWER                 = 142,
  D3DRS_NORMALIZENORMALS            = 143,
  D3DRS_DIFFUSEMATERIALSOURCE       = 145,
  D3DRS_SPECULARMATERIALSOURCE      = 146,
  D3DRS_AMBIENTMATERIALSOURCE       = 147,
  D3DRS_EMISSIVEMATERIALSOURCE      = 148,
  D3DRS_VERTEXBLEND                 = 151,
  D3DRS_CLIPPLANEENABLE             = 152,
  D3DRS_POINTSIZE                   = 154,
  D3DRS_POINTSIZE_MIN               = 155,
  D3DRS_POINTSPRITEENABLE           = 156,
  D3DRS_POINTSCALEENABLE            = 157,
  D3DRS_POINTSCALE_A                = 158,
  D3DRS_POINTSCALE_B                = 159,
  D3DRS_POINTSCALE_C                = 160,
  D3DRS_MULTISAMPLEANTIALIAS        = 161,
  D3DRS_MULTISAMPLEMASK             = 162,
  D3DRS_PATCHEDGESTYLE              = 163,
  D3DRS_DEBUGMONITORTOKEN           = 165,
  D3DRS_POINTSIZE_MAX               = 166,
  D3DRS_INDEXEDVERTEXBLENDENABLE    = 167,
  D3DRS_COLORWRITEENABLE            = 168,
  D3DRS_TWEENFACTOR                 = 170,
  D3DRS_BLENDOP                     = 171,
  D3DRS_POSITIONDEGREE              = 172,
  D3DRS_NORMALDEGREE                = 173,
  D3DRS_SCISSORTESTENABLE           = 174,
  D3DRS_SLOPESCALEDEPTHBIAS         = 175,
  D3DRS_ANTIALIASEDLINEENABLE       = 176,
  D3DRS_MINTESSELLATIONLEVEL        = 178,
  D3DRS_MAXTESSELLATIONLEVEL        = 179,
  D3DRS_ADAPTIVETESS_X              = 180,
  D3DRS_ADAPTIVETESS_Y              = 181,
  D3DRS_ADAPTIVETESS_Z              = 182,
  D3DRS_ADAPTIVETESS_W              = 183,
  D3DRS_ENABLEADAPTIVETESSELLATION  = 184,
  D3DRS_TWOSIDEDSTENCILMODE         = 185,
  D3DRS_CCW_STENCILFAIL             = 186,
  D3DRS_CCW_STENCILZFAIL            = 187,
  D3DRS_CCW_STENCILPASS             = 188,
  D3DRS_CCW_STENCILFUNC             = 189,
  D3DRS_COLORWRITEENABLE1           = 190,
  D3DRS_COLORWRITEENABLE2           = 191,
  D3DRS_COLORWRITEENABLE3           = 192,
  D3DRS_BLENDFACTOR                 = 193,
  D3DRS_SRGBWRITEENABLE             = 194,
  D3DRS_DEPTHBIAS                   = 195,
  D3DRS_WRAP8                       = 198,
  D3DRS_WRAP9                       = 199,
  D3DRS_WRAP10                      = 200,
  D3DRS_WRAP11                      = 201,
  D3DRS_WRAP12                      = 202,
  D3DRS_WRAP13                      = 203,
  D3DRS_WRAP14                      = 204,
  D3DRS_WRAP15                      = 205,
  D3DRS_SEPARATEALPHABLENDENABLE    = 206,
  D3DRS_SRCBLENDALPHA               = 207,
  D3DRS_DESTBLENDALPHA              = 208,
  D3DRS_BLENDOPALPHA                = 209,
  D3DRS_FORCE_DWORD                 = 0x7fffffff
} D3DRENDERSTATETYPE, *LPD3DRENDERSTATETYPE;

Constantes

D3DRS _ ZENABLE

État de mise en mémoire tampon de profondeur comme un membre du type énuméré D3DZBUFFERTYPE . Définissez cet État sur D3DZB _ true pour activer la mise en mémoire tampon z, D3DZB _ USEW pour activer la mise en mémoire tampon w ou D3DZB _ false pour désactiver la mise en mémoire tampon de profondeur.

La valeur par défaut de cet état de rendu est D3DZB _ true si un stencil de profondeur a été créé avec la chaîne de permutation en affectant la valeur true au membre EnableAutoDepthStencil de la structure de _ paramètres D3DPRESENT et D3DZB _ false dans le cas contraire.

D3DRS _ FillMode

Un ou plusieurs membres du type énuméré D3DFILLMODE . La valeur par défaut est D3DFILL _ Solid.

D3DRS _ SHADEMODE

Un ou plusieurs membres du type énuméré D3DSHADEMODE . La valeur par défaut est D3DSHADE _ Gouraud.

D3DRS _ ZWRITEENABLE

True pour permettre à l’application d’écrire dans le 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. Dans le cas contraire, tout le traitement de la mémoire tampon de trame est ignoré pour le pixel.

Le test est effectué en comparant la valeur alpha entrante avec la valeur alpha de référence, à l’aide de la fonction de comparaison fournie par l' _ État de rendu D3DRS ALPHAFUNC. La valeur alpha de référence est déterminée par la valeur définie pour D3DRS _ ALPHAREF. Pour plus d’informations, consultez État des tests alpha (Direct3D 9).

La valeur par défaut de ce paramètre est false.

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. Pour plus d’informations, consultez état de la structure et du remplissage (Direct3D 9).

D3DRS _ SRCBLEND

Un membre du type énuméré D3DBLEND . La valeur par défaut est D3DBLEND _ .

D3DRS _ DESTBLEND

Un membre du type énuméré D3DBLEND . La valeur par défaut est D3DBLEND _ zéro.

D3DRS _ CULLMODE

Spécifie la manière dont les triangles d’arrière-plan sont éliminés, si ce n’est pas le cas. Peut être défini sur un membre du type énuméré D3DCULL . La valeur par défaut est D3DCULL _ CCW.

D3DRS _ ZFUNC

Un membre du type énuméré D3DCMPFUNC . La valeur par défaut est D3DCMP _ LESSEQUAL. Ce membre permet à une application d’accepter ou de rejeter un pixel, en fonction de sa distance par rapport à l’appareil photo.

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 le tampon de profondeur uniquement si l’état de rendu est true.

Les rastériseurs de logiciels et de nombreux accélérateurs de matériel fonctionnent plus rapidement si le test de profondeur échoue, car il n’est pas nécessaire de filtrer et de moduler la texture si le pixel n’est pas rendu.

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 de 8 bits placée dans les 8 bits de poids faible de la valeur de l’état de rendu DWORD. Les valeurs peuvent être comprises entre 0x00000000 et 0x000000FF. La valeur par défaut est 0.

D3DRS _ ALPHAFUNC

Un membre du type énuméré D3DCMPFUNC . La valeur par défaut est D3DCMP _ Always. Ce membre permet à une application d’accepter ou de rejeter un pixel, en fonction de sa valeur alpha.

D3DRS _ DITHERENABLE

True pour activer le tramage. La valeur par défaut est FALSE.

D3DRS _ ALPHABLENDENABLE

True pour activer la transparence à contrôle alpha. 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 la fusion de brouillard. La valeur par défaut est FALSE. Pour plus d’informations sur l’utilisation de la fusion de brouillard, consultez brouillard.

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 vertex de l’objet allumé 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 importante. 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

Valeur dont le type est D3DCOLOR. La valeur par défaut est 0. Pour plus d’informations sur la couleur de brouillard, consultez couleur de brouillard (Direct3D 9).

D3DRS _ FOGTABLEMODE

Formule de brouillard à utiliser pour le brouillard de pixel. Défini sur l’un des membres du type énuméré D3DFOGMODE . La valeur par défaut est D3DFOG _ None. Pour plus d’informations sur le brouillard de pixel, consultez la rubrique brouillard de pixel (Direct3D 9).

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.0 f. La profondeur est spécifiée dans l’espace universel pour le brouillard de vertex et l’espace [ de périphérique 0,0, 1,0 ] ou l’espace universel pour le brouillard de pixel. Pour le brouillard de pixel, ces valeurs se trouvent dans l’espace de l’appareil lorsque le système utilise z pour les calculs de brouillard et l’espace universel lorsque le système utilise le brouillard relatif à l’oeil (w-brouillard). Pour plus d’informations, consultez paramètres de brouillard (Direct3D 9) et profondeur oculaire ou Z.

Les valeurs de cet état de rendu sont des valeurs à virgule flottante. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

pDevice9->SetRenderState(D3DRS_FOGSTART, 
                         *((DWORD*) (&fFogStart)));

D3DRS _ FOGEND

Profondeur à laquelle les effets de brouillard de pixel ou de vertex se terminent pour le mode de brouillard linéaire. La valeur par défaut est 1,0 f. La profondeur est spécifiée dans l’espace universel pour le brouillard de vertex et l’espace [ de périphérique 0,0, 1,0 ] ou l’espace universel pour le brouillard de pixel. Pour le brouillard de pixel, 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 universel quand le système utilise le brouillard relatif à l’oeil (w-brouillard). Pour plus d’informations, consultez paramètres de brouillard (Direct3D 9) et profondeur oculaire ou Z.

Les valeurs de cet état de rendu sont des valeurs à virgule flottante. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_FOGEND, *((DWORD*) (&fFogEnd)));

D3DRS _ FOGDENSITY

Densité de brouillard pour le brouillard de pixel ou vertex utilisé dans les modes de brouillard exponentiels (D3DFOG _ exp et D3DFOG _ EXP2). Les valeurs de densité valides sont comprises entre 0,0 et 1,0. La valeur par défaut est 1,0. Pour plus d’informations, consultez paramètres de brouillard (Direct3D 9).

Les valeurs de cet état de rendu sont des valeurs à virgule flottante. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

    m_pDevice9->SetRenderState(D3DRS_FOGDENSITY, *((DWORD*) (&fFogDensity)));

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 à partir 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 une plage, toutes les méthodes de brouillard fonctionnent comme d’habitude, sauf qu’elles utilisent la plage au lieu de la 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 Depth pour calculer le brouillard a l’effet indésirable que le fogginess des objets périphériques change à mesure que l’œil de la visionneuse se déplace. dans ce cas, les modifications de profondeur et la plage restent constantes.

Étant donné qu’aucun matériel ne prend actuellement en charge le brouillard basé sur une plage par pixel, la correction de plage est proposée uniquement pour le brouillard de vertex.

Pour plus d’informations, consultez la rubrique brouillard de vertex (Direct3D 9).

D3DRS _ STENCILENABLE

True pour activer le stencil, ou false pour désactiver le stencil. La valeur par défaut est FALSE. Pour plus d’informations, consultez techniques de tampon de stencil (Direct3D 9).

D3DRS _ STENCILFAIL

Opération de stencil à effectuer en cas d’échec du test du stencil. Les valeurs proviennent du type énuméré D3DSTENCILOP . La valeur par défaut est D3DSTENCILOP _ Keep.

D3DRS _ STENCILZFAIL

Opération de stencil à effectuer si le test de stencil réussit et que le test de profondeur (z-test) échoue. Les valeurs proviennent du type énuméré D3DSTENCILOP . La valeur par défaut est D3DSTENCILOP _ Keep.

D3DRS _ STENCILPASS

Opération de stencil à effectuer si le stencil et les tests de profondeur (z) réussissent. Les valeurs proviennent du type énuméré D3DSTENCILOP . La valeur par défaut est D3DSTENCILOP _ Keep.

D3DRS _ STENCILFUNC

Fonction de comparaison pour le test de stencil. Les valeurs proviennent du type énuméré D3DCMPFUNC . La valeur par défaut est D3DCMP _ Always.

La fonction de comparaison est utilisée pour comparer la valeur de référence à une entrée de tampon de stencil. Cette comparaison s’applique uniquement aux bits dans la valeur de référence et à l’entrée de mémoire tampon de stencil qui sont définis dans le masque de stencil (défini par l' _ État de rendu D3DRS STENCILMASK). Si la valeur est true, le test du stencil réussit.

D3DRS _ STENCILREF

Valeur de référence int pour le test de stencil. La valeur par défaut est 0.

D3DRS _ STENCILMASK

Masque appliqué à la valeur de référence et à chaque entrée de tampon de stencil pour déterminer les bits significatifs pour le test de stencil. Le masque par défaut est 0xFFFFFFFF.

D3DRS _ STENCILWRITEMASK

Masque d’écriture appliqué aux valeurs écrites dans la mémoire tampon du stencil. Le masque par défaut est 0xFFFFFFFF.

D3DRS _ TEXTUREFACTOR

Couleur utilisée pour la fusion de textures multiples avec l' _ argument D3DTA TFACTOR texture-Blending ou l' _ opération de fusion de texture D3DTOP BLENDFACTORALPHA. La valeur associée est une variable D3DCOLOR . La valeur par défaut est opaque white (0xFFFFFFFF).

D3DRS _ WRAP0

Comportement d’habillage de texture pour plusieurs jeux 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), D3DWRAPCOORD _ 1 (ou D3DWRAP _ V), D3DWRAPCOORD _ 2 (ou D3DWRAP _ W) et D3DWRAPCOORD _ 3 indicateurs. Cela amène le système à encapsuler dans le sens des premières, 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

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP2

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP3

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP4

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP5

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP6

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP7

Consultez D3DRS _ WRAP0.

_Découpage D3DRS

True pour activer le découpage primitif par Direct3D, ou false pour le désactiver. La valeur par défaut est true.

_Éclairage D3DRS

True pour activer l’éclairage Direct3D, ou false pour le désactiver. La valeur par défaut est true. Seuls les vertex qui incluent un sommet normal sont correctement allumés ; les vertex qui ne contiennent pas de normales utilisent un produit scalaire de 0 dans tous les calculs d’éclairage.

D3DRS _ ambiant

Couleur de l’éclairage ambiant. Cette valeur est de type D3DCOLOR. La valeur par défaut est 0.

D3DRS _ FOGVERTEXMODE

Formule de brouillard à utiliser pour le brouillard de vertex. Défini sur un membre du type énuméré D3DFOGMODE . La valeur par défaut est D3DFOG _ None.

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 vertex individuels dans ses calculs d’éclairage.

Pour plus d’informations, consultez les États de rendu suivants :

  • D3DRS _ DIFFUSEMATERIALSOURCE
  • D3DRS _ SPECULARMATERIALSOURCE
  • D3DRS _ AMBIENTMATERIALSOURCE
  • D3DRS _ EMISSIVEMATERIALSOURCE

D3DRS _ LOCALVIEWER

True pour activer les surbrillances spéculaires relatives à l’appareil photo, ou false pour utiliser les 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 des sommets, ou false pour la désactiver. La valeur par défaut est FALSE. L’activation de cette fonctionnalité amène le système à normaliser les normales des vertex pour les vertex après les avoir transformées en espace de caméra, ce qui peut prendre du temps.

D3DRS _ DIFFUSEMATERIALSOURCE

Source de couleur diffuse pour les calculs d’éclairage. Les valeurs valides sont les membres du type énuméré D3DMATERIALCOLORSOURCE . La valeur par défaut est D3DMCS _ COLOR1. La valeur de cet état de rendu est utilisée uniquement si l' _ État de rendu D3DRS COLORVERTEX est défini sur true.

D3DRS _ SPECULARMATERIALSOURCE

Source de couleur spéculaire pour les calculs d’éclairage. Les valeurs valides sont les membres du type énuméré D3DMATERIALCOLORSOURCE . La valeur par défaut est D3DMCS _ COLOR2.

D3DRS _ AMBIENTMATERIALSOURCE

Source de couleur ambiante pour les calculs d’éclairage. Les valeurs valides sont les membres du type énuméré D3DMATERIALCOLORSOURCE . La valeur par défaut est D3DMCS _ Material.

D3DRS _ EMISSIVEMATERIALSOURCE

Source de couleur émissif pour les calculs d’éclairage. Les valeurs valides sont les membres du type énuméré D3DMATERIALCOLORSOURCE . La valeur par défaut est D3DMCS _ Material.

D3DRS _ VERTEXBLEND

Nombre de matrices à utiliser pour effectuer la fusion géométrique, le cas échéant. Les valeurs valides sont les membres du type énuméré D3DVERTEXBLENDFLAGS . La valeur par défaut est D3DVBF _ Disable.

D3DRS _ CLIPPLANEENABLE

Active ou désactive les plans de découpage définis par l’utilisateur. Les valeurs valides sont n’importe quelle valeur DWORD dans laquelle l’état de chaque bit (défini ou non défini) active ou désactive 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 plus élevés. 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.

Les macros D3DCLIPPLANEn sont définies pour fournir un moyen pratique d’activer les plans de découpage.

D3DRS _ pointe

Valeur flottante qui spécifie la taille à utiliser pour le calcul de la taille du 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 est en unités d’espace d’écran si D3DRS _ POINTSCALEENABLE a la valeur false; sinon, cette valeur est dans les unités d’espace universel. 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 la taille du point logiciel. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_POINTSIZE, *((DWORD*)&pointSize));

D3DRS _ pointe _ min.

Valeur flottante qui spécifie la taille minimale des primitives de point. Les primitives de point sont ancrées à cette taille pendant le rendu. Si vous définissez cette valeur sur des valeurs inférieures à 1,0, les points qui chutent lorsque le point ne couvre pas un centre de pixels et l’anticrénelage sont désactivés ou rendus avec une intensité réduite lorsque l’anticrénelage est activé. La valeur par défaut est 1,0 f. La plage de cette valeur est supérieure ou égale à 0.0 f. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_POINTSIZE_MIN, *((DWORD*)&pointSizeMin));

D3DRS _ POINTSPRITEENABLE

valeur bool. Lorsque la valeur est true, les coordonnées de texture des primitives de point 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 le point entier. La valeur par défaut est FALSE. Vous pouvez obtenir des points à un seul pixel de style DirectX 7 en affectant _ à D3DRS POINTSCALEENABLE la valeur false et à D3DRS _ la valeur 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 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 distance et la frustum à la mise à l’échelle de l’axe y pour calculer la taille finale du point d’espace d’écran. Quand la valeur est false, la taille du point est interprétée comme un espace à l’é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 point. Actif uniquement lorsque D3DRS _ POINTSCALEENABLE a la valeur true. La valeur par défaut est 1,0 f. La plage de cette valeur est supérieure ou égale à 0.0 f. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_POINTSCALE_A, *((DWORD*)&pointScaleA));

D3DRS _ POINTSCALE _ B

Valeur float qui contrôle l’atténuation de la 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.0 f. La plage de cette valeur est supérieure ou égale à 0.0 f. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_POINTSCALE_B, *((DWORD*)&pointScaleB));

D3DRS _ POINTSCALE _ C

Valeur float qui contrôle l’atténuation de la 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.0 f. La plage de cette valeur est supérieure ou égale à 0.0 f. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_POINTSCALE_C, *((DWORD*)&pointScaleC));

D3DRS _ MULTISAMPLEANTIALIAS

valeur booléenne qui détermine la façon dont les échantillons individuels sont calculés lors de l’utilisation d’un tampon de cible de rendu à plusieurs échantillons. Quand la valeur est true, les différents échantillons sont calculés de manière à ce que l’anticrénelage complet soit effectué par échantillonnage à différentes positions d’échantillonnage pour chaque échantillon multiple. Quand la valeur est false, les exemples multiples sont tous écrits avec la même valeur d’échantillon, échantillonnés au centre de pixels, ce qui permet un rendu non-sans alias dans une mémoire tampon d’échantillonnage multiple. Cet état de rendu n’a aucun effet lors du rendu d’une mémoire tampon d’exemple unique. La valeur par défaut est true.

D3DRS _ MULTISAMPLEMASK

Chaque bit de ce masque, à partir du bit le moins significatif (LSB), contrôle la modification de l’un des exemples dans une cible de rendu à plusieurs échantillons. Par conséquent, pour une cible de rendu à 8 échantillons, l’octet de poids faible contient les huit exemples d’écriture pour chacun des huit échantillons. Cet état de rendu n’a aucun effet lors du rendu d’une mémoire tampon d’exemple unique. La valeur par défaut est 0xFFFFFFFF.

Cet état de rendu permet l’utilisation d’une mémoire tampon d’exemples en tant que mémoire tampon d’accumulation, en procédant à un rendu multipasse de Geometry où chaque passe met à jour un sous-ensemble d’échantillons.

S’il existe n exemples d’échantillonnages et k, l’intensité résultante de l’image rendue doit être k/n. Chaque composant RVB de chaque pixel est pondéré par k/n.

D3DRS _ PATCHEDGESTYLE

Définit si les bords des correctifs utilisent le pavage de style flottant. Les valeurs possibles sont définies par le type énuméré D3DPATCHEDGESTYLE . La valeur par défaut est D3DPATCHEDGE _ discrète.

D3DRS _ DEBUGMONITORTOKEN

Défini uniquement pour le débogage de l’analyse. Les valeurs possibles sont définies par le type énuméré D3DDEBUGMONITORTOKENS . Notez que si D3DRS _ DEBUGMONITORTOKEN est défini, l’appel est traité comme la transmission d’un jeton à l’analyse de débogage. Par exemple, si-après passage de D3DDMT _ Enable ou D3DDMT _ Disable à D3DRS _ DEBUGMONITORTOKEN-les autres valeurs de jeton sont transmises, l’État (activé ou désactivé) de l’analyse de débogage est toujours conservé.

Cet État est utile uniquement pour les versions Debug. La valeur par défaut de l’analyse de débogage est D3DDMT _ activer.

D3DRS _ pointe _ Max.

Valeur flottante qui spécifie la taille maximale à laquelle les points de sprite seront fixés. La valeur doit être inférieure ou égale au membre MaxPointSize de D3DCAPS9 et supérieur ou égal à D3DRS _ _ . La valeur par défaut est 64,0. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_PONTSIZE_MAX, *((DWORD*)&pointSizeMax));

D3DRS _ INDEXEDVERTEXBLENDENABLE

valeur booléenne qui active ou désactive la fusion de vertex indexée. La valeur par défaut est FALSE. Lorsque la valeur est true, la fusion des vertex indexée est activée. Quand la valeur est false, la fusion des vertex indexés est désactivée. Si cet état de rendu est activé, l’utilisateur doit passer des index de matrice comme un DWORDwith compressé tous les vertex. Lorsque l’état de rendu est désactivé et que la fusion de vertex est activée par le biais de l' _ État D3DRS VERTEXBLEND, cela é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 rendu cible. Un bit de jeu entraîne la mise à jour du canal de couleur pendant le rendu 3D. Un bit clair entraîne l’inaffectation du canal de couleur. Cette fonctionnalité est disponible si le _ bit des fonctionnalités D3DPMISCCAPS COLORWRITEENABLE est défini dans le membre PrimitiveMiscCaps de la structure D3DCAPS9 pour l’appareil. Cet état de rendu n’affecte pas l’opération d’effacement. La valeur par défaut est 0x0000000F.

Les valeurs valides pour cet état de rendu peuvent être n’importe quelle combinaison des _ indicateurs D3DCOLORWRITEENABLE alpha, D3DCOLORWRITEENABLE _ Blue, D3DCOLORWRITEENABLE _ vert ou D3DCOLORWRITEENABLE _ Red.

D3DRS _ TWEENFACTOR

Valeur flottante qui contrôle le facteur d’interpolation. La valeur par défaut est 0.0 f. Étant donné que la méthode IDirect3DDevice9 :: SetRenderState accepte les valeurs DWORD, votre application doit effectuer un cast d’une variable qui contient la valeur, comme indiqué dans l’exemple de code suivant.

m_pDevice9->SetRenderState(D3DRS_TWEENFACTOR, *((DWORD*)&TweenFactor));

D3DRS _ BLENDOP

Valeur utilisée pour sélectionner l’opération arithmétique appliquée lorsque l’état de rendu de la fusion alpha, D3DRS _ ALPHABLENDENABLE, a la valeur true. Les valeurs valides sont définies par le type énuméré D3DBLENDOP . La valeur par défaut est D3DBLENDOP _ Add.

Si la fonctionnalité de l' _ appareil D3DPMISCCAPS BLENDOP n’est pas prise en charge, l’ajout de D3DBLENDOP _ est effectué.

D3DRS _ POSITIONDEGREE

Degré d’interpolation de la position N-patch. Les valeurs peuvent être D3DDEGREE _ cubique (par défaut) ou D3DDEGREE _ Linear. Pour plus d’informations, consultez D3DDEGREETYPE.

D3DRS _ NORMALDEGREE

Degré d’interpolation normale N-patch. Les valeurs peuvent être D3DDEGREE _ Linear (par défaut) ou D3DDEGREE _ quadratique. Pour plus d’informations, consultez D3DDEGREETYPE.

D3DRS _ SCISSORTESTENABLE

True pour activer le test de ciseaux et false pour le désactiver. La valeur par défaut est FALSE.

D3DRS _ SLOPESCALEDEPTHBIAS

Utilisé pour déterminer la quantité d’écart pouvant être appliquée aux primitives coplanaires pour réduire la lutte z. La valeur par défaut est 0.

Bias = (Max * D3DRS _ SLOPESCALEDEPTHBIAS) + D3DRS _ DEPTHBIAS.

où Max est la pente de profondeur maximale du triangle rendu.

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.

Lors du rendu sur une cible de rendu d’échantillonnage, D3DRS _ ANTIALIASEDLINEENABLE est ignoré et toutes les lignes sont associées à un alias. Utilisez ID3DXLine pour le rendu de ligne avec anticrénelage dans une cible de rendu multiéchantillon.

D3DRS _ MINTESSELLATIONLEVEL

Niveau de pavage minimal. La valeur par défaut est 1,0 f. Voir pavage (Direct3D 9).

D3DRS _ MAXTESSELLATIONLEVEL

Niveau de pavage maximal. La valeur par défaut est 1,0 f. Voir pavage (Direct3D 9).

D3DRS _ ADAPTIVETESS _ X

Valeur de paver de manière adaptative, sur l’axe x. La valeur par défaut est 0.0 f. Consultez pavage adaptative.

D3DRS _ ADAPTIVETESS _ Y

Valeur de paver adaptative, sur l’axe y. La valeur par défaut est 0.0 f. Consultez _ pavage adaptative.

D3DRS _ ADAPTIVETESS _ Z

Valeur de paver de manière adaptative, en z. La valeur par défaut est 1,0 f. Consultez _ pavage adaptative.

D3DRS _ ADAPTIVETESS _ W

Valeur de paver adaptative, dans la direction w. La valeur par défaut est 0.0 f. Consultez _ pavage adaptative.

D3DRS _ ENABLEADAPTIVETESSELLATION

True pour activer le pavage adaptative, false pour le désactiver. La valeur par défaut est FALSE. Consultez _ pavage adaptative.

D3DRS _ TWOSIDEDSTENCILMODE

True active le stencil à deux côtés, 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 stencil à deux côtés. Si l’ordre d’enroulement du triangle est dans le sens des aiguilles d’une montre, les _ opérations du stencil D3DRS * sont utilisées. Si l’ordre d’enroulement est dans le sens inverse des aiguilles d' _ une passe, les opérations du stencil D3DRS CCW _ * sont utilisées.

Pour voir si le stencil à deux côtés est pris en charge, consultez le membre StencilCaps de D3DCAPS9 pour D3DSTENCILCAPS _ TWOSIDED. Voir aussi D3DSTENCILCAPS.

D3DRS _ CCW _ STENCILFAIL

Opération de stencil à effectuer si le test du stencil CCW échoue. Les valeurs proviennent du type énuméré D3DSTENCILOP . La valeur par défaut est D3DSTENCILOP _ Keep.

D3DRS _ CCW _ STENCILZFAIL

Opération de stencil à exécuter si le test de stencil CCW réussit et que le test z échoue. Les valeurs proviennent du type énuméré D3DSTENCILOP . La valeur par défaut est D3DSTENCILOP _ Keep.

D3DRS _ CCW _ STENCILPASS

Opération de stencil à effectuer si les deux stencils CCW et z-tests réussissent. Les valeurs proviennent du type énuméré D3DSTENCILOP . La valeur par défaut est D3DSTENCILOP _ Keep.

D3DRS _ CCW _ STENCILFUNC

Fonction de comparaison. Le test du stencil CCW réussit si la fonction de stencil ((Ref & Mask) (gabarit & Mask)) a la valeur true. Les valeurs proviennent du type énuméré D3DCMPFUNC . La valeur par défaut est D3DCMP _ Always.

D3DRS _ COLORWRITEENABLE1

Valeurs ColorWriteEnable supplémentaires pour les appareils. Consultez D3DRS _ COLORWRITEENABLE. Cette fonctionnalité est disponible si le _ bit des fonctionnalités D3DPMISCCAPS INDEPENDENTWRITEMASKS est défini dans le membre PrimitiveMiscCaps de la structure D3DCAPS9 pour l’appareil. La valeur par défaut est 0x0000000f.

D3DRS _ COLORWRITEENABLE2

Valeurs ColorWriteEnable supplémentaires pour les appareils. Consultez D3DRS _ COLORWRITEENABLE. Cette fonctionnalité est disponible si le _ bit des fonctionnalités D3DPMISCCAPS INDEPENDENTWRITEMASKS est défini dans le membre PrimitiveMiscCaps de la structure D3DCAPS9 pour l’appareil. La valeur par défaut est 0x0000000f.

D3DRS _ COLORWRITEENABLE3

Valeurs ColorWriteEnable supplémentaires pour les appareils. Consultez D3DRS _ COLORWRITEENABLE. Cette fonctionnalité est disponible si le _ bit des fonctionnalités D3DPMISCCAPS INDEPENDENTWRITEMASKS est défini dans le membre PrimitiveMiscCaps de la structure D3DCAPS9 pour l’appareil. La valeur par défaut est 0x0000000f.

D3DRS _ BLENDFACTOR

D3DCOLOR utilisé pour une constante Blend-Factor pendant la fusion alpha. Cette fonctionnalité est disponible si le _ bit des fonctionnalités D3DPBLENDCAPS BLENDFACTOR est défini dans le membre SrcBlendCaps de D3DCAPS9 ou le membre DestBlendCaps de D3DCAPS9. Consultez D3DRENDERSTATETYPE. La valeur par défaut est 0xFFFFFFFF.

D3DRS _ SRGBWRITEENABLE

Activez la valeur gamma des écritures de la cible de rendu pour qu’elles soient corrigées en sRVB. 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. Consultez décalage de profondeur (Direct3D 9). La valeur par défaut est 0.

D3DRS _ WRAP8

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP9

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP10

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP11

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP12

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP13

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP14

Consultez D3DRS _ WRAP0.

D3DRS _ WRAP15

Consultez D3DRS _ WRAP0.

D3DRS _ SEPARATEALPHABLENDENABLE

True active le mode de fondu distinct pour le canal alpha. La valeur par défaut est FALSE.

Quand la valeur est false, les facteurs et les opérations de fusion de cible de rendu appliqués à alpha sont forcés à être les mêmes que ceux définis pour la couleur. Ce mode est effectivement câblé à false sur les implémentations qui ne définissent pas le SEPARATEALPHABLEND Cap D3DPMISCCAPS _ . Consultez D3DPMISCCAPS.

Le type de fusion alpha distincte est déterminé par les États de _ rendu D3DRS SRCBLENDALPHA et D3DRS _ DESTBLENDALPHA.

D3DRS _ SRCBLENDALPHA

Un membre du type énuméré D3DBLEND . Cette valeur est ignorée, sauf si D3DRS _ SEPARATEALPHABLENDENABLE a la valeur true. La valeur par défaut est D3DBLEND _ .

D3DRS _ DESTBLENDALPHA

Un membre du type énuméré D3DBLEND . Cette valeur est ignorée, sauf si D3DRS _ SEPARATEALPHABLENDENABLE a la valeur true. La valeur par défaut est D3DBLEND _ zéro.

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.

Les valeurs valides sont définies par le type énuméré D3DBLENDOP . La valeur par défaut est D3DBLENDOP _ Add.

Si la fonctionnalité de l' _ appareil D3DPMISCCAPS BLENDOP n’est pas prise en charge, l’ajout de D3DBLENDOP _ est effectué. Consultez D3DPMISCCAPS.

D3DRS _ forcer _ DWORD

Force cette énumération à se compiler à 32 bits de taille. Sans cette valeur, certains compilateurs permettent à cette énumération de compiler à une taille autre que 32 bits. Cette valeur n'est pas utilisée.

Remarques

États de rendu Échantillonneur de texture
PS _ 1 _ 1 à PS _ 1 _ 3 4 échantillonneurs de texture

Direct3D définit la _ constante WRAPBIAS D3DRENDERSTATE comme un moyen pratique pour les applications d’activer ou de désactiver le renvoi à la ligne, en fonction de l’entier de base zéro d’un jeu de coordonnées de texture (plutôt que d’utiliser explicitement l’une des _ valeurs d’État n de retour de D3DRS). Ajoutez la _ valeur WRAPBIAS D3DRENDERSTATE à l’index de base zéro d’un jeu de coordonnées de texture pour calculer la _ valeur n Wrap D3DRS correspondant à cet index, comme indiqué dans l’exemple suivant.

// Enable U/V wrapping for textures that use the texture 
// coordinate set at the index within the dwIndex variable
    
HRESULT hr = pd3dDevice->SetRenderState(
dwIndex + D3DRENDERSTATE_WRAPBIAS,  
D3DWRAPCOORD_0 | D3DWRAPCOORD_1);
     
// If dwIndex is 3, the value that results from 
// the addition equals D3DRS_WRAP3 (131)

Configuration requise

Condition requise Valeur
En-tête
D3D9Types. h

Voir aussi

Énumérations Direct3D

IDirect3DDevice9::GetRenderState

IDirect3DDevice9::SetRenderState