Rasterização — o que é, etapas e princípio de funcionamento

Autor: IT Sectr Publicado: 2026-06-11 Tempo de leitura: 10 min

Rasterização é o processo de converter uma descrição vetorial de primitivas tridimensionais (triângulos, linhas, pontos) em um conjunto de pixels (fragmentos) para exibição em uma tela. De acordo com Khronos Group, 2025, a rasterização é uma etapa automática (não programável) do pipeline gráfico, localizada entre o Vertex Shader e o Fragment Shader. Rasterization determina quais pixels da tela pertencem a cada triângulo e calcula os atributos interpolados para cada fragmento.

Principais pontos

  • Rasterização — conversão de primitivas vetoriais em uma imagem raster (pixels).
  • Scanline conversion — o algoritmo básico que determina a cobertura de pixels por um triângulo.
  • Interpolação de atributos — cálculo de cor, coordenadas de textura e normais para cada fragmento.
  • MSAA — multisampling, suaviza bordas serrilhadas (aliasing) durante a rasterização.
  • Desempenho da rasterização depende do número de triângulos e da resolução da tela.

O que é rasterização?

Rasterization é uma etapa do pipeline gráfico que converte primitivas geométricas (triângulos, linhas) em um conjunto de fragmentos para processamento posterior pelo Fragment Shader. Os dados de entrada são os vértices do triângulo em coordenadas de tela e seus atributos (cor, normais, UV). A saída é um conjunto de fragmentos com atributos interpolados.

Ao contrário dos shaders programáveis (Vertex Shader e Fragment Shader), a rasterização é uma etapa fixa (não programável). O desenvolvedor não pode alterar o algoritmo de rasterização, mas pode controlar seus parâmetros: modo de corte (culling), largura da linha, deslocamento de profundidade (polygon offset) e multisampling.

O papel da rasterização em gráficos em tempo real

Praticamente todos os gráficos modernos em tempo real — jogos, UI, AR/VR — usam rasterização. É o método de renderização mais eficiente, capaz de processar milhões de triângulos por quadro a 60 FPS. Os rasterizadores de GPU são otimizados para processamento paralelo de milhares de triângulos simultaneamente através de blocos ROP (Render Output Units) especializados.

Como funciona a rasterização?

A rasterização de triângulos começa depois que o Vertex Shader transformou os vértices em coordenadas de tela. A GPU pega os três vértices de um triângulo e determina quais pixels da tela estão dentro desse triângulo.

Etapas da rasterização de triângulos

O processo inclui três passos sequenciais: determinar o bounding box do triângulo em pixels — verificar cada pixel dentro do bounding box quanto à pertença ao triângulo (edge function) — calcular os atributos interpolados (coordenadas barycêntricas) para cada pixel coberto. A Edge function é uma equação linear que determina de que lado da aresta do triângulo um ponto está localizado.

EtapaDescriçãoResultado
ClippingCorte de triângulos fora dos limites do viewportPrimitivas visíveis
Viewport transformTransformação em coordenadas de telaCoordenadas de pixels
Triangle setupCálculo das edge functions e bounding boxParâmetros de rasterização
Fragment generationTeste de cobertura e interpolaçãoFragmentos + atributos

Algoritmos de rasterização

Rasterization pode ser implementada por vários algoritmos, cada um com seus próprios compromissos entre desempenho e qualidade. As GPUs modernas usam uma combinação de várias abordagens.

Algoritmo Scanline

O algoritmo clássico de rasterização desenvolvido para as primeiras GPUs. O triângulo é processado linha por linha (scanline): para cada linha da tela, os pontos de entrada e saída do triângulo são determinados, e todos os pixels entre eles são preenchidos. Scanline conversion é eficiente para triângulos grandes, mas requer lógica complexa para triângulos de formato arbitrário.

Método Half-Space (Edge Function)

As GPUs modernas usam o método de rasterização half-space: para cada lado do triângulo, uma edge function é calculada — uma equação linear positiva de um lado e negativa do outro. Um pixel pertence ao triângulo se todas as três edge functions forem positivas. Half-space rasterization é facilmente paralelizável e adequado para arquiteturas SIMD de GPU.

Rasterização baseada em tiles (TBR)

GPUs móveis (Qualcomm Adreno, ARM Mali) usam Tile-Based Rendering (TBR). A tela é dividida em pequenos tiles (16x16 ou 32x32 pixels), e a rasterização é realizada para cada tile separadamente. Isso minimiza os acessos à memória armazenando o framebuffer em memória local rápida (tile memory). O TBR reduz o consumo de energia, algo crítico para dispositivos móveis.

Rasterização vs Ray Tracing

Rasterization e ray tracing são duas abordagens fundamentalmente diferentes para renderização de gráficos 3D. A rasterização domina em aplicações em tempo real, enquanto o ray tracing é usado em renderização offline e está gradualmente entrando em tempo real (em GPUs compatíveis com RTX).

ParâmetroRasterizaçãoRay Tracing
PrincípioTriângulo → fragmentosRaio → interseção com a cena
VelocidadeMuito rápido (milhões de triângulos/quadro)Lento (milhares de raios/quadro)
QualidadeRequer técnicas adicionais (sombras, reflexos)Sombras e reflexos fisicamente corretos
GPUs móveisMétodo padrãoSuporte limitado (A17 Pro, Snapdragon Gen 3)
Consumo de energiaBaixoAlto

MSAA e anti-aliasing na rasterização

A rasterização introduz o problema de aliasing — bordas serrilhadas (jaggies) nos limites dos triângulos. Isso ocorre porque um pixel é discreto e não pode ser parcialmente coberto por um triângulo. Para combater o aliasing, utiliza-se multisampling (MSAA).

Como o MSAA funciona

MSAA (Multisample Anti-Aliasing) realiza a rasterização com uma taxa de amostragem aumentada (2x, 4x, 8x). Em vez de uma amostra por pixel, várias subamostras são usadas, cada uma testada quanto à cobertura do triângulo. MSAA 4x processa 4 subamostras por pixel, proporcionando uma suavização de bordas notável sem aumentar completamente a resolução de renderização.

FXAA e outros métodos de pós-processamento

Ao contrário do MSAA, os métodos de anti-aliasing de pós-processamento (FXAA, SMAA, TAA) funcionam após a rasterização analisando a imagem final. FXAA (Fast Approximate Anti-Aliasing) detecta bordas da imagem e aplica desfoque para suavizar, funcionando significativamente mais rápido que o MSAA, mas com qualidade inferior.

Rasterização em GPU e otimização

Rasterization em GPUs modernas é realizada por blocos de hardware especializados — ROP (Render Output Units). O número de ROPs afeta diretamente a taxa de preenchimento (fill rate) — o número de pixels que a GPU pode processar por segundo.

Fatores de desempenho da rasterização

  • Triangle count — número de triângulos por quadro. Cada triângulo requer overhead para setup e teste de borda.
  • Fill rate — número de pixels processados pelos blocos ROP por segundo. Depende da frequência do clock da GPU e do número de ROPs.
  • Overdraw — rasterização repetida de um mesmo pixel devido à sobreposição de triângulos. Otimizado ordenando objetos por profundidade.

Otimização de rasterização para GPUs móveis

Para GPUs móveis (Tile-Based Rendering), os fatores críticos incluem: minimizar overdraw através de early-Z rejection, usar back-face culling para remover triângulos invisíveis e occlusion culling para descartar triângulos completamente cobertos por outros objetos.

Perguntas frequentes

O que é rasterização em termos simples?

Rasterização é o processo de transformar triângulos em pixels na tela. A GPU pega um triângulo tridimensional, determina quais pixels da tela ele cobre e os passa para o Fragment Shader colorir.

Como a rasterização difere do ray tracing?

A rasterização projeta triângulos na tela e determina a cobertura de pixels (muito rápida). Ray tracing lança raios da câmera e verifica a interseção com a geometria (fisicamente mais preciso, mas significativamente mais lento).

Por que o anti-aliasing é necessário na rasterização?

Durante a rasterização, um pixel pertence inteiramente a um triângulo ou não — daí as bordas serrilhadas (aliasing). O MSAA suaviza as bordas usando múltiplas subamostras por pixel, enquanto o FXAA aplica um filtro à imagem final.

A etapa de rasterização pode ser programada?

Não, a rasterização é uma etapa fixa do pipeline gráfico. O desenvolvedor não pode alterar o algoritmo, mas pode controlar configurações: culling, polygon offset, modo de rasterização (pontos, linhas, triângulos) e parâmetros de MSAA.

Por que as GPUs móveis usam Tile-Based Rendering?

Tile-Based Rendering (TBR) divide a tela em tiles e os processa em memória local rápida em vez de VRAM global. Isso reduz radicalmente o consumo de energia e largura de banda, algo crítico para dispositivos móveis alimentados por bateria.

Resumo

  • Rasterização — conversão de triângulos vetoriais em fragmentos raster para exibição em tela.
  • Método Half-space — principal algoritmo de rasterização em GPUs modernas.
  • Tile-Based Rendering — arquitetura de rasterização usada em GPUs móveis (Adreno, Mali).
  • Aliasing — problema de bordas serrilhadas, resolvido através de MSAA, FXAA ou TAA.
  • Fill rate — parâmetro chave de desempenho da rasterização dependente do número de blocos ROP.
  • Overdraw — rasterização repetida de pixels, otimizada através de early-Z e occlusion culling.
  • Ray Tracing — método alternativo que fornece renderização fisicamente correta ao custo de desempenho.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também