Unterschiede DX9/ DX10
-
Auch auf die Gefahr hin, dass eshier schonmal gefragt wurde:
Was sind die wesentlichen Unterschiede?
Ich habe im www bislang ein Paar sehr wenig aufschlussreiche Videos gefunden. Aber da kann man sich viel hineindenken.
Vor allen Dingen steht da nichts über eventuelle Unterschiede in den Programmierkonzepten.
Ein Paar Antworten oder Links wären sehr Nett, danke!
-
siehe DX 10 SDK "Direct3D 9 to Direct3D 10 Considerations"
The following page provides a basic outline of key differences between Direct3D 9 and Direct3D 10. This documentation is preliminary and incomplete; it serves as a prelude to a comprehensive Direct3D 9 to Direct3D 10 porting and cross-platform development guide which will be provided in a future release of the DirectX SDK. The outline below provides some initial insight to assist developers with Direct3D 9 experience to explore and relate to Direct3D 10.
Overview of the Major Structural Changes in Direct3D 10
Engine Abstractions / Separation
Tricks for Quickly Resolving Application Build Issues
Driving the Direct3D 10 API
Porting Textures
Porting Shaders
Additional Direct3D 10 Differences to Watch For
Overview of the Major Structural Changes in Direct3D 10
Removal of Fixed Function
Device Object Creation Time Validation
The process of rendering using the Direct3D 10 device is structurally similar to Direct3D 9.Set a vertex stream source
Set input layout in Direct3D 10 (Set vertex stream declaration in Direct3D 9)
Declare primitive topology
Set textures
Set state objects
Set shaders
Draw
The Draw call ties the operations together; the ordering of calls prior to the Draw call is arbitrary. The major differences in the Direct3D 10 API design are as follows:Removal of Fixed Function
Removal of CAPS bits - Direct3D 10's base feature set is guaranteed
Stricter management of: resource access, device state, shader constants, shader linkage (inputs and outputs to shaders) between stages
API entry point names changes reflect the virtualization of GPU memory (Map() instead of Lock()).
A debug layer can be added to the device at creation time
The primitive topology is now an explicit state (separated from the Draw call)
Explicit shader constants are now stored in constant buffers
Shader authoring is done entirely in HLSL. The HLSL compiler now resides in the primary Direct3D 10 DLL.
New programmable stage - the geometry shader
Removal of BeginScene()/EndScene()
Common 2D, focus and adapter-management functionality refactored into a new component: DXGI