Définir l’état de l’appareil sur les pipelines de nuanceur à fonction fixe
Cette section présente les principales différences entre la définition de l’état de l’appareil avec la fonction fixe et le pipeline de nuanceur programmable.
Voici les états d’appareil que vous pouvez définir uniquement pour un pipeline à fonction fixe :
- Transformation et éclairage de fonction fixe : IDirect3DDevice9::SetRenderState avec D3DRS_SHADEMODE, D3DRS_SPECULARENABLE, D3DRS_LIGHTING, D3DRS_AMBIENT, D3DRS_COLORVERTEX, D3DRS_LOCALVIEWER, D3DRS_NORMALIZENORMALS, D3DRS_DIFFUSEMATERIALSOURCE, D3DRS_SPECULARMATERIALSOURCE, D3DRS_AMBIENTMATERIALSOURCE, D3DRS_EMISSIVEMATERIALSOURCE, D3DRS_VERTEXBLEND, D3DRS_INDEXEDVERTEXBLENDENABLE, D3DRS_TWEENFACTOR, IDirect3DDevice9::LightEnable, IDirect3DDevice9:: MultiplyTransform, IDirect3DDevice9::SetFVF, IDirect3DDevice9::SetLight, IDirect3DDevice9::SetMaterial, IDirect3DDevice9::SetTransform
- Nuanceur de pixels à fonction fixe : IDirect3DDevice9::SetRenderState avec D3DRS_TEXTUREFACTOR, IDirect3DDevice9::SetTextureStageState
- Fog : IDirect3DDevice9::SetRenderState avec D3DRS_FOGENABLE, D3DRS_FOGCOLOR, D3DRS_FOGTABLEMODE, D3DRS_FOGSTART, D3DRS_FOGEND, D3DRS_FOGDENSITY, D3DRS_RANGEFOGENABLE, D3DRS_FOGVERTEXMODE
Voici les états de rendu d’appareil que vous pouvez définir avec IDirect3DDevice9::SetRenderState pour les pipelines de nuanceur programmable et à fonction fixe :
- État cible du rendu : D3DRS_COLORWRITEENABLE, D3DRS_COLORWRITEENABLE1, D3DRS_COLORWRITEENABLE2, D3DRS_COLORWRITEENABLE3, D3DRS_SRGBWRITEENABLE
- État de profondeur : D3DRS_ZENABLE, D3DRS_ZWRITEENABLE, D3DRS_ZFUNC, D3DRS_SLOPESCALEDEPTHBIAS, D3DRS_DEPTHBIAS
- État du gabarit : D3DRS_STENCILENABLE, D3DRS_STENCILFAIL, D3DRS_STENCILZFAIL, D3DRS_STENCILPASS, D3DRS_STENCILFUNC, D3DRS_STENCILREF, D3DRS_STENCILMASK, D3DRS_STENCILWRITEMASK, D3DRS_TWOSIDEDSTENCILMODE, D3DRS_CCW_STENCILFAIL, D3DRS_CCW_STENCILZFAIL, D3DRS_CCW_STENCILPASS, D3DRS_CCW_STENCILFUNC
- Alpha Blending : D3DRS_SRCBLEND, D3DRS_DESTBLEND, D3DRS_BLENDOP, D3DRS_BLENDFACTOR, D3DRS_SEPARATEALPHABLENDENABLE, D3DRS_SRCBLENDALPHA, D3DRS_DESTBLENDALPHA, D3DRS_BLENDOPALPHA
- Test alpha : D3DRS_ALPHATESTENABLE, D3DRS_ALPHAREF D3DRS_ALPHAFUNC
- État du rastériseur : D3DRS_FILLMODE, D3DRS_LASTPIXEL, D3DRS_DITHERENABLE (surfaces 16 bits)
- Abattage : D3DRS_CULLMODE
- Découpage : D3DRS_CLIPPING, D3DRS_CLIPPLANEENABLE
- Ciseaux : D3DRS_SCISSORTESTENABLE
- Échantillonneurs de texture : D3DRS_WRAP0, D3DRS_WRAP1, D3DRS_WRAP2, D3DRS_WRAP3, D3DRS_WRAP4, D3DRS_WRAP5, D3DRS_WRAP6, D3DRS_WRAP7, D3DRS_WRAP8, D3DRS_WRAP9, D3DRS_WRAP10, D3DRS_WRAP11, D3DRS_WRAP12, D3DRS_WRAP13, D3DRS_WRAP14, D3DRS_WRAP15
- Anticrénelage : D3DRS_MULTISAMPLEANTIALIAS, D3DRS_MULTISAMPLEMASK, D3DRS_ANTIALIASEDLINEENABLE
- Sprites de points : D3DRS_POINTSIZE, D3DRS_POINTSIZE_MIN, D3DRS_POINTSPRITEENABLE, D3DRS_POINTSIZE_MAXD3DRS_POINTSCALEENABLE, D3DRS_POINTSCALE_A, D3DRS_POINTSCALE_B, D3DRS_POINTSCALE_C
- N patches : D3DRS_PATCHEDGESTYLE, D3DRS_POSITIONDEGREE, D3DRS_NORMALDEGREE, D3DRS_MINTESSELLATIONLEVEL, D3DRS_MAXTESSELLATIONLEVEL, D3DRS_ADAPTIVETESS_X, D3DRS_ADAPTIVETESS_Y, D3DRS_ADAPTIVETESS_Z, D3DRS_ADAPTIVETESS_W, D3DRS_ENABLEADAPTIVETESSELLATION
Rubriques connexes