Fase ensamblador de entrada (IA)

La fase ensamblador de entrada (IA) proporciona datos primitivos y adyacencias a la canalización, como triángulos, líneas y puntos, incluidos los identificadores semánticos para ayudar a que los sombreadores sean más eficaces al reducir el procesamiento a primitivos que aún no se han procesado.

Propósito y usos

El propósito de la fase ensamblador de entrada (IA) es leer datos primitivos (puntos, líneas y triángulos) de búferes rellenados por el usuario y ensamblar los datos en primitivos que usarán las demás fases de canalización y para adjuntar valores generados por el sistema para ayudar a que los sombreadores sean más eficaces. Los valores generados por el sistema son cadenas de texto que también se denominan semántica. Las fases del sombreador programables se construyen a partir de un núcleo de sombreador común, que usa valores generados por el sistema (como un identificador primitivo, un identificador de instancia o un identificador de vértice), de modo que la fase del sombreador pueda reducir el procesamiento solo a esos primitivos, instancias o vértices que aún no se han procesado.

La fase ia puede ensamblar vértices en varios tipos primitivos diferentes (como listas de líneas, tiras de triángulos o primitivos con adyacencia). Los tipos primitivos, como una lista de triángulos con adyacencia, y una lista de líneas con adyacencia, admiten la fase del sombreador de geometría (GS).

La información de adyacencia solo es visible para una aplicación en un sombreador de geometría. Si se invoca un sombreador de geometría con un triángulo, incluida la adyacencia, por ejemplo, los datos de entrada contendrán 3 vértices para cada triángulo y 3 vértices para los datos de adyacencia por triángulo.

Cuando se solicita la fase ia para generar datos de adyacencia, los datos de entrada deben incluir datos de adyacencia. Esto puede requerir proporcionar un vértice ficticio (formando un triángulo degenerado), o quizás marcando en uno de los atributos de vértice si el vértice existe o no. Esto también tendría que ser detectado y controlado por un sombreador de geometría, aunque la selección de geometría degenerada se producirá en la fase del rasterizador.

Entrada

La fase ia lee datos de la memoria: datos primitivos (puntos, líneas o triángulos) de búferes rellenados por el usuario.

Salida

La fase ia ensambla los datos en primitivos y adjunta valores generados por el sistema, y genera resultados que como primitivos que usará la fase sombreador de vértices (VS) y, a continuación, otras fases de canalización.

En esta sección

Tema Descripción

Topologías primitivas

Direct3D admite varias topologías primitivas, que definen cómo se interpretan y representan los vértices por la canalización, como listas de puntos, listas de líneas y franjas de triángulos.

Uso de valores generados por el sistema

Los valores generados por el sistema se generan mediante la fase ensamblador de entrada (IA) (basada en la semántica de entrada proporcionada por el usuario) para permitir ciertas eficiencias en las operaciones del sombreador. Al adjuntar datos, como un identificador de instancia (visible para la fase sombreador de vértices (VS), un identificador de vértice (visible para VS) o un identificador primitivo (visible para lafase sombreador de píxeles de fase/ (GS),una fase posterior del sombreador puede buscar estos valores del sistema para optimizar el procesamiento en esa fase.

 

Canalización de gráficos