Partager via


primitives Higher-Order (Direct3D 9)

Direct3D 9 prend en charge les primitives de points, de lignes, de triangles et de grille. Ceux-ci ont été étendus pour prendre en charge l’interpolation d’ordre supérieur au-delà de linéaire. Bien que les triangles et les lignes aient une étendue spatiale, jusqu’à présent, ils ont été rendus à l’aide de l’interpolation linéaire. Dans Direct3D 9, Direct3D prend en charge le rendu de ces types primitifs à l’aide d’un ordre supérieur, jusqu’à l’interpolation quintique. En outre, un nouveau type de quad primitive est désormais pris en charge. Ce nouveau type peut également être rendu avec une interpolation d’ordre supérieur. Cette fonctionnalité est principalement pilotée par les exigences en matière d’animation et de rendu de caractères. Il peut également être utilisé pour d’autres surfaces telles que le terrain ou l’eau.

Les primitives d’ordre supérieur prennent en charge l’interpolation d’ordre supérieur lorsqu’elles sont transmises à l’API sous forme de listes, de bandes, de ventilateurs ou de maillages indexés. Pour ce faire, vous pouvez utiliser des informations supplémentaires encodées dans les sommets eux-mêmes. Par exemple, des vecteurs normaux peuvent être utilisés pour définir des plans tangents aux sommets pour activer l’interpolation cubique. La plupart des implémentations prennent en charge l’interpolation d’ordre supérieur en triangles planaires. L’étape de pavage est appliquée logiquement avant l’étape du nuanceur de vertex. Étant donné que l’API du nuanceur de vertex n’impose pas de sémantique à ses données d’entrée, un mécanisme spécial est fourni pour identifier le composant de flux de vertex qui représente la position et éventuellement le vecteur normal. Tous les autres composants sont interpolés en conséquence.

Cette section présente les primitives d’ordre supérieur et explique comment elles peuvent être utilisées dans vos applications. Les informations sont divisées en rubriques suivantes.

Amélioration de la qualité grâce à l’amélioration de la résolution

Les primitives actuelles ne sont pas idéales pour représenter des surfaces lisses. Les méthodes d’interpolation d’ordre supérieur, telles que les polynomiales cubes, permettent des calculs plus précis dans le rendu des formes courbes. Cela offre un réalisme accru en réduisant ou en éliminant les artefacts de facette visibles sur les bords de silhouette ou sur l’éclairage de surface spéculaire. En outre, lorsque la pavage se produit sur la puce, les triangles tessellés n’ont pas d’impact sur la bande passante du bus. Dans de nombreux cas, une petite quantité de pavage peut apporter des améliorations à la qualité de l’image avec un impact minimal sur les performances.

Direct3D 9 offre un moyen simple d’appliquer l’amélioration de la résolution au contenu créé par des outils et des pipelines d’art orientés polygones existants. L’application doit uniquement fournir un niveau de pavage souhaité et transmettre les données à l’aide de la syntaxe de triangle standard qui inclut des vecteurs normaux.

Mappage direct à partir des outils de Spline-Based

De nombreux outils de création actuels prennent en charge les primitives d’ordre supérieur pour permettre des opérations de modélisation plus puissantes que celles couramment fournies avec des maillages de triangle planaire. Lorsqu’ils sont utilisés efficacement, afin que le nombre de correctifs générés soit raisonnable, ces outils peuvent produire du contenu qui peut être rendu directement par l’API. Pour répondre à cette exigence, un nouveau point d’entrée a été ajouté qui interprète le flux de données de vertex entrant comme un tableau 2D de points de contrôle et les tessellate à la résolution souhaitée.

pipeline de vertex