- Por que Phong exige mais poder computacional em tempo real?
Passo 1
O enunciado pergunta por que o modelo de sombreamento Phong exige mais poder computacional em tempo real. O conteúdo envolve modelos de shading em computação gráfica e vamos precisar entender a diferença entre shading por vértice (Gouraud) e shading por fragmento (Phong), além das operações matemáticas envolvidas em cada um.
Passo 2
No sombreamento de Gouraud calculamos a iluminação apenas nos vértices. Usamos a equação de Phong reflection
avaliada nos vértices para obter um valor de cor
. Durante o rasterização do triângulo simplesmente interpolamos linearmente esses valores de cor entre os vértices, sem fazer novos cálculos de iluminação por pixel.
Passo 3
No sombreamento de Phong interpolamos, a cada fragmento (pixel), o vetor normal
entre os vértices. Em cada pixel temos que normalizar
e aplicar a equação de iluminação completa:
Passo 4
Isso implica, para cada pixel visível:
- interpolar três componentes de
, - normalizar
(incluir raiz quadrada), - computar produtos escalares
e , - calcular a operação de potência
para o termo especular.
Como o número de pixels por frame é muito grande, essas operações de ponto flutuante em massa sobrecarregam a GPU/CPU.
Passo 5
Em tempo real, GPUs processam milhões de fragments por segundo. Fazer normalizações, múltiplos produtos escalares e expoentes para cada fragmento consome muito mais unidades de ponto flutuante e largura de banda de memória do que simplesmente interpolar cores pré-calculadas nos vértices.
Resposta
Phong shading exige mais poder computacional em tempo real porque faz o cálculo da iluminação por pixel—incluindo interpolação e normalização de normais, produtos escalares e operações de potência a cada fragmento—enquanto métodos mais simples (como Gouraud) só interpolam cores calculadas por vértice.