Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The Direct3D 10 graphics pipeline represents a fundamental architecture change, rebuilt from the ground-up in hardware and software to power the next-generation of games and 3D multimedia applications. It uses the Windows Display Driver Model (WDDM), which enables performance and behavioral enhancements such as virtual GPU memory.
Developers familiar with Direct3D 9 will discover a series of functional enhancements and performance improvements in Direct3D 10, including:
- The ability to process entire primitives in the new geometry-shader stage.
- The ability to output pipeline-generated vertex data to memory using the stream-output stage.
- Organization of pipeline state into 5 immutable state objects, enabling fast configuration of the pipeline.
- Organization of shader constants into constant buffers, minimizing bandwidth overhead for supplying shader-constant data.
- The ability to perform per-primitive material swapping and setup using a geometry shader.
- New resource types (including texture arrays that can be indexed from shaders) and resource formats.
- Increased generalization of resource access using a view.
- Legacy hardware capability bits (caps) have been removed in favor of a rich set of guaranteed functionality, which targets Direct3D 10-class hardware (minimum).
- Layered Runtime - The Direct3D 10 API is constructed with layers, starting with the basic functionality at the core and building optional and developer-assist functionality (debug, etc.) in outer layers.
- Full HLSL integration - All Direct3D 10 shaders are written in HLSL and implemented with the common-shader core.
- An increase in the number of render targets, textures, and samplers. There is also no shader length limit.
- Integer and bitwise shader operations.
- Readback of a depth/stencil surface or a multisampled resource, once it is no longer bound as a render target.
- Multisampled alpha-to-coverage support.
There are additional behavioral differences that Direct3D 9 developers should also be aware of (see Direct3D 9 to Direct3D 10 Considerations).
Here is a list of Direct3D 9 features that either are no longer supported, or have been revised in Direct3D 10 (see Deprecated Features).
Related topics