Fonctionnalités déconseillées (Direct3D 10)

Vous trouverez ici la liste des fonctionnalités disponibles dans Direct3D 10. Cette page répertorie les fonctionnalités de Direct3D 9 qui ne sont plus prises en charge dans Direct3D 10.

Les plus grands changements de fonctionnalités dans Direct3D 10 sont les suivants :

  • Direct3D 10 ne prend plus en charge le pipeline de transformation et d’éclairage à fonction fixe.
  • Direct3D 10 ne prend plus en charge le blender de texture à fonction fixe (parfois appelé nuanceur de pixels à fonction fixe).
  • Direct3D 10 implémente de nouvelles règles de rastérisation, qui sont plus simples et plus propres que les règles GDI héritées implémentées dans Direct3D 9. Par instance, le contrôle de derniers pixels pour les lignes n’est plus pris en charge.

Voici la liste complète des fonctionnalités de Direct3D 9 qui ont été dépréciées dans Direct3D 10.

  • Mélange alpha. Le mélange alpha est désormais programmé indépendamment du mélange de couleurs. Direct3D 10 ajoute un bouton bascule alpha-blend-enable qui est activé par défaut. Pour plus d’informations, consultez State Objects (Direct3D 10).

  • Test alpha. Le test alpha est un comportement de pixels à fonction fixe pour Direct3D 9. Le test alpha est déplacé dans des nuanceurs de pixels programmables pour Direct3D 10 et versions ultérieures. Pour plus d’informations sur l’émulation de la fonctionnalité de test alpha Direct3D 9 dans Direct3D 10 et versions ultérieures, consultez l’exemple FixedFuncEMU dans le Kit de développement logiciel (SDK) DirectX pour juin 2010.

  • Options du mode de fusion. BOTHSRCALPHA a été supprimé de D3D10_BLEND car il est redondant avec BOTHINVSRCALPHA. Pour plus d’informations, consultez D3D10_BLEND .

  • Bloquer les formats de compression. Il n’existe aucune distinction entre alpha pré-multiplié et alpha non prémultiplié dans Direct3D 10. Ces formats Direct3D 9 sont mappés à ces formats Direct3D 10 :

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

     

    Pour plus d’informations, consultez Compression de blocs (Direct3D 10).

  • Plans clip. Au lieu d’utiliser des plans d’clip, Direct3D 10 implémente des distances et des distances d’abattage, avec jusqu’à 8 composants chacun dans un maximum de 2 éléments d’attributs de vertex. Pour plus d’informations, consultez Sémantique (DirectX HLSL). L’exemple FixedFuncEMU fournit un exemple d’émulation de plans clip dans Direct3D 10.

  • Dithering. Direct3D 10 ne prend pas en charge l’écriture de données en trame dans une cible de rendu.

  • Transformation de fonction fixe et pipeline d’éclairage dans non disponible. Au lieu de cela, vous devez utiliser des nuanceurs. Pour plus d’informations, consultez Étapes du nuanceur (Direct3D 10).

  • Blender de texture à fonction fixe (également appelé nuanceur de pixels de fonction fixe). Au lieu de cela, vous devez utiliser des nuanceurs. Pour plus d’informations, consultez Étapes du nuanceur (Direct3D 10).

  • Les modes de remplissage ont changé. Direct3D 10 implémente les modes de remplissage solid et wireframe. Le point D3DFILLMODE a été supprimé. Utilisez un nuanceur de géométrie pour émuler le mode point si nécessaire. L’exemple FixedFuncEMU fournit un exemple d’émulation de point D3DFILLMODE dans Direct3D 10. Pour plus d’informations, consultez étapes D3D10_FILL_MODE et nuanceur (Direct3D 10).

  • Formats. Le matériel peut utiliser des formats exposés par l’API. Les formats luminance ne sont plus implémentés.

  • Filtrage Mipmap. Suppression de l’option permettant de sélectionner le mode sans filtre. Au lieu de cela, utilisez une texture avec un seul mipmap ou définissez l’état de l’échantillonneur MaxLOD sur 0. Pour plus d’informations, consultez State Objects (Direct3D 10).

  • Palettes. Les applications doivent utiliser une lecture de texture dépendante à la place.

  • Modèles de nuanceur de pixels et de vertex : 1_x, 2_x et 3_0. Direct3D 10 prend en charge le modèle de nuanceur 4. Pour plus d’informations, consultez Modèle de nuanceur 4 .

  • Points sprites. Utilisez plutôt un nuanceur de géométrie. Pour plus d’informations, consultez Étapes du nuanceur (Direct3D 10).

  • Règles de rastérisation. Les règles de rastérisation de ligne GDI héritées sont remplacées par des règles plus propres et plus simples. Le contrôle de dernier pixel pour les lignes n’est plus pris en charge. Pour plus d’informations, consultez Règles de rastérisation (Direct3D 10).

  • Modes d’ombre. D3DSHADEMODE (qui prend en charge l’ombrage plat/gouraud/phong) a été supprimé. Direct3D 10 implémente deux modificateurs d’interpolations pour les sorties du nuanceur de vertex à la place. Consultez l’exemple FixedFuncEMU pour obtenir un exemple d’émulation des modes gouraud direct3D 9 et d’ombre plate dans Direct3D 10.

  • instruction texldp . Une application doit implémenter une charge de texture projetée avec des instructions HLSL supplémentaires. Pour plus d’informations, consultez Référence pour HLSL . L’exemple FixedFuncEMU fournit un exemple d’émulation de texldp dans Direct3D 10.

  • L’état de l’étape de texture (D3DTSS_TEXCOORDINDEX) de l’index de coordonnées de texture (TCI) n’est plus pris en charge.

  • Ventilateurs triangle. Une application doit convertir les ventilateurs triangles existants en listes de triangles ou en bandes de triangles. Pour émuler certains comportements à l’aide de DrawPrimitive dans des API plus anciennes, essayez d’utiliser DrawIndexed dans Direct3D 10. Pour plus d’informations, consultez Topologies primitives (Direct3D 10).

  • Mise en mémoire tampon W. La prise en charge matérielle n’est pas garantie ; Il est recommandé qu’une application utilise plutôt des tampons de profondeur de haute précision. Pour plus d’informations, consultez Configuration des fonctionnalités de Depth-Stencil (Direct3D 10).

  • Modes d’habillage (habillage de coordonnées de texture). Le wrapping d’adresse de texture (par exemple, wrap, miroir, clamp, etc.) existe toujours. Consultez D3D10_SAMPLER_DESC et D3D10_TEXTURE_ADDRESS_MODE.

Fonctionnalités de l’API (Direct3D 10)