在固定函式、著色器管線上設定裝置狀態
本節提供設定裝置狀態與固定函式和可程式化著色器管線之間的主要差異。
以下是您可以為固定函式管線設定的裝置狀態:
- 固定函式轉換和光源: IDirect3DDevice9::SetRenderState 與 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、 IDirect3Device9::LightEnable、 IDirect3DDevice9::MultiplyTransform、 IDirect3DDevice9::SetFVF、 IDirect3Ddevice9::SetLight、 IDirect3DDevice9::SetMaterial、 IDirect3DDevice9::SetTransform
- 固定函式圖元著色器:具有 D3DRS_TEXTUREFACTOR、IDirect3DDevice9::SetTextureStageState的 IDirect3DDevice9::SetRenderState
- 水: IDirect3DDevice9::SetRenderState 與 D3DRS_FOGENABLE、D3DRS_FOGCOLOR、D3DRS_FOGTABLEMODE、D3DRS_FOGSTART、D3DRS_FOGEND、D3DRS_FOGDENSITY、D3DRS_RANGEFOGENABLE、D3DRS_FOGVERTEXMODE
以下是您可以針對固定函式和可程式化著色器管線使用 IDirect3DDevice9::SetRenderState 設定的裝置轉譯狀態:
- 轉譯目標狀態:D3DRS_COLORWRITEENABLE、D3DRS_COLORWRITEENABLE1、D3DRS_COLORWRITEENABLE2、D3DRS_COLORWRITEENABLE3 D3DRS_SRGBWRITEENABLE
- 深度狀態:D3DRS_ZENABLE、D3DRS_ZWRITEENABLE、D3DRS_ZFUNC、D3DRS_SLOPESCALEDEPTHBIAS、D3DRS_DEPTHBIAS
- 樣板狀態: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 混合:D3DRS_SRCBLEND、D3DRS_DESTBLEND、D3DRS_BLENDOP、D3DRS_BLENDFACTOR、D3DRS_SEPARATEALPHABLENDENABLE、D3DRS_SRCBLENDALPHA、D3DRS_DESTBLENDALPHA、D3DRS_BLENDOPALPHA
- Alpha 測試:D3DRS_ALPHATESTENABLE、D3DRS_ALPHAREF、D3DRS_ALPHAFUNC
- 轉譯器狀態:D3DRS_FILLMODE、D3DRS_LASTPIXEL、D3DRS_DITHERENABLE (16 位表面)
- 擷D3DRS_CULLMODE
- 裁剪:D3DRS_CLIPPING、D3DRS_CLIPPLANEENABLE
- 剪刀:D3DRS_SCISSORTESTENABLE
- 紋理取樣器: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
- 反鋸齒:D3DRS_MULTISAMPLEANTIALIAS、D3DRS_MULTISAMPLEMASK、D3DRS_ANTIALIASEDLINEENABLE
- 點 sprites:D3DRS_POINTSIZE、D3DRS_POINTSIZE_MIN、D3DRS_POINTSPRITEENABLE、D3DRS_POINTSIZE_MAXD3DRS_POINTSCALEENABLE、D3DRS_POINTSCALE_A、D3DRS_POINTSCALE_B、D3DRS_POINTSCALE_C
- N 修補程式:D3DRS_PATCHEDGESTYLE、D3DRS_POSITIONDEGREE、D3DRS_NORMALDEGREE、D3DRS_MINTESSELLATIONLEVEL、D3DRS_MAXTESSELLATIONLEVEL、D3DRS_ADAPTIVETESS_X、D3DRS_ADAPTIVETESS_Y、D3DRS_ADAPTIVETESS_Z、D3DRS_ADAPTIVETESS_W、D3DRS_ENABLEADAPTIVETESSELLATION
相關主題