Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta sekcja zawiera kluczowe różnice między ustawianiem stanu urządzenia przy użyciu funkcji stałej i programowalnego potoku cieniowania.
Poniżej przedstawiono stany urządzeń, które można ustawić tylko dla potoku funkcji stałej:
- Przekształcanie i oświetlenie funkcji stałych: IDirect3DDevice9::SetRenderState z 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
- Cieniowanie pikseli funkcji stałej: IDirect3DDevice9::SetRenderState z D3DRS_TEXTUREFACTOR, IDirect3DDevice9::SetTextureStageState
- Mgła: IDirect3DDevice9::SetRenderState z D3DRS_FOGENABLE, D3DRS_FOGCOLOR, D3DRS_FOGTABLEMODE, D3DRS_FOGSTART, D3DRS_FOGEND, D3DRS_FOGDENSITY, D3DRS_RANGEFOGENABLE, D3DRS_FOGVERTEXMODE
Poniżej przedstawiono stany renderowania urządzenia, które można ustawić za pomocą IDirect3DDevice9::SetRenderState dla potoków funkcji stałych i programowalnego cieniowania:
- Stan docelowy renderowania: D3DRS_COLORWRITEENABLE, D3DRS_COLORWRITEENABLE1, D3DRS_COLORWRITEENABLE2, D3DRS_COLORWRITEENABLE3, D3DRS_SRGBWRITEENABLE
- Stan głębokości: D3DRS_ZENABLE, D3DRS_ZWRITEENABLE, D3DRS_ZFUNC, D3DRS_SLOPESCALEDEPTHBIAS, D3DRS_DEPTHBIAS
- Stan wzornika: 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
- Łączenie alfa: D3DRS_SRCBLEND, D3DRS_DESTBLEND, D3DRS_BLENDOP, D3DRS_BLENDFACTOR, D3DRS_SEPARATEALPHABLENDENABLE, D3DRS_SRCBLENDALPHA, D3DRS_DESTBLENDALPHA, D3DRS_BLENDOPALPHA
- Test alfa: D3DRS_ALPHATESTENABLE, D3DRS_ALPHAREF, D3DRS_ALPHAFUNC
- Stan rasteryzatora: D3DRS_FILLMODE, D3DRS_LASTPIXEL, D3DRS_DITHERENABLE (powierzchnie 16-bitowe)
- Uśmiercanie: D3DRS_CULLMODE
- Wycinki: D3DRS_CLIPPING, D3DRS_CLIPPLANEENABLE
- Nożyce: D3DRS_SCISSORTESTENABLE
- Próbkatory tekstur: 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
- Anty aliasowanie: D3DRS_MULTISAMPLEANTIALIAS, D3DRS_MULTISAMPLEMASK, D3DRS_ANTIALIASEDLINEENABLE
- Sprites punktów: 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
Tematy pokrewne