Compartir a través de


Vistas de orden de rasterizador

Las vistas ordenadas por rasterizador (ROV) permiten que el código del sombreador de píxeles marque enlaces UAV con una declaración que modifique los requisitos normales para el orden de los resultados de la canalización de gráficos para los UMV. Esto permite que los algoritmos order independent transparency (OIT) funcionen, lo que proporciona resultados de representación mucho mejores cuando varios objetos transparentes están en línea entre sí en una vista.

Visión general

Las canalizaciones de gráficos estándar pueden tener problemas para componer correctamente varias texturas que contienen transparencia. Objetos como barreras de alambre, humo, fuego, vegetación y vidrio coloreado usan transparencia para obtener el efecto deseado. Los problemas surgen cuando varias texturas que contienen transparencia están en línea entre sí (humo delante de una valla delante de un edificio de vidrio que contiene vegetación, como ejemplo). Las vistas ordenadas por rasterizador (ROV) permiten que los algoritmos DE OIT subyacentes usen características del hardware para intentar resolver correctamente el orden de transparencia. El sombreador de píxeles controla la transparencia.

Las vistas ordenadas por rasterizador (ROV) permiten que el código del sombreador de píxeles marque enlaces UAV con una declaración que modifique los requisitos normales para el orden de los resultados de la canalización de gráficos para los UMV.

Las ROV garantizan el orden de los accesos UAV para cualquier par de invocaciones de sombreador de píxeles superpuestas. En este caso, la "superposición" significa que las invocaciones se generan mediante las mismas llamadas de dibujo y comparten la misma coordenada de píxel cuando se encuentra en modo de ejecución de frecuencia de píxeles, y la misma coordenada de píxel y muestra en modo de frecuencia de ejemplo.

El orden en el que se ejecutan los accesos de ROV superpuestos a las invocaciones del sombreador de píxeles es idéntico al orden en que se envía la geometría. Esto significa que, para las invocaciones de sombreador de píxeles superpuestas, las escrituras de ROV realizadas por una invocación de sombreador de píxeles deben estar disponibles para ser leídos por una invocación posterior y no deben afectar a las lecturas por una invocación anterior. Las lecturas de ROV realizadas por una invocación del sombreador de píxeles deben reflejar las escrituras realizadas por una invocación anterior y no deben reflejar las escrituras mediante una invocación posterior. Esto es importante para los UAV porque se omiten explícitamente de las garantías de invariable de salida establecidas normalmente por el orden fijo de los resultados de la canalización de gráficos.

Detalles de implementación

Las vistas ordenadas de rasterizador (ROV) se declaran con los siguientes nuevos objetos de lenguaje de sombreador de alto nivel (HLSL) y solo están disponibles para el sombreador de píxeles:

  • RasterizerOrderedBuffer
  • RasterizerOrderedByteAddressBuffer
  • RasterizerOrderedStructuredBuffer
  • RasterizerOrderedTexture1D
  • RasterizerOrderedTexture1DArray
  • RasterizerOrderedTexture2D
  • RasterizerOrderedTexture2DArray
  • RasterizerOrderedTexture3D

Use estos objetos de la misma manera que otros objetos UAV (como RWBuffer etc.).

Resumen de LA API

Las ROV son una construcción solo de HLSL que aplica una semántica de comportamiento diferente a los UAV. Todas las API relevantes para las UMV también son relevantes para las ROV. Tenga en cuenta que el método, las estructuras y la clase auxiliar siguientes hacen referencia al rasterizador:

características de Direct3D 11.3

modelo de sombreador de 5.1