Dela via


Inaktuella funktioner (Direct3D 10)

En lista över de funktioner som är tillgängliga i Direct3D 10 är här. Den här sidan visar de Direct3D 9-funktioner som inte längre stöds i Direct3D 10.

De största funktionsändringarna i Direct3D 10 är:

  • Direct3D 10 stöder inte längre transform- och belysningspipelinen med fast funktion.
  • Direct3D 10 stöder inte längre texturblandaren med fast funktion (kallas ibland för en pixelskuggning med fast funktion).
  • Direct3D 10 implementerar nya rastreringsregler, som är enklare och renare än de äldre GDI-reglerna som implementeras i Direct3D 9. Till exempel stöds inte längre den sista pixelkontrollen för linjer.

Här är en fullständig lista över de funktioner i Direct3D 9 som har föråldrats i Direct3D 10.

  • Alpha blend. Alfablandningen är nu programmerad oberoende av färgblandning. Direct3D 10 lägger till en alfa-blend-enable-växling som är aktiverad som standard. Mer information finns i tillståndsobjekt (Direct3D 10).

  • Alpha-test. Alfatest är ett pixelbeteende med fast funktion för Direct3D 9. Alfatest flyttas till programmerbara pixelskuggare för Direct3D 10 och senare. Information om hur du emulerar Direct3D 9-alfatestfunktionen i Direct3D 10 och senare finns i Exemplet FixedFuncEMU i DirectX SDK för juni 2010.

  • Alternativ för blandningsläge. BOTHSRCALPHA har tagits bort från D3D10_BLEND eftersom den är redundant med BOTHINVSRCALPHA. Mer information finns i D3D10_BLEND.

  • Blockera komprimeringsformat. Det finns ingen skillnad mellan förplikerad alfa eller icke-premultiplied alfa i Direct3D 10. Dessa Direct3D 9-format mappas till dessa Direct3D 10-format:

    Direct3D 9 Direct3D 10
    DXT1 BC1*
    DXT2,DXT3 BC2*
    DXT4,DXT5 BC3*

     

    Mer information finns i BlockKomprimering (Direct3D 10).

  • Clip-plan. I stället för att använda klippplan implementerar Direct3D 10 klippavstånd och gallringsavstånd, med upp till 8 komponenter vardera i upp till 2 element av hörnattribut. Mer information finns i Semantics (DirectX HLSL). FixedFuncEMU-exempel innehåller ett exempel på emulering av klippplan i Direct3D 10.

  • Dithering. Direct3D 10 stöder inte skrivning av kopplade data till ett återgivningsmål.

  • transform- och belysningspipeline med fast funktion i inte tillgänglig. I stället måste du använda skuggningar. Mer information finns i Shader Stages (Direct3D 10).

  • texturblandare med fast funktion (kallas även för en fast funktionspixelskuggare). I stället måste du använda skuggningar. Mer information finns i Shader Stages (Direct3D 10).

  • Fyllningslägen har ändrats. Direct3D 10 implementerar fyllningslägen för fast och trådram. D3DFILLMODE punkten har tagits bort använder du en geometriskuggning för att emulera punktläge om det behövs. FixedFuncEMU-exempel innehåller ett exempel på emulering av D3DFILLMODE punkt i Direct3D 10. Mer information finns i D3D10_FILL_MODE och Shader Stages (Direct3D 10).

  • Formaterar. Maskinvara kan använda format som exponeras av API:et. Luminansformat implementeras inte längre.

  • Mipmap-filtrering. Alternativet för att välja läge utan filter har tagits bort. Använd i stället en struktur med bara en enda mipmap eller ange MaxLOD-exempeltillståndet till 0. Mer information finns i State Objects (Direct3D 10).

  • paletter. Program bör använda en beroende texturläsning i stället.

  • Pixel- och hörnskuggningsmodeller: 1_x, 2_x och 3_0. Direct3D 10 stöder skuggningsmodell 4. Mer information finns i Shader Model 4.

  • Punkt sprites. Använd en geometrisk skuggning i stället. Mer information finns i Shader Stages (Direct3D 10).

  • rastreringsregler. Äldre GDI-rad rastreringsregler ersätts med renare och enklare regler. Den sista pixelkontrollen för linjer stöds inte längre. Mer information finns i rastreringsregler (Direct3D 10).

  • Shade-lägen. D3DSHADEMODE (som stöder flat/gouraud/phong-skuggning) har tagits bort. Direct3D 10 implementerar två interpoleringsmodifierare för hörnskuggningsutdata i stället. Se FixedFuncEMU-exempel för ett exempel på emulering av Direct3D 9 gouraud- och flattonlägen i Direct3D 10.

  • texldp instruktion. Ett program måste implementera en projekterad strukturbelastning med extra HLSL-instruktioner. Mer information finns i Referens för HLSL-. FixedFuncEMU-exempel innehåller ett exempel på emulering av texldp i Direct3D 10.

  • Strukturkoordinatindex (TCI) texturstegstillstånd (D3DTSS_TEXCOORDINDEX) stöds inte längre.

  • Triangle fans. Ett program måste konvertera befintliga triangel-fläktar till triangellistor eller triangelband. Om du vill emulera vissa beteenden med DrawPrimitive i äldre API:er kan du prova att använda DrawIndexed i Direct3D 10. Mer information finns i primitiva topologier (Direct3D 10).

  • W-buffring. Maskinvarustöd garanteras inte. Vi rekommenderar att ett program använder djupbuffertar med hög precision i stället. Mer information finns i Konfigurera Depth-Stencil-funktioner (Direct3D 10).

  • Wrap-lägen (strukturkoordinatomslutning). Strukturadressomslutning (till exempel wrap, spegel, klämma osv.) finns fortfarande. Se D3D10_SAMPLER_DESC och D3D10_TEXTURE_ADDRESS_MODE.

API-funktioner (Direct3D 10)