Rasterização e o Pipeline Gráfico
A rasterização converte primitivas geométricas, como triângulos, nos pixels que elas cobrem na tela, e forma a etapa central do pipeline gráfico que transforma cenas 3D em imagens 2D.
Definition
Rasterização é o processo de determinar quais pixels uma primitiva geométrica projetada cobre e interpolar quantidades por vértice, como profundidade, cor e coordenadas de textura, através desses pixels.
Scope
Este tópico abrange as etapas do pipeline de renderização padrão - transformação de vértice, recorte (clipping), projeção, montagem de primitivas, conversão de varredura (scan conversion) e processamento de fragmentos - juntamente com o buffer de profundidade para visibilidade, interpolação com correção de perspectiva de atributos de vértice e antialiasing das amostras resultantes.
Core questions
- Como as coordenadas 3D são transformadas em posições 2D na tela?
- Quais pixels um triângulo projetado cobre?
- Como a visibilidade é resolvida quando as primitivas se sobrepõem?
- Como os artefatos de aliasing ao longo das bordas são reduzidos?
Key concepts
- Estágios de vértice e fragmento
- Recorte (clipping) e projeção
- Conversão de varredura (scan conversion)
- Teste de profundidade do z-buffer
- Interpolação com correção de perspectiva
- Antialiasing
Key theories
- O pipeline de transformação e rasterização
- A geometria passa por uma sequência fixa de transformações de coordenadas do espaço do objeto para o espaço da tela, após o que as primitivas são convertidas por varredura em fragmentos, fornecendo uma estrutura que se mapeia eficientemente para hardware paralelo.
- Buffer de profundidade para visibilidade
- O z-buffer armazena a profundidade mais próxima vista até o momento em cada pixel e descarta fragmentos que estão atrás dela, resolvendo a remoção de superfícies ocultas incrementalmente sem classificar a geometria.
Clinical relevance
O pipeline de rasterização é a base de praticamente todos os gráficos em tempo real, impulsionando videogames, composição de interface de usuário, visualizadores CAD e o 3D interativo encontrado em navegadores e dispositivos móveis.
History
Os métodos de z-buffer e conversão de varredura (scan-conversion) do início da década de 1970 foram codificados no pipeline de função fixa do hardware gráfico inicial, e depois generalizados nos pipelines de shader programáveis das GPUs modernas.
Key figures
- Edwin Catmull
- Bui Tuong Phong
Related topics
Seminal works
- catmull1974
- hughes2013
Frequently asked questions
- Por que a rasterização é tão rápida?
- Cada triângulo é processado independentemente e cada pixel é preenchido por aritmética incremental simples, o que se mapeia diretamente para a arquitetura massivamente paralela do hardware gráfico.
- Para que serve o z-buffer?
- Ele registra a que distância a superfície mais próxima desenhada até o momento está em cada pixel, de modo que superfícies mais próximas sobrescrevem as mais distantes e partes ocultas da cena são automaticamente removidas.