Compartir a través de


Higher-Order Primitivos (Direct3D 9)

Direct3D 9 admite puntos, líneas, triángulos y primitivos de cuadrícula. Se han ampliado para admitir la interpolación de orden superior más allá de la lineal. Aunque los triángulos y las líneas tienen extensión espacial, hasta ahora se representaron mediante interpolación lineal. En Direct3D 9, Direct3D admite la representación de estos tipos primitivos con un orden superior, hasta quintic, interpolación. Además, ahora se admite un nuevo tipo primitivo cuádruple. Este nuevo tipo también se puede representar con interpolación de orden superior. Esta característica se basa principalmente en los requisitos para la animación y la representación de caracteres. También se puede utilizar para otras superficies como terreno o agua.

Los primitivos de orden superior admiten la interpolación de orden superior cuando se transmiten a la API como listas, tiras, ventiladores o mallas indizada. Esto se logra mediante el uso de información adicional codificada en los vértices. Por ejemplo, los vectores normales se pueden usar para definir planos tangentes en los vértices para habilitar la interpolación cúbica. La mayoría de las implementaciones admiten la interpolación de orden superior por teselación en triángulos planar. El paso de teselación se aplica lógicamente antes de la fase del sombreador de vértices. Dado que la API del sombreador de vértices no impone semántica en sus datos de entrada, se proporciona un mecanismo especial para identificar el componente de flujo de vértices que representa la posición y, opcionalmente, el vector normal. Todos los demás componentes se interpolan en consecuencia.

En esta sección se presentan primitivos de orden superior y se describe cómo se pueden usar en las aplicaciones. La información se divide en los temas siguientes.

Mejora de la calidad mediante la mejora de la resolución

Los primitivos actuales no son ideales para representar superficies lisas. Los métodos de interpolación de orden superior, como polinomios cúbicos, permiten cálculos más precisos en la representación de formas curvadas. Esto proporciona un mayor realismo al reducir o eliminar los artefactos de faceta visibles en los bordes de la silueta o en la iluminación especular de la superficie. Además, cuando se produce la teselación en el chip, los triángulos teselados no afectan al ancho de banda del bus. En muchos casos, una pequeña cantidad de teselación puede proporcionar mejoras en la calidad de la imagen con un impacto mínimo en el rendimiento.

Direct3D 9 proporciona una manera sencilla de aplicar la mejora de resolución al contenido creado por las herramientas y canalizaciones de arte orientadas a polígonos existentes. La aplicación solo necesita proporcionar un nivel deseado de teselación y transmitir los datos mediante la sintaxis de triángulo estándar que incluye vectores normales.

Asignación directa desde herramientas de Spline-Based

Muchas herramientas de creación actuales admiten primitivos de orden superior para habilitar operaciones de modelado más eficaces de las que se proporcionan normalmente para con mallas de triángulo planar. Cuando se usa de forma eficaz, para que el número de revisiones generadas sea razonable, estas herramientas pueden generar contenido que la API pueda representar directamente. Para cumplir este requisito, se ha agregado un nuevo punto de entrada que interpreta el flujo de datos de vértice entrante como una matriz 2D de puntos de control y teselate a la resolución deseada.

Canalización de vértices