Variable Rate Shading es una característica de hardware introducida con las GPU NVIDIA Turing y expuesta a través de la extensión GL_NV_shading_rate_image.
El sombreado de tasa variable permite que el hardware sombree las primitivas a una frecuencia diferente a la tasa de rasterización. El usuario puede elegir entre varias velocidades, incluyendo sin sombreado, resolución normal, media resolución y un cuarto de resolución. Si la representación utiliza muestreo múltiple, la tasa de sombreado se puede aumentar para permitir que se sombreen varias muestras dentro de la misma primitiva. Esto puede reducir el alias generado por el sombreador. La tasa de sombreado se define para bloques de píxeles con una tasa constante dentro de cada bloque.
La muestra permite al usuario elegir tasas de sombreado predefinidas. Al marcar "visualizeShadingRate" se mostrará una imagen codificada por colores de la tasa de sombreado por píxel.
Es posible variar la tasa de sombreado por triángulo en el sombreador de vértices; En la muestra, todos los objetos verdes se seleccionan para obtener la tasa de sombreado completa. Esto se puede desactivar desde el menú.
Como la reducción en la tasa de sombreado puede ser sutil, la muestra permite renderizar a una resolución más baja y "acercar" mediante la configuración de "escala de framebuffer".
Lo ideal es clonar este y otros repositorios interesantes de nvpro-samples en un subdirectorio común. Siempre necesitarás nvpro_core. Se busca en nvpro_core como un subdirectorio de la muestra o un directorio más arriba.
Si está interesado en varios ejemplos, puede utilizar build_all CMake como punto de entrada; también le dará opciones para habilitar/deshabilitar muestras individuales al crear la solución.