Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Modul Microsoft Direct3D runtime převádí stav pevně definovaných funkcí Direct3D na vertex nebo pixel shader verze 2.0, pokud ovladač zobrazení v uživatelském režimu podporuje verzi 2.0 nebo novější pro každý typ shaderu. Modul runtime však nepřevádí verze shaderu. Pokud například aplikace používá vertex nebo pixel shader verze 1.1, verze 1.1 se nepřevedená předá ovladači zobrazení v uživatelském režimu, a to bez ohledu na to, zda ovladač podporuje shader verze 2.0 nebo novější. Kódy flexibilního formátu vrcholů (FVF) se používají při zpracování s pevnou funkcí.
Funkce převaděče pro verze DirectX
Jak fungují převaděče vrcholového a pixelového shaderu s pevnou funkcí, závisí na používané verzi rozhraní Microsoft DirectX.
DirectX 9.0
Převaděče vrcholů s pevnou funkcí a pixel shader mohou pracovat s modelem ovladače zobrazení systému Windows Vista.
Převaděče jsou ve výchozím nastavení povolené.
Pokud se použije převaděč pro vertexový nebo pixelový shader s pevnou funkcí, je čisté zařízení zakázané. Když aplikace požádá o čisté zařízení, modul runtime Direct3D vytvoří zařízení HAL.
Modul runtime podporuje smíšené zpracování vrcholů.
Softwarové zpracování vrcholů vždy používá převaděč vertex shaderu s pevnou funkcí.
Hardwarové zpracování vrcholů používá převaděč vertex shaderu pevné funkce, pokud ovladač podporuje shader verze 2.0 či vyšší.
Zpracování vrcholů hardwaru používá převaděč shaderu pixelů s pevnou funkcí, pokud ovladač podporuje pixel shader verze 2.0 nebo novější.
V režimu zpracování smíšených vrcholů, pokud je povolen převaděč shaderu vrcholů s pevnou funkcí pro hardware, je počet plovoucích konstant nastaven na to, co hardware může podporovat.
DirectX 8.0 a starší
Pevné funkční převaděče pro vrcholy a pixelové shadery můžou pracovat pouze s modelem ovladače zobrazení systému Windows Vista.
Převaděče jsou ve výchozím nastavení povolené.
Převaděč shaderu vrcholů s pevnou funkcí není podporován při softwarovém zpracování vrcholů.
Zpracování vrcholů hardwaru používá převaděč vertex shaderu s pevnou funkcí, pokud ovladač podporuje shader vrcholů verze 2.0 nebo novější.
Zpracování vrcholů hardwaru používá převaděč shaderu pixelů s pevnou funkcí, pokud ovladač podporuje pixel shader verze 2.0 nebo novější.
Poznámka Pro verze DirectX před DirectX 8.0 je pevná funkce pro mapování kódu shaderu implementována v Ddraw.dll.
Nepoužívané funkce ovladače User-Mode display
Následující funkce ovladače zobrazení v uživatelském režimu nejsou volána Direct3D runtimem, pokud je povolen převaděč vertex shaderu s pevnou funkcí:
Nepoužité stavy vykreslení
Následující stavy vykreslování nejsou předány modulem runtime Direct3D (nebo pokud jsou předány omylem, mohou být ovladačem ignorovány), pokud je povolen převodník pevného funkčního vertexového shaderu:
D3DRS_VERTEXBLEND
D3DRS_INDEXEDVERTEXBLENDENABLE
D3DRS_TWEENFACTOR
D3DRS_FOGVERTEXMODE
D3DRS_LIGHTING
D3DRS_AMBIENT
D3DRS_COLORVERTEX
D3DRS_LOCALVIEWER
D3DRS_DIFFUSEMATERIALSOURCE
D3DRS_SPECULARMATERIALSOURCE
D3DRS_AMBIENTMATERIALSOURCE
D3DRS_EMISSIVEMATERIALSOURCE
D3DRS_POINTSCALEENABLE
D3DRS_POINTSCALE_A
D3DRS_POINTSCALE_B
D3DRS_POINTSCALE_C
D3DRS_NORMALIZENORMALS
Ignorované stavy fáze textury
Modul runtime Direct3D předá ovladači všechny stavy fáze textury. Ovladač by měl ignorovat následující stavy textury, pokud je povolen převaděč shaderu pixel s pevnou funkcí:
D3DTSS_COLOROP
D3DTSS_COLORARG1
D3DTSS_COLORARG2
D3DTSS_ALPHAOP
D3DTSS_ALPHAARG1
D3DTSS_ALPHAARG2
D3DTSS_BUMPENVMAT00
D3DTSS_BUMPENVMAT01
D3DTSS_BUMPENVMAT10
D3DTSS_BUMPENVMAT11
D3DTSS_BUMPENVLSCALE
D3DTSS_BUMPENVLOFFSET
D3DTSS_COLORARG0
D3DTSS_ALPHAARG0
D3DTSS_RESULTARG
D3DTSS_CONSTANT