Deprecated Features (Direct3D 10)
A list of the features available in Direct3D 10 is here. This page lists the Direct3D 9 features that are no longer supported in Direct3D 10.
The biggest feature changes in Direct3D 10 are:
- Direct3D 10 no longer supports the fixed-function transform and lighting pipeline.
- Direct3D 10 no longer supports the fixed-function texture blender (sometimes called a fixed-function pixel shader).
- Direct3D 10 implements new rasterization rules, which are simpler and cleaner than the legacy GDI rules that are implemented in Direct3D 9. For instance, the last-pixel control for lines is no longer supported.
Here is a complete list of the features in Direct3D 9 that have been deprecated in Direct3D 10.
Alpha blend. Alpha blend is now programmed independent of color blend. Direct3D 10 adds an alpha-blend-enable toggle which is enabled by default. See State Objects (Direct3D 10) for more information.
Alpha test. Alpha test is a fixed-function pixel behavior for Direct3D 9. Alpha test is moved into programmable pixel shaders for Direct3D 10 and higher. For info about emulating the Direct3D 9 alpha test functionality in Direct3D 10 and higher, see the FixedFuncEMU sample in the DirectX SDK for June 2010.
Blend mode options. BOTHSRCALPHA has been removed from D3D10_BLEND since it is redundant with BOTHINVSRCALPHA. See D3D10_BLEND for more information.
Block compression formats. There is no distinction between pre-multiplied alpha or non-premultiplied alpha in Direct3D 10. These Direct3D 9 formats map to these Direct3D 10 formats:
Direct3D 9 Direct3D 10 DXT1 BC1* DXT2,DXT3 BC2* DXT4,DXT5 BC3* See Block Compression (Direct3D 10) for additional information.
Clip planes. Instead of using clip planes, Direct3D 10 implements clip distances and cull distances, with up to 8 components each in up to 2 elements of vertex attributes. See Semantics (DirectX HLSL) for additional information. FixedFuncEMU sample provides an example of emulating clip planes in Direct3D 10.
Dithering. Direct3D 10 does not support writing dithered data to a render target.
Fixed-function transform and lighting pipeline in not available. Instead, you must use shaders. See Shader Stages (Direct3D 10) for additional information.
Fixed-function texture blender (also called a fixed function pixel shader). Instead, you must use shaders. See Shader Stages (Direct3D 10) for additional information.
Fill modes have changed. Direct3D 10 implements solid and wireframe fill modes. D3DFILLMODE point has been removed, use a geometry shader to emulate point mode if necessary. FixedFuncEMU sample provides an example of emulating D3DFILLMODE point in Direct3D 10. See D3D10_FILL_MODE and Shader Stages (Direct3D 10) for additional information.
Formats. Hardware can use formats exposed by the API. Luminance formats are no longer implemented.
Mipmap filtering. Removed the option for selecting no-filter mode. Instead, use a texture with only a single mipmap or set the MaxLOD sampler state to 0. See State Objects (Direct3D 10) for additional information.
Palettes. Applications should use a dependent texture read instead.
Pixel and vertex shader models: 1_x, 2_x, and 3_0. Direct3D 10 supports shader model 4. See Shader Model 4 for additional information.
Point sprites. Use a geometry shader instead. See Shader Stages (Direct3D 10) for additional information.
Rasterization rules. Legacy GDI line rasterization rules are replaced with cleaner, simpler rules. The last-pixel control for lines is no longer supported. See Rasterization Rules (Direct3D 10) for additional information.
Shade modes. D3DSHADEMODE (which support flat/gouraud/phong shading) has been removed. Direct3D 10 implements two interpolations modifiers for vertex shader outputs instead. See FixedFuncEMU sample for an example of emulating Direct3D 9 gouraud and flat shade modes in Direct3D 10.
texldp instruction. An application must implement a projected-texture load with extra HLSL statements. See Reference for HLSL for additional information. FixedFuncEMU sample provides an example of emulating texldp in Direct3D 10.
Texture coordinate-index (TCI) texture-stage state (D3DTSS_TEXCOORDINDEX) is no longer supported.
Triangle fans. An application must convert existing triangle-fans to triangle lists or triangle strips. To emulate some behaviors using DrawPrimitive in older APIs, try using DrawIndexed in Direct3D 10. See Primitive Topologies (Direct3D 10) for additional information.
W buffering. Hardware support is not guaranteed; it is recommended that an application uses high-precision depth buffers instead. See Configuring Depth-Stencil Functionality (Direct3D 10) for additional information.
Wrap modes (texture coordinate wrapping). Texture address wrapping (such as wrap, mirror, clamp etc.) still exist. See D3D10_SAMPLER_DESC and D3D10_TEXTURE_ADDRESS_MODE.
Related topics