Ir ao conteúdo
  • Cadastre-se

Placas De Vídeo - Funcionamento.


_RAZIEL_

Posts recomendados

Aviso: Este post era um tópico em separado, o moderador Red Viper achou melhor

mover as mensagens para cá...continuarei a escrever aqui então!

PIXEL E VERTEX SHADER

- Introdução

A chega da Nvidia Geforce 3 e a ATI Radeon 8500 marcou a chegada de GPUs extremamente flexíveis, capazes de recursos de programabilidade, recurso mais conhecido como shaders. O tópico visa esclarecer um pouco o que são os shaders, explicar o funcionamento e ter uma visão do que este recurso pode proporcionar para o usuário.

Um pequeno histórico:

Como foi dito, a história da programabilidade começou com o aparecimento de GPUs da geração DirectX 8 como a Geforce 3 e a Radeon 8500. Até então o programador só poderia gerar efeitos utilizando funções fixas da GPU.

Isso limitava - e muito - a criatividade do programador.

De imediato, o aparecimento das GPUs programáveis não trouxe grandes mudanças para as GPUs, afinal a maioria das placas no mercado ainda não eram programáveis e as GPUs ainda se mostravam muitas limitações de uma nova arquitetura em nascimento, que iam da precisão baixíssima do DirectX 8 até o baixo desempenho nas operações.

A Nvidia surpreendeu lançando logo em seguida a Geforce 4. Esta vinha com 2 unidades de processamento de Shaders e apresentava um desempenho surpreendente se comparada a Geforce 3 em testes como o "Nature" do 3DMark 2001. Em complemento com a linguagem de shaders em alto nível (Nvidia Cg - um superset do C++) o domínio parecia completo. Parecia.

A ATI alguns meses depois veio com um produto surpreendente: a Radeon 9700.

O produto surpreendeu muito com um desempenho excepcional nos shaders. A Nvidia contra atacou e lançou a Geforce FX, um produto que causou certa controvérsia, mas que no final teve boa aceitabilidade do mercado.

E uma grande massa de jogos usando shaders começou a aparecer. Jogos como Far Cry mostraram a capacidade imensa de usar shaders, e presenciamos esta guerra entre as duas empresas no melhor produto com shaders! :-BEER

- Vertex Shader:

O Vertex Shader, como o próprio nome diz, age sobre os vértices manipulando-o no nos 3 eixos (xyz). Mas ele não manupila apenas a posição do espaço. Ele é capaz de modificar a cor e a textura conforme a posição no espaço.

O recurso é muito útil para criar animações, deformações, reflexões ou até mesmo implantar recursos de fumaça.

Alguns efeitos que o Pixel shader pode fazer:

Fumaça:

<div class='bbimg'>%7Boption%7Dhttp://www.nvnews.net/previews/geforce3/images/programmable_gpu/layered_fog.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Reflexões:

<div class='bbimg'>%7Boption%7Dhttp://www.nvnews.net/previews/geforce3/images/programmable_gpu/reflection.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

"Motion Blur":

<div class='bbimg'>%7Boption%7Dhttp://www.nvnews.net/previews/geforce3/images/programmable_gpu/motion_blur.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Link para o comentário
Compartilhar em outros sites

Continuação...

Pixel Shader:

Esse é o recurso que vem encantando programadores de jogos. A definição do Pixel Shader é "um pequeno programa (fragmento) que processa pixels e é executado na unidade de processamento gráfico".

Eu considero o Pixel Shader muito mais amplo ne poderoso que o Vertex Shader. O motivo é simples: ele pode agir em cada pixel do objeto ou da cena. Lógico que o recurso é mais pesado, mas as possibilidades são quase infinitas.

Um recurso que encanta muito os programadores é poder calcular a iluminação pixel-a-pixel. Este recurso por sua vez, é extremamente pesado, e exige integração com o Vertex Shader.

Mas as possíbilidades são inúmeras. Pode-se criar padroões de pele, simular rugosidades, reflexões sobre superfícies, flashes, brilhos, efeitos que simulam ray tracing...depende apenas da criatividade do programador!

Uma pequena amostra sem pixel shader...

samp_without_pixel_shader.jpg

...e usando efeitos de pixel shader:

samp_with_pixel_shader.jpg

efeito de água do Far Cry...jogo que recorre frequentemente ao pixel shader:

<div class='bbimg'>%7Boption%7Dhttp://www.armchairempire.com/images/previews/pc/far-cry/far-cry-2.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Rugosidades + Reflexão:

<div class='bbimg'>%7Boption%7Dhttp://graphics.tomshardware.com/graphic/20020116/images/blinnfinal.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

- Versões dos Shaders:

PS/VS 1.x: Shaders "Rudimentares"

A geração de placas DirectX 8.0/8.1 utiliza esta versão de shaders. Utiliza cálculos em inteiros e é limitada em 128 intruções para vertex Shader e 14 instruções de Pixel Shader (PS 1.4).

O Pixel Shader 1.1 exige 2 passos para renderizar e iluminar, enquanto o 1.4 exige somente um passo.

PS/VS 2.0: Ponto Flutuante

Aqui a coisa começa a ficar interessante. Agora os cálculos são feitos em ponto flutuante, o que torna os efeitos mais belos e possibilita variações de cores mais naturais nos shaders. Agora o número de instruções de VS foi para 256 e de PS para 64 aritiméticas e 32 para texturas.

Algumas instruções foram simplificadas e agora há controle de fluxo. Exemplificando, uma instrução que seria da seguinte forma em VS 1.x:

x=x+1;

instrucao(x);

x=x+1;

instrucao(x);

x=x+1;

instrucao(x);

x=x+1;

instrucao(x);

x=x+1;

instrucao(x);

Agora pode ser escrito assim:

for (x=0;x<5;x++)

instrucao(x);

Muito mais elegante e eficiente.

No seu DirectX 9 a Microsoft estabeleceu pontos flutuante de 24 bits de precisão no mínimo. A primeira placa a usar este formato foi a Radeon 9700.

PS/VS 3.0: Evolução

Trata-se de uma evolução natural da arquitetura. Melhorias no controle de fluxo, mais precisão (32 bits desta vez), maior número de instruções e muitas melhorias na aquitetura (alguns efeitos que levavam dois passos para serem executados agora podem ser feitos em um só).

A geração Geforce 6 por enquanto é a única a oferecer o recurso. O único jogo que suporta o PS 3.0 é o far Cry. Conforme bechmarks iniciais há uma significativa melhora de desempenho. Isso só prova uma coisa: O shader model 3.0 é muito mais efeiciente que o 2.0.

PS/VS 4.0: O Futuro

A especificação ainda está sendo feita, mas muitas mudanças estão por vir. O VS e o PS serão unificados em uma só entidade, haverá recursos ilimitados graças a uma memória de vídeo virtual, e agora haverá texturização sobre shaders.

As placas provavelmente terão que vir equipadas com um "compilador rudimentar" para auxiliar no processamento. Isto irá possibilitar a criação e destruição de vértices em tempo real.

Parece que também irá ter muitas melhorias na tesselação e nos comandos "legados".

Links:

http://www.nvidia.com/object/feature_vertexshader.html

http://www.nvnews.net/previews/geforce3/pr...mable_gpu.shtml

http://www.geocities.com/arne9184/articles...xel_shaders.htm

http://graphics.tomshardware.com/graphic/20020116/

http://msdn.microsoft.com/archive/default....differences.asp

http://msdn.microsoft.com/archive/default....differences.asp

http://www.anandtech.com/showdoc.aspx?i=1656&p=7

Observação: Artigo a ser completado!

Link para o comentário
Compartilhar em outros sites

Parabéns pelo tópico muito útil para todos nos, mas seria legal da parte dos fabricantes, nVidia e ATI se no site deles colocassem algo de como funciona os seus produtos, com suporte e tal, pois geralmente eles só falam, GPU FX com recursos do novo CineFX que apresentam efeitos de Hollywood...

Mas com certeza merece ser destacado!!! r0xxxxxx!!!!!! :-BEER

falou!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Postado Originalmente por hmaqueda@13 jul 2004, 00:18

Parabéns pelo tópico muito útil para todos nos, mas seria legal da parte dos fabricantes, nVidia e ATI se no site deles colocassem algo de como funciona os seus produtos, com suporte e tal, pois geralmente eles só falam, GPU FX com recursos do novo CineFX que apresentam efeitos de Hollywood...

Mas com certeza merece ser destacado!!! r0xxxxxx!!!!!! :-BEER

falou!

Nem se preocupe muito com o tal do CineFX... Esse é o nome pomposo adotado pela nVidia para se referir ao suporte do Directx 9 nas Geforce FX Series.

Link para o comentário
Compartilhar em outros sites

RAMDAC é o dispositivo que converte os sinais digitais em analógicos para seu monitor. Em tese um RAMDAC com maior frequência permite resoluções maiores e com frequências mais elevadas. Diz-se também que influencia na qualidade de imagem ,mas isso é muito relativo, depende mais da qualidade do RAMDAC.

P.S.: 1000 Posts!!!! Yay!!!!! :bandeira:

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

:palmas: antes de mais nada parabêns pelo tópico; Bom naõ entendo quase nada de informática, e meu problema é o seguinte: jogando Half Live uplink quando me aproximo de parades e outros objetos não é possível perceber a textura das mesmas e é bastante nítido os pixels. Como posso resolver este problema, minha placa de vídeo é uma ATI RADEON 9200 128 MB 64 BITS. Devo mexer no setup?

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por emer19@10 ago 2004, 18:28

:palmas: antes de mais nada parabêns pelo tópico; Bom naõ entendo quase nada de informática, e meu problema é o seguinte: jogando Half Live uplink quando me aproximo de parades e outros objetos não é possível perceber a textura das mesmas e é bastante nítido os pixels. Como posso resolver este problema, minha placa de vídeo é uma ATI RADEON 9200 128 MB 64 BITS. Devo mexer no setup?

Tem um tópico fixo que diz como solucionar este tipo de problrma! :-BEER

http://forum.clubedohardware.com.br/index....howtopic=170822

Link para o comentário
Compartilhar em outros sites

  • mês depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!