1. 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
I = I_a + I_d + I_s
avaliada nos vértices para obter um valor de cor I_v. 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 \vec N entre os vértices. Em cada pixel temos que normalizar \vec N e aplicar a equação de iluminação completa:
I(p) = k_a I_a \;+\; k_d \max(0, \vec N\cdot\vec L)\;+\;k_s\bigl(\max(0,\vec R\cdot\vec V)\bigr)^n.

Passo 4

Isso implica, para cada pixel visível:
  • interpolar três componentes de \vec N,
  • normalizar \vec N (incluir raiz quadrada),
  • computar produtos escalares \vec N\cdot\vec L e \vec R\cdot\vec V,
  • calcular a operação de potência (\cdot)^n 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.

Exercícios relacionados