[Artigo traduzido] EDGE: A brief History of 3D – Parte 2

Continuação da tradução do artigo da EDGE. Na continuação do link, como sempre.

Gouraud Shading

Embora polígonos sejam frequentemente usados para representar formas suavemente contornadas, eles são desapontadores pelo fato de que são fundamentalmente angulares. Gouraud Shading é uma técnica que combina os gradientes de cores ajustando suas facetas, visualmente suavizando-as. No processo, é dado a cada vértice que define o polígono sua própria cor, com diferenças entre os vértices adjacentes interpolado durante a rasterização, então o sombreamento muda suavemente através do polígono. É um método frequentemente usado junto de iluminação básica em tempo real, que é calculada computando o ângulo entre o vetor de uma luz direcional simples e a superfície “normal” do polígono – isso é a direção em que sua face plana é apontada. O ângulo é análogo à quantidade de luz caindo sobre o polígono e sombreada de acordo. Se os valores da superfície normal entre os polígonos adjacentes são medidas, de qualquer forma, você pode, em efeito, mover as superfícies planas do polígono (surface normals) como sendo “vértices normais” e então usar o Gouraud shading para fazer com que superfícies brilhantes pareçam suaves, processo usado com grande efeito em Star Wars: Tie Fighter, lançado em 1994.

Mapeamento de textura (texture mapping)

Um dos principais desafios em renderizar gráficos 3D é criar detalhes na superfície, porque representando cada pequeno elemento, como polígonos sombreados e coloridos é computacionalmente caro. Mapeamento de textura é então empregado para simular detalhe de superfície, uma técnica que é fundamentalmente importante para os gráficos 3D. Em sua forma básica, mapeamento de textura é colar uma imagem em um polígono. O processo designa os vértices em um polígono para especificar os pontos em uma imagem 2D chamada mapa de textura. Quando o polígono é rasterizado, as coordenadas da textura 2D são interpoladas para descobrir que ponto no mapa de textura (the texel) corresponde a cada ponto na tela, para mapear a textura no polígono. Os desenvolvedores se esforçaram em usar mapeamento de textura desde o nascimento dos polígonos preenchidos, mas não foi até 1995, quando Descent foi lançado, que o processo mostrou seu potencial pleno, com um ambiente completamente tridimensional com paredes, pisos e objetos dentro do jogo renderizados como objetos totalmente texturizados.

Scaled Sprites

De forma a equiparar o detalhamento visual e colorido dos jogos 2D nos primeiros mundos tridimensionais, os desenvolvedores olharam para os sprites. Nos jogos 2D, essas pequenas imagens normalmente eram rasterizadas em escala máxima na tela, mas para os jogos 3D elas precisavam ser escalonadas dependendo de suas distâncias do ponto de vista. Nesses sistemas os sprites representando o mundo do jogo são colocados como vetores – a imagem é rasterizada, os pontos da imagem-fonte são copiados múltiplas vezes para pontos adjacentes ou cortadas, de forma a escalonar o sprite corretamente, um processo chamado interpolação linear (linear interpolation). É uma técnica tornada famosa pela Sega com games como Space Harrier de 1985, que rodava na sua agora legendária placa de arcade System 16. Ironicamente as GPUs modernas emulam sprites usando polígonos texturizados alinhados para se endireitar ao ângulo de vista da câmera, exatamente o que a Sega tentava simular, como as folhagens das árvores de Oblivion, os “sprites” em Castle Crashers ou a fumaça das freadas dos jogos de corrida como PGR.

MIP Mapping

Mapeamento de textura simples com texturas em alta resolução usa de forma ineficiente tanto o poder de processamento quanto de memória, e tende a exibir vários problemas com artefatos brilhantes (ver complex filtering). Mip Mapping resolve ambos os problemas com armazenamento de uma série de versões menores de cada mapa de textura, com cada mapa contínuo sendo metade do tamanho de seu mapa principal (parent). Quando a textura é aplicada ao polígono, o rasterizador computa o quão longe o ponto é da câmera. Isso define que Mip Map usar, embora diversos níveis Mip sejam tipicamente usados e interpolados entre eles para conseguir transações suaves. Mip Mapping antecede o uso comercial das placas de video (GPUs), mas os exemplos mais notáveis ocorreram após a introdução das GPUs, como o jogo de tiro Incoming, da Rage Software. Lançado em 1998, seu 3D rápido e suave foi uma vitrine para os efeitos permitidos pelas GPUs.

Phong Shading

Um problema com o Gouraud Shading é que essa é uma técnica de superfície de tela, que quer dizer que é calculada em termos da tela do monitor, não o mundo 3D que a tela está tentando mostrar. A disparidade entre o mundo 3D e a tela significa que tais processos causam erros de interpolação. Por exemplo, um conjunto de polígonos com Gouraud Shading que representam uma esfera pode evidenciar os polígonos que a formam. Algoritmos como o Phong Shading podem corrigir esse problema computando o valor da iluminação para cada ponto que é rasterizado. Funciona em uma base similar ao Gouraud Shading, embora o estágio final do processo de Phong Shading seja diferente porque pode modular o valor de reflexão da luz para simular diferentes superfícies – plástico, por exemplo – com fortes focos de luz reflexivos, como o vestido brilhante de Ulala em Space Channel 5, da Sega.

E chegamos ao final da segunda parte. Ainda tem bem mais pela frente, e estou traduzindo na medida do possível. Qualquer pedido ou sugestão, o espaço dos comentários está aí pra isso. Até mais.

André V.C Franco/AvcF – Loading Time

One thought on “[Artigo traduzido] EDGE: A brief History of 3D – Parte 2

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *