Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Microsoft Direct3D-Runtime konvertiert den Direct3D-Zustand mit festen Funktionen in Vertex- oder Pixel-Shader Version 2.0, wenn der Benutzermodusanzeigetreiber version 2.0 oder höher für jeden Shadertyp unterstützt. Die Runtime konvertiert jedoch keine Shaderversionen. Wenn eine Anwendung beispielsweise Vertex- oder Pixel-Shader Version 1.1 verwendet, wird Version 1.1 unkonvertiert an den Benutzermodusanzeigetreiber übergeben, unabhängig davon, ob der Treiber Shaderversion 2.0 oder höher unterstützt. FVF-Codes (Flexible Vertex Format) werden bei der Verarbeitung mit festen Funktionen verwendet.
Konverterfeatures für DirectX-Versionen
Wie die Vertex- und Pixel-Shaderkonverter mit festen Funktionen funktionieren, hängt von der verwendeten Version von Microsoft DirectX ab:
DirectX 9.0
Vertex- und Pixel-Shaderkonverter mit festen Funktionen können mit dem Windows Vista-Anzeigetreibermodell funktionieren.
Die Konverter sind standardmäßig aktiviert.
Wenn der Vertex- oder Pixel-Shaderkonverter mit fester Funktion verwendet wird, wird das reine Gerät deaktiviert. Wenn eine Anwendung das reine Gerät anfordert, erstellt die Direct3D-Runtime ein HAL-Gerät.
Die Runtime unterstützt die Verarbeitung gemischter Scheitelpunkte.
Bei der Softwarevertexverarbeitung wird immer der Vertex-Shaderkonverter mit fester Funktion verwendet.
Die Hardwarevertexverarbeitung verwendet den Vertex-Shaderkonverter mit festen Funktionen, wenn der Treiber Vertex-Shader version 2.0 oder höher unterstützt.
Die Hardwarevertexverarbeitung verwendet den Pixel-Shaderkonverter mit fester Funktion, wenn der Treiber Pixel-Shader version 2.0 oder höher unterstützt.
Im Mixed-Vertex-Verarbeitungsmodus, wenn der Vertex-Shaderkonverter mit fester Funktion für Hardware aktiviert ist, wird die Anzahl der Floatkonstanten auf das festgelegt, was die Hardware unterstützen kann.
DirectX 8.0 und früher
Vertex- und Pixel-Shaderkonverter mit festen Funktionen können nur mit dem Windows Vista-Anzeigetreibermodell funktionieren.
Die Konverter sind standardmäßig aktiviert.
Der Vertex-Shaderkonverter mit festen Funktionen wird bei der Softwarevertexverarbeitung nicht unterstützt.
Die Hardwarevertexverarbeitung verwendet den Vertex-Shaderkonverter mit festen Funktionen, wenn der Treiber Vertex-Shader version 2.0 oder höher unterstützt.
Die Hardwarevertexverarbeitung verwendet den Pixel-Shaderkonverter mit fester Funktion, wenn der Treiber Pixel-Shader version 2.0 oder höher unterstützt.
Hinweis Für Versionen von DirectX vor DirectX 8.0 wird die feste Funktion für Shaderzuordnungscode in Ddraw.dllimplementiert.
Nicht verwendete User-Mode Anzeigetreiberfunktionen
Die folgenden Benutzermodusanzeigetreiberfunktionen werden von der Direct3D-Runtime nicht aufgerufen, wenn der Vertex-Shaderkonverter für feste Funktionen aktiviert ist:
Nicht verwendete Renderzustände
Die folgenden Renderzustände werden nicht von der Direct3D-Runtime übergeben (oder, wenn sie versehentlich übergeben werden, können vom Treiber ignoriert werden), wenn der Vertex-Shaderkonverter mit festen Funktionen aktiviert ist:
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
Ignorierte Texturstufenzustände
Die Direct3D-Runtime übergibt alle Texturphasenzustände an den Treiber. Der Treiber sollte die folgenden Texturstufenzustände ignorieren, wenn der Pixel-Shaderkonverter mit fester Funktion aktiviert ist:
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