Veraltete Features (Direct3D 10)
Eine Liste der in Direct3D 10 verfügbaren Features finden Sie hier. Auf dieser Seite werden die Direct3D 9-Features aufgelistet, die in Direct3D 10 nicht mehr unterstützt werden.
Die größten Featureänderungen in Direct3D 10 sind:
- Direct3D 10 unterstützt die Transformations- und Beleuchtungspipeline mit fester Funktion nicht mehr.
- Direct3D 10 unterstützt den Textur-Blender mit fester Funktion (manchmal auch als Pixelshader mit fester Funktion bezeichnet).
- Direct3D 10 implementiert neue Rasterisierungsregeln, die einfacher und sauberer sind als die älteren GDI-Regeln, die in Direct3D 9 implementiert sind. Für instance wird das Letzte-Pixel-Steuerelement für Zeilen nicht mehr unterstützt.
Hier ist eine vollständige Liste der Features in Direct3D 9, die in Direct3D 10 veraltet sind.
Alphamischung. Alphamischung ist jetzt unabhängig von der Farbmischung programmiert. Direct3D 10 fügt eine Alpha-Blend-Enable-Umschaltfläche hinzu, die standardmäßig aktiviert ist. Weitere Informationen finden Sie unter State Objects (Direct3D 10).
Alphatest. Alphatest ist ein Pixelverhalten mit fester Funktion für Direct3D 9. Der Alphatest wird in programmierbare Pixelshader für Direct3D 10 und höher verschoben. Informationen zum Emulieren der Direct3D 9-Alphatestfunktionalität in Direct3D 10 und höher finden Sie im FixedFuncEMU-Beispiel im DirectX SDK für Juni 2010.
Optionen für den Mischmodus. BOTHSRCALPHA wurde aus D3D10_BLEND entfernt, da es mit BOTHINVSRCALPHA redundant ist. Weitere Informationen finden Sie unter D3D10_BLEND .
Blockieren von Komprimierungsformaten. In Direct3D 10 gibt es keinen Unterschied zwischen prämultipliziertem Alpha oder nicht vormultipliziertem Alpha. Diese Direct3D 9-Formate werden den folgenden Direct3D 10-Formaten zugeordnet:
Direct3D 9 Direct3D 10 DXT1 BC1* DXT2,DXT3 BC2* DXT4,DXT5 BC3* Weitere Informationen finden Sie unter Block Compression (Direct3D 10).
Clipebenen. Anstelle von Clipebenen implementiert Direct3D 10 Clip-Entfernungen und Cull-Entfernungen mit jeweils bis zu 8 Komponenten in bis zu 2 Elementen von Vertexattributen. Weitere Informationen finden Sie unter Semantik (DirectX HLSL). Das FixedFuncEMU-Beispiel enthält ein Beispiel für das Emulieren von Clipebenen in Direct3D 10.
Dithering. Direct3D 10 unterstützt das Schreiben von ditherierten Daten in ein Renderziel nicht.
Transformations- und Beleuchtungspipeline mit fester Funktion in nicht verfügbar. Stattdessen müssen Sie Shader verwenden. Weitere Informationen finden Sie unter Shaderstufen (Direct3D 10).
Fixed-Function-Textur-Blender (auch als fester Funktionspixelshader bezeichnet). Stattdessen müssen Sie Shader verwenden. Weitere Informationen finden Sie unter Shaderstufen (Direct3D 10).
Füllmodi wurden geändert. Direct3D 10 implementiert den Vollton- und Drahtmodell-Füllmodus. Der D3DFILLMODE-Punkt wurde entfernt. Verwenden Sie bei Bedarf einen Geometrie-Shader, um den Punktmodus zu emulieren. Das FixedFuncEMU-Beispiel enthält ein Beispiel für die Emulierung des D3DFILLMODE-Punkts in Direct3D 10. Weitere Informationen finden Sie unter D3D10_FILL_MODE und Shaderstufen (Direct3D 10).
Formate. Hardware kann Formate verwenden, die von der API verfügbar gemacht werden. Leuchtdichteformate sind nicht mehr implementiert.
Mipmap-Filterung. Die Option zum Auswählen des No-Filter-Modus wurde entfernt. Verwenden Sie stattdessen eine Textur mit nur einer einzelnen mipmap, oder legen Sie den MaxLOD-Samplerzustand auf 0 fest. Weitere Informationen finden Sie unter State Objects (Direct3D 10).
Paletten. Anwendungen sollten stattdessen eine abhängige Textur lesen.
Pixel- und Vertexshadermodelle: 1_x, 2_x und 3_0. Direct3D 10 unterstützt Shadermodell 4. Weitere Informationen finden Sie unter Shadermodell 4 .
Punktsprites. Verwenden Sie stattdessen einen Geometry-Shader. Weitere Informationen finden Sie unter Shaderstufen (Direct3D 10).
Rasterungsregeln. Ältere GDI-Linienrasterregeln werden durch übersichtlichere, einfachere Regeln ersetzt. Das Letzte-Pixel-Steuerelement für Zeilen wird nicht mehr unterstützt. Weitere Informationen finden Sie unter Rasterungsregeln (Direct3D 10).
Schattierungsmodi. D3DSHADEMODE (unterstützt flat/gouraud/phong shading) wurde entfernt. Direct3D 10 implementiert stattdessen zwei Interpolationsmodifizierer für Vertexshaderausgaben. Im FixedFuncEMU-Beispiel finden Sie ein Beispiel für die Emulierung von Direct3D 9-Gouraud- und Flachschattierungsmodi in Direct3D 10.
texldp-Anweisung . Eine Anwendung muss eine projizierte Texturlast mit zusätzlichen HLSL-Anweisungen implementieren. Weitere Informationen finden Sie unter Referenz für HLSL . Das FixedFuncEMU-Beispiel enthält ein Beispiel für die Emulierung von Texldp in Direct3D 10.
Texturkoordinatenindex (TCI) texture-stage state (D3DTSS_TEXCOORDINDEX) wird nicht mehr unterstützt.
Dreieck-Lüfter. Eine Anwendung muss vorhandene Dreiecksfächer in Dreieckslisten oder Dreiecksstreifen konvertieren. Um einige Verhaltensweisen mit DrawPrimitive in älteren APIs zu emulieren, versuchen Sie, DrawIndexed in Direct3D 10 zu verwenden. Weitere Informationen finden Sie unter Primitive Topologien (Direct3D 10).
W-Pufferung. Die Hardwareunterstützung ist nicht garantiert. Es wird empfohlen, dass eine Anwendung stattdessen Tiefenpuffer mit hoher Genauigkeit verwendet. Weitere Informationen finden Sie unter Konfigurieren Depth-Stencil Funktionalität (Direct3D 10).
Umbruchmodi (Texturkoordinatenumbruch). Texture Address Wrapping (z. B. Wrap, Spiegel, Clamp usw.) ist weiterhin vorhanden. Weitere Informationen finden Sie unter D3D10_SAMPLER_DESC und D3D10_TEXTURE_ADDRESS_MODE.
Zugehörige Themen