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.

API Features (Direct3D 10)