Placas de vídeo 3D


Direct 3D: é um padrão de programação 3D criado pela Microsoft. Esse padrão foi o responsável pela popularidade das placas 3D, pois, antes dele, os programas ou jogos só rodariam acelerados se fossem programados para uma placa ou chipset específico, e como existem várias placas e chipsets 3D diferentes, seria impossível manter várias versões diferentes do programa ou jogo para cada placa específica. Assim, programando de acordo com o Direct3D, qualquer programa ou jogo roda acelerado em qualquer placa que o suporte, o que representa 100% das placas 3D atuais.

AGP:
é a sigla para Advanced Graphics Port, ou seja, uma porta exclusiva para placas de vídeo. Ela é melhor opção do que o PCI, pois ela funciona de modo diferente: pra começar, ela troca dados com o processador na mesma velocidade do barramento, e o PCI sempre na metade da velocidade do barramento. Além disso, ela não divide atenção com outros periféricos como faz o PCI, e as placas de vídeo AGP encaram a memória do sistema como se fossem dela própria, podendo acessá-la diretamente sem precisar consultar o processador, o que é uma grande vantagem. A soma de todas essas características conferem às placas AGP uma performance melhor do que as PCI e geralmente custam o mesmo que suas versões PCI.

T&L (Transform and Lighting): é algo muito comentado hoje em 3D. É um recurso que permite aumentar em muito a complexidade 3D dos componentes de uma cena, tornando-os mais completos, arredondados e o mais próximos da realidade possível. É um recurso apenas presente em placas de vídeo de última geração, como as que usam o chipset GeForce 256 da nVidia. Há uma boa página sobre isso no site Tom's Hardware, caso esteja interessado clique aqui. Veja os exemplos abaixo:

Cena qualidade normal:
Seus polígonos (cerca de 25 mil)
Cena com T&L ativado
Seus polígonos (cerca de 400 mil)


OpenGL: é uma API (Aplication Programing Interface) gráfica criada pela Silicon Graphics, inicialmente voltada apenas para aceleradores gráficos profissionais de workstations de alta performance, mas que hoje vem se tornando cada vez mais popular no mundo dos jogos 3D, pois o OpenGL permite cenários muito mais bonitos, realistas e efeitos 3D que realmente convencem. Mas exige placas de vídeo compatíveis (ainda não são muitas que suportam totalmente a API do OpenGL) e um bom processador é aconselhável.

Tente jogar Quake2 em OpenGL num computador que o suporte, e terá uma surpresa de como o jogo pode melhorar de aspecto e velocidade. O OpenGL também é obrigatório em alguns jogos, como o Quake 3 Arena. Observe abaixo:

Quake II via software (normal):
Quake2 radando via software (igual em todas as placas de vídeo)

Quake II via OpenGL (Diamond Steath II):
Quake2 OpenGL usando Diamond Steath 2 S220

Quake II via OpenGL (3Dfx, Voodoo):
Quake2 OpenGL usando Voodoo

16 e 32-bit rendering: 16 ou 32 bits de profundidade de cor são armazenadas na memória da placa de vídeo para cada pixel (ponto na tela). A diferença é que com 16-bit são usadas cerca de 65 mil cores para as texturas, e com 32-bit alcança-se mais do que 4 bilhões de cores, tendo como resultado maior número de tons de cor, tornando as imagens mais reais, vibrantes e vivas. Mas você terá que ter uma boa placa de vídeo com boa memória RAM (ex.:TNT) e um bom processador para não sentir uma perda de performance grande.

Dithering:
é o efeito que encobre mudanças repentinas de cor em ambientes com menor opção de cores (ex.:16-Bit), tornando suave a mudança de tom entre cores. Assim, você tem a impressão de um cenário mais realista do que seria possível com o número de cores disponível.

Frame Buffer:
reside na memória RAM onboard de sua placa de vídeo, onde são armazenadas e mostradas as cores no monitor.

Double buffering:
é a técnica de dividir o frame buffer (acima) em duas áreas, a "draw buffer" (buffer p/ armazenamento de cores) e a "display buffer" (para mostrar as cores no monitor). Isso permite ao programa ou jogo mostrar um quadro de animação através do display buffer enquanto escreve o próximo quadro no draw buffer, aumentando a performance fazendo duas coisas ao mesmo tempo.

Triple buffering :
é a técnica de dividir o frame buffer em três áreas, sendo duas "draw buffer" e uma "display buffer". Dessa vez, é possível escrever os dois quadros seguintes ao quadro mostrado, aumentando a performance e evitando "quebra" de texturas.

Texture Thrashing :
Constantes trocas de textura na memória da placa de vídeo fazem com que ela tenha que "jogar fora" as texturas atuais para poder usar texturas novas, o que causa um decréscimo de performance. Ter mais memória e placa AGP ajudam a eliminar o problema.

Anti-Aliasing:
É a técnica de "borrar" os pixels (pontos na tela). É comumente usada para esconder numa cena em menor resolução o efeito de linhas ou pontas protuberantes tornado-as mais suaves.

Bi-linear filtering:
Quando pequenas texturas são usadas para preencher um grande polígono, vai ocorrer um efeito de grandes blocos quadrados de pixels. O bi-linear filtering torna mais suave essa diferença nas texturas aplicando um efeito de blur.

Fogging:
usado para criar um efeito de neblina ou nevoeiro na cena, ou esconder um plano distante, ou seja, ao invés de repentinamente aparecer uma árvore, uma montanha ou um prédio no cenário de uma jogo de corrida, esses objetos distantes aparecem aos poucos, saindo de uma espécie de neblina, o que torna a animação e ambientação mais real.

Gouraud Shading:
Um "shading algorithm" é um algoritmo que pega três cores definidas para cada ponto do triângulo e suavemente as interpola pela superfície do triângulo. Geralmente é usado para deixar objetos arredondados parecerem realmente arredondados e suaves.

MIP-mapping:
Múltiplas texturas de tamanhos crescentes são usadas para representar uma textura. Quando um polígono precisa usá-la para preenchê-lo, essa textura deve ter quase o tamanho exato do polígono, o que é exatamente no que o MIP-mapping se baseia. Isso reduz defeitos de texturas como quebras, desencaixe, quadrados, ou até buracos nas texturas.

Perspective correction:
Correção de perspectiva; é uma técnica usada para dar a devida ilusão de profundidade quando texturas são usadas para mapear polígonos. Sem a correção de perspectiva, distorções irão ocorrer resultando numa imagem não realista.

Sem correção de perspectiva: Sem correção  

Com correção de perspectiva: 

Specular Highlighting: É usado para adicionar cores extras a polígonos, com o objetivo de dar a impressão de que são objetos metálicos, úmidos ou brilhantes.

Palettized textures:
É uma forma de compressão de texturas. Usada para reduzir o tamanho de texturas que não apresentam muitas cores únicas. Texturas com 4-bit de cor podem ter 16 (24) cores diferentes, enquanto que texturas de 8-bit podem ter 256 (28) cores diferentes.

Texture mapping:
É o processo de pegar uma figura e inseri-la em um polígono. Podem ser usados para adicionar emblemas, texturas ou fotos a polígonos renderizados.

Triangle setup engine:
É uma circuito especial no chipset gráfico que calcula a parte matemática do que é necessário para desenhar imagens 3D na tela. Isso economiza trabalho da CPU, deixando-a livre para realizar outras tarefas e cálculos, aumentando a performance.

Vibrant Color Quality (VCQ):
Faz uso da exatidão que 32-bits de profundidade de cor proporciona à renderização. Todos os cálculos internos são executados com a precisão dos 32-bit de cor para obter resultados muito realistas e fiéis ao original. Exige muito processamento e poucos aceleradores 3D atuais o suporta com um bom frame-rate (EX.: Diamond Viper 770 com chipset TNT2).

Vsync:
abreviatura de Vertical Syncrony ,ou seja, sincronia vertical, que se baseia em pausar  a tela nos milisegundos que se leva para renovar a tela verticalmente.

Z-buffer:
Uma estrutura 2D na tela possui duas coordenadas (x,y) uma para altura e outra para largura. Mas uma estrutura 3D possui três coordenadas (x,y,z) pois além de altura e largura possui também a profundidade, que é a coordenada z. Sem ela, a placa não tem como saber que objeto está na frente ou atrás de outro num ambiente 3D, tornando a tela um bagunça indecifrável. Por isso, uma placa só é 3D se suporta bem Z-buffering. Acredito que todas suportam. Observe o gráfico abaixo:

Coordenadas no R3

As linhas azuis representam os diferentes planos de distância (profundidade). Por exemplo, um plano é uma árvore e outro um carro. Se a árvore é o plano 1 e o carro o plano 2, a árvore estará na frente do carro. Mas que se o carro for o plano 1 e a árvore o plano 2, o carro estará na frente da árvore. Sem a coordenada z, o carro e a árvore estariam no mesmo plano (um dentro do outro...). Sem a coordenada z, não existe 3D.


Nota: não traduzimos os termos pois não há equivalentes em português, ou porque não faz sentido traduzir termos que só são referidos em seus nomes originais em inglês.


Próxima página:

Como mudar a minha resolução, refresh rate e número de cores no Windows?
(Aprenda a aproveitar melhor o que sua placa de vídeo atual pode lhe oferecer)