primitives Higher-Order (Direct3D 9)

Direct3D 9 prend en charge les points, les lignes, les triangles et les primitives de grille. Celles-ci ont été étendues pour prendre en charge l’interpolation d’ordre supérieur au-delà du linéaire. Alors que les triangles et les lignes ont une étendue spatiale, jusqu’à présent, ils étaient tous deux rendus à l’aide de l’interpolation linéaire. Dans Direct3D 9, Direct3D prend en charge le rendu de ces types primitifs à l’aide de l’interpolation d’ordre supérieur, jusqu’au quintique. En outre, un nouveau type primitif quad 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 relatives à l’animation et au rendu des 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, utilisez 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 au niveau des sommets afin de permettre l’interpolation cubique. La plupart des implémentations prennent en charge l’interpolation d’ordre supérieur par la mise en forme de triangles planaires. L’étape de mise en forme est appliquée logiquement avant l’étape du nuanceur de vertex. Étant donné que l’API de 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 polynômes cubiques, 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 facettes visibles sur les bords de silhouette ou sur l’éclairage de surface spéculaire. En outre, lorsque la liaison 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 améliorer 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 orientés polygones et des pipelines artistiques existants. L’application n’a besoin que de fournir le niveau souhaité de pavage et de transmettre les données à l’aide de la syntaxe triangle standard qui inclut des vecteurs normaux.

Mappage direct à partir de Spline-Based Tools

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 généralement fournies avec les maillages triangles planaires. 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 le tesscelle à la résolution souhaitée.

Vertex Pipeline