Antialiasing a través de la rasterización conservadora y el cálculo del área analítica
Una nueva técnica para representar triángulos 3D con antialiasing 'perfecto'. Las fuentes y los vectores se dividen en triángulos y están rasterizados de manera conservadora, luego un sombreador de fragmentos determina la cobertura del área del triángulo para calcular el alfa para cada fragmento.
Proceso
Renderización de GPU de gráficos vectoriales con precisión de subpíxeles:
- Curvas trianguladas en triángulos
- Renderizar cada triángulo utilizando rasterización conservadora
- Para cada fragmento:
- Realizar una intersección de triángulo/caja, creando un polígono
- Sume las áreas de los triángulos en el polígono
- Divida la suma del área de fragmentos para dar una cobertura porcentual
- Continuar para todos los triángulos, mezclando aditivamente
Avance

Población
Visite https://andrewlowndes.github.io/perfect-antialiasing/dist/ para ver un conjunto de demostraciones que muestran las diversas técnicas utilizadas en este repositorio.
Correr
- Asegúrese de que NodeJS esté instalado
- Ejecutar
npm i para instalar dependencias - Ejecutar
npm start a abrir las demostraciones en una aplicación web
Hoja de ruta
Usos
- Anti-aliasing en los juegos (necesidad de evaluar la sobrecarga de la rasterización conservadora y el cálculo alfa en el sombreador de fragmentos)
- Renderización de fuentes (todavía se basa en la triangulación: use el espacio de pantalla en el sombreador Tesselation para la resolución de representación independiente)
Desarrollo
Instalar el código VS y las siguientes extensiones:
- EditorConfig para el código VS
- Eslint
- Más bonito
Referencias
Rasterización conservadora con sede en Vértice basada en el Algoritmo 2 de GPU GEMS 2 Capítulo 43 (https://developer.nvidia.com/gpugems/gpugems2/part-v-viMage- Oriented-Computing/Chapter-42-Conservative-Rasterization)