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.
Eine Liste der in Direct3D 10 verfügbaren Features ist hier . Auf dieser Seite sind die Direct3D 9-Features aufgeführt, 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 nicht mehr (manchmal auch als Pixelshader mit fester Funktion bezeichnet).
- Direct3D 10 implementiert neue Rasterungsregeln, die einfacher und übersichtlicher sind als die älteren GDI-Regeln, die in Direct3D 9 implementiert werden. Beispielsweise wird das Letzte-Pixel-Steuerelement für Linien nicht mehr unterstützt.
Hier ist eine vollständige Liste der Features in Direct3D 9, die in Direct3D 10 veraltet sind.
Alpha-Blend-. Alpha-Mischung ist jetzt unabhängig von Farbmischung programmiert. Direct3D 10 fügt einen Alpha-Blend-fähigen Umschalter hinzu, der 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 Blendmodus. BOTHSRCALPHA wurde aus D3D10_BLEND entfernt, da es mit BOTHINVSRCALPHA redundant ist. Weitere Informationen finden Sie unter D3D10_BLEND.
Blockkomprimierungsformate. Es gibt keinen Unterschied zwischen prämultiplizierten Alpha oder nicht vormultiplizierten Alpha in Direct3D 10. Diese Direct3D 9-Formate werden diesen Direct3D 10-Formaten zugeordnet:
Direct3D 9 Direct3D 10 DXT1 BC1* DXT2,DXT3 BC2* DXT4,DXT5 BC3* Weitere Informationen finden Sie unter Blockkomprimierung (Direct3D 10).
Clip planes. Statt Clipebenen zu verwenden, implementiert Direct3D 10 Clip-Entfernungen und Ullabstände, wobei jeweils bis zu 8 Komponenten in bis zu 2 Elementen von Vertexattributen enthalten sind. Weitere Informationen finden Sie unter Semantics (DirectX HLSL). FixedFuncEMU-Beispiel stellt ein Beispiel für das Emulieren von Clipebenen in Direct3D 10 bereit.
Dithering. Direct3D 10 unterstützt das Schreiben von ditherierten Daten nicht in ein Renderziel.
Transformations- und Beleuchtungspipeline mit fester Funktion in nicht verfügbaren. Stattdessen müssen Sie Shader verwenden. Weitere Informationen finden Sie unter Shaderphasen (Direct3D 10).
Textur-Blender mit fester Funktion (auch als Feste Funktionspixel-Shader bezeichnet). Stattdessen müssen Sie Shader verwenden. Weitere Informationen finden Sie unter Shaderphasen (Direct3D 10).
Füllmodi geändert haben. Direct3D 10 implementiert Voll- und Drahtmodellfüllmodi. D3DFILLMODE Punkt entfernt wurde, verwenden Sie bei Bedarf einen Geometrie-Shader, um den Punktmodus zu emulieren. FixedFuncEMU-Beispiel- stellt ein Beispiel zum Emulieren D3DFILLMODE Punkt in Direct3D 10 bereit. 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 werden nicht mehr implementiert.
Mipmap-Filterung. Die Option zum Auswählen des No-Filter-Modus wurde entfernt. Verwenden Sie stattdessen eine Textur mit nur einem einzelnen Mipmap, oder legen Sie den MaxLOD-Samplerzustand auf 0 fest. Weitere Informationen finden Sie unter State Objects (Direct3D 10).
Paletten. Anwendungen sollten stattdessen einen abhängigen Texturlesevorgang verwenden.
Pixel- und Vertex-Shadermodelle: 1_x, 2_x und 3_0. Direct3D 10 unterstützt Shadermodell 4. Weitere Informationen finden Sie unter Shadermodell 4.
Punkt sprites. Verwenden Sie stattdessen einen Geometrie-Shader. Weitere Informationen finden Sie unter Shaderphasen (Direct3D 10).
Rasterungsregeln. Ältere GDI-Linienrasterungsregeln werden durch übersichtlichere, einfachere Regeln ersetzt. Das Letzte-Pixel-Steuerelement für Linien wird nicht mehr unterstützt. Weitere Informationen finden Sie unter Rasterungsregeln (Direct3D 10).
Shade-Modi. D3DSHADEMODE (die flat/gouraud/phong shading unterstützen) wurde entfernt. Direct3D 10 implementiert stattdessen zwei Interpolationsmodifizierer für Vertex-Shader-Ausgaben. Ein Beispiel zum Emulieren von Direct3D 9-Gouraud- und Flachschattierungsmodi in Direct3D 10 finden Sie unter FixedFuncEMU-Beispiel.
texldp Anweisung. Eine Anwendung muss eine projizierte Texturlast mit zusätzlichen HLSL-Anweisungen implementieren. Weitere Informationen finden Sie unter Reference for HLSL. FixedFuncEMU-Beispiel stellt ein Beispiel für das Emulieren von Texldp in Direct3D 10 bereit.
Texturkoordinatenindex- (TCI)-Texturphasenzustand (D3DTSS_TEXCOORDINDEX) wird nicht mehr unterstützt.
Dreiecksfans. Eine Anwendung muss vorhandene Dreiecksfächer in Dreieckslisten oder Dreiecksstreifen konvertieren. Um einige Verhaltensweisen mithilfe von 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 gewährleistet; Es wird empfohlen, dass eine Anwendung stattdessen tiefenpuffer mit hoher Genauigkeit verwendet. Weitere Informationen finden Sie unter Configuring Depth-Stencil Functionality (Direct3D 10).
Umbruchmodi (Texturkoordinatenumbruch). Texturadressenumbruch (z. B. Umbruch, Spiegel, Klemme usw.) sind weiterhin vorhanden. Siehe D3D10_SAMPLER_DESC und D3D10_TEXTURE_ADDRESS_MODE.
Verwandte Themen