Ir ao conteúdo
  • Cadastre-se

Placas De Vídeo - Funcionamento.


_RAZIEL_

Posts recomendados

Olá amigos, o propósito deste tópico é ajudar a entender as VGAs e algumas de suas funções.

Placas de vídeo 3D

Placas 3D não são mais um acessório apenas para os usuários de jogos ou um item sofisticado para os profissionais de computação gráfica. Atualmente todas as placas de vídeo possuem recursos 3D, mesmo as utilizadas nos PCs mais simples. Portanto é uma boa ideia conhecer as funções dessas placas.

O que faz uma placa de vídeo 3D?

A exibição de imagens tridimensionais é muito complexa, principalmente quando é necessário um alto grau de realismo. Imagens tridimensionais são representadas internamente na memória do computador, como uma sucessão de elementos gráfi*cos: polígonos, luzes, texturas e efeitos visuais diversos. Por exemplo, para represen*tar uma casa com móveis, é preciso que o programa mantenha na memória, todos os objetos representados como grupos de polígonos, tipicamente triângulos e retân*gulos.

Qualquer polígono pode ser representado como a junção de um ou mais triângu*los ou retângulos. É preciso armazenar as coordenadas espaciais (X, Y e Z) de cada um dos vértices desses polígonos. Pontos de iluminação também preci*sam ter suas coordenadas armazenadas, pois esta informação é necessária para de*terminar se elementos gráficos aparecerão mais claros ou mais escuros, e ainda para a composição de sombras. Em cada superfície são aplicadas texturas, obtendo as*sim, maior realismo. Uma textura é uma figura bidimensional que é aplicada sobre os polígonos no espaço tridimensional. Por exemplo, o asfalto de uma pista de cor*ridas pode ter aplicado a ele, trechos de imagens obtidos por fotografias frontais de asfalto verdadeiro. Da mesma forma, tijolos podem ser representados por retângulos sobre os quais são aplicadas texturas resultantes de fotografias de tijolos verdadeiros. O principal trabalho de uma placa tridimensional é aplicar as texturas sobre os polígonos, levando em conta as suas coordenadas espaciais. A figura abaixo mostra um exemplo de imagem obtida a partir da aplicação de texturas sobre os polígonos no espaço tridimensional.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

A figura abaixo mostra uma tela capturada de um jogo 3D para o modo MS-DOS. Apesar de ser um jogo tridimensional, não utiliza recursos de placas tridimensionais (e por isso funciona com qualquer placa de vídeo).

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem] 2D - Cena de um jogo que não possui suporte para placas tridimensionais.

A parte esquerda da figura mostra o interior de uma sala, com razoável qualidade gráfica. Podemos ver os detalhes do relógio, o banco, e até as texturas dos azulejos da parede. Na parte direita da figura temos uma pa*rede bem próxima. Como não estão sendo usados recursos tridimensionais, não é possível ter alta qualidade nas texturas aplicadas, principalmente a pequenas diz*tâncias. As texturas precisam ser ampliadas, e são representadas por uma série de quadrados de grande tamanho, o que prejudica o realismo. O problema poderia ser resolvido com o uso de texturas de maior resolução, mas aí existiria outro pro*blema mais sério, que é a grande quantidade de processamento envolvido na apli*cação dessas texturas. Para aplicar uma textura de 256x256, seria preciso um poder de processamento 16 vezes maior que o necessário para usar uma textura de 64x64. Especificamente os jogos 3D para MS-DOS foram criados para funcionar com processadores 486, portanto não podem contar com um processador veloz para manipular texturas muito complexas.

Já a figura abaixo mostra uma cena do jogo Heavy Metal Fakk2, usando uma placa de vídeo 3D. A parte esquerda da figura é o canto externo de uma parede de tijolos. Podemos observar que esses tijolos, mesmo es*tando próximos do observador, não são formados por uma sucessão de quadrados de grande ta*manho, como no caso da figura 41. Além da placa de vídeo 3D ser capaz de mani*pular texturas de maior resolução, realiza filtragens que fazem com que as imagens fiquem mais realistas, não apresentando efeito de pixelização.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Texture Mapping

Esta é a principal função de um chip gráfico, mesmo os mais simples. A memória de vídeo armazena, além da imagem a ser exibida, imagens quadrangulares (ex: 256x256) que representam as texturas a serem aplicadas sobre os triângulos ou retângulos. A figura abaixo mostra algumas das milhares de texturas utilizadas em um jogo 3D (Heavy Metal Fakk2). Este jogo usa texturas de vários tamanhos, como 256x256, 128x256 e 128x128. Note que existem texturas que representam paredes, janelas, portas, telhados, madeira, etc.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Bi-linear / Tri-linear Filtering

Essas técnicas utilizam seálculos para misturar as cores dos pixels das texturas, resultando em um efeito visual me*lhor. As figuras 44 e 45 mostram a diferença entre uma imagem sem filtragem e uma com filtragem. Os dois tipos de filtragem usados nas placas de vídeo são o bilinear e o trilinear. A filtragem trilinear demanda mais seálculos e produz resultados um pouco melhores. Todas as placas 3D modernas fazem filtragem bilinear, mas nem todas fazem a filtragem trilinear.

A figura abaixo mostra a diferença entre as filtragens bilinear e trilinear. Normalmente olhando a tela à distância, dificilmente percebemos a diferença. Apenas olhando atentamente nos detalhes das texturas podemos perceber a maior qualidade da filtragem trilinear. Esta figura mostra uma pequena área de 70x120 pixels, extraída de uma cena 3D com 1024x768.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

A diferença entre os dois tipos de filtragem é que a trilinear utiliza informações re*sultantes do MIP Mapping para realizar uma filtragem melhor e mais rápida. Os jogos 3D possuem comandos para escolher o tipo de filtragem a ser usada. Em alguns casos, escolher a filtragem bilinear ao invés da trilinear pode melhorar o desempenho, algo que pode ser tentado quando a movimentação está lenta.

Continua......

Link para o comentário
Compartilhar em outros sites

Anti-Aliasing

Esta técnica nada mais é que a aplicação de filtragem, já explicada acima. Seu obje*tivo é acabar com o efeito de pixelização. Em todas as placas 3D modernas, este efeito de “suavização” é feito no interior das texturas, como vemos na figura abaixo. Para elementos próximos, a filtragem acaba com os grandes quadriláteros que se formam na imagem. Para elementos situados a médias distâncias, a filtragem acaba com efeitos que fazem retas aparecerem como escadas. A figura abaixo mostra o melhoramento que a filtragem faz sobre este efeito de “escada”, visualmente indesejável, que prejudica o realismo da imagem.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Observe que a parede inteira na figura acima é uma só textura, portanto todo o seu interior é suavizado. Infelizmente a maioria das placas 3D não é capaz de realizar o anti-aliasing na fronteira entre duas texturas diferentes.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

A figura acima mostra uma imagem gerada pelo jogo Star Wars Rogue Squadron, sem a ativação do anti-aliasing entre texturas diferentes. Podemos ver no detalhe, o efeito indesejável de serrilhamento no contorno da asa da nave. A maioria das placas 3D apresenta efeitos semelhantes, sempre na fronteira entre dois elementos diferentes. A suavização através de filtragem é feita apenas no interior das texturas (observe que a superfície da asa está perfeita), mas nas fronteiras ocorre o problema.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

A figura acima mostra como fica a imagem quando é usado o anti-aliasing. Funciona como uma filtragem que atua sobre a fronteira entre texturas diferentes (lembrando que cada textura está aplicada sobre um polígono). A qualidade da imagem é muito melhor. Este recurso está presente em todas as placas atuais. É usada por chips gráficos de mais alto desempenho, já que esta suavização demanda muitos seálculos.

Filtragem Anisotrópica

Quando uma superfície tem a propriedade característica que não é a mesma em todas as direções (por exemplo, fibras de madeira, marcas de pneu em uma pista), a filtragem anisotrópica pode ser usada para uniformizar esses efeitos somente em uma direção, sem diminuir os detalhes das separações. A diferença desse método de filtragem em relação à filtragem bilinear/trilinear é bem perceptível e quase sempre vem acompanhada por uma queda na performance. Veja exemplo abaixo:

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Dithering, imagens de 16 e 32 bits

O dithering é uma técnica bastante antiga, não usada apenas em placas 3D. Consiste em misturar pontos de diversas cores, com o objetivo de simular um número maior de cores. Este é o método usado na representação de fotos em arquivos GIF, com apenas 256 cores. Desta forma, com poucas cores disponíveis, o chip gráfico simula um número de cores muito maior. Placas 3D mais modestas operam com 16 bits por pixel, totalizando 65.536 cores. Imagens geradas neste modo apresentam superfícies com variações de cor através de faixas, e não contínuas. Também utilizam o dithering para simular um número maior de cores, usando as poucas cores disponíveis. Melhor ainda é quando a placa opera com 32 bits, possibilitando gerar cores mais reais, sem lançar mão do dithering. A figura abaixo mostra um pequeno trecho de uma cena em duas situações. À esquerda temos a imagem com 16 bits e dithering, e à direita temos a imagem com 32 bits. No detalhe destacado podemos perceber na versão de 16 bits, a mistura de pixels de cores diferentes, mistura esta que não é necessária com o uso de 32 bits.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Apenas olhando mais atentamente conseguimos perceber a diferença entre imagens de 16 e de 32 bits. Os jogos normalmente permitem ao usuário escolher o modo a ser usado. Em geral usar 16 bits resulta em um desempenho duas vezes maior que usar 32 bits. Portanto usar 16 bits é uma simplificação visual aceitável para resolver problemas de baixo desempenho.

continua.....

Link para o comentário
Compartilhar em outros sites

Z-Buffer

Aqui está uma outra função que está presente em todos os chips gráficos, mesmo os mais simples. Trata-se de uma área da memória de vídeo que é usada para manter as coordenadas Z (profundidade) dos elementos gráficos que serão apresentados na tela. Essas informações são calculadas e preenchidas pelo processador, que é o responsável por determinar o posicionamento dos polígonos. Com essas informa*ções, o chip gráfico pode realizar diversas funções que dependem da informação de distância do observador. O chip gráfico pode também ajudar o processador na ta*refa de determinar quais são os elementos visíveis e quais têm visão obstruída por outros elementos.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Na figura acima vemos a mesma imagem em duas versões: sem e com o z-buffer. Quando o z-buffer está desativado, o posicionamento de imagens pode não funcionar corretamente, fazendo com que elementos que deveriam estar atrás aparecem na frente. Na versão sem o uso do z-buffer na figura acima, parece que a carro está dentro da cerca, quando na verdade a cerca passa à esquerda do carro.

Double Buffering

O buffer aqui referido é a área de memória de vídeo que é representada na tela. Placas que não possuem este recurso fazem as alterações na própria imagem que aparece na tela. Desta forma, modifica*ções intermediárias podem ser vistas momentaneamente à medida em que a figura é redesenhada, o que é uma imperfeição visual. Com o uso do buffer duplo, este problema não ocorre. Enquanto um buffer está sendo exibido na tela, o outro está sendo calculado e preenchido com a nova posição da figura. Terminado o preen*chimento, este segundo buffer passa a ser exibido na tela, já pronto. O primeiro buffer será agora usado para um novo preenchimento. Dessa forma, os dois buffers ficam se alternando na tela, um sendo exibido enquanto o outro está sendo recalcu*lado.

Alpha Blending

Este recuso serve para criar objetos transparentes, como água vidros coloridos, etc. Também pode ser usado para criar efeito de ne*blina. Em jogos de corridas nos quais existe grande realismo na representação dos carros, a pintura pode ser cromada com a aplicação desta técnica. Também pode ser usado para criar efeitos visuais de ofuscamento por luzes, como as de holofotes, faróis de carros e do sol, como mostra a figura abaixo.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Gourad Shading

A figura abaixo mostra esta técnica. Uma das etapas da criação de gráficos 3D é o preenchimento de tonalidades sobre os polígonos que formam as figuras, com o objetivo de criar diferentes graus de luminosidade. Isto deá à imagem, o aspecto de tridimensionalidade. A técnica de sombreamento mais simples consiste em preencher um polígono inteiro com uma tonalidade. Isso é o que chamamos de flat shading. O problema é que apesar de simples e de rápida aplicação, este processo deixa transparecer que o sólido é formado por uma série de polígonos, que ficam visivelmente destacados.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

Uma técnica mais avançada, utilizada pelas placas 3D modernas, é a chamada Gourad shading. Consiste em utilizar os valores nos vértices como referência para interpolar os valores de todos os pixels no interior do polígono. A tonalidade varia linearmente, e assim não notamos mais a presença dos diversos polígonos, temos a sensação de que os objetos são sólidos com curvatura própria.

Perspective Correction

O aspecto de uma textura não deve ser uniforme em toda a extensão do polígono sobre o qual é aplicada. Deve ser reduzido para as partes localizadas a distâncias maiores. O processador, responsável pelo seálculo das coordenadas dos vérti*ces dos polígonos, tem condições de desenhar cada um deles em perspectiva, mas cabe ao chip gráfico realizar as transformações adequadas também sobre a textura. Imagine que a parede retangular mostrada na figura abaixo é um polígono, sobre o qual será apli*cada uma textura formada por tijolos. Graças ao seálculo correto das coordenadas dos vértices, feito pelo processador, a parede aparece com o formato correto. Se a textura fosse aplicada de maneira uniforme, sem levar em conta a perspectiva, o resultado seria ruim, com pouco realismo, como mostra a parte direita da fi*gura. Todos os tijolos apareceriam com o mesmo tamanho, o que não corresponde à realidade. A parte esquerda da figura utiliza correção de perspectiva. Toda a textura é remanejada, sendo comprimida nas partes mais distantes, resultando em maior realismo. A correção de perspectiva está presente em praticamente todas as placas de vídeo 3D (exceto em alguns modelos antigos), e sem ela, a qualidade dos gráficos é muito prejudicada.

[Neste espaço havia uma imagem, mas o link foi modificado no site de origem]

DirectX

Se você gosta de jogos, não pode passar sem conhecer o DirectX. Trata-se de um conjunto de funções que permitem aos jogos terem acesso direto aos hardware, possibilitando assim que esses jogos operem de forma extremamente rápida. Antes de existir o DirectX, os jogos acessavam o hardware como outro programa qualquer, passando por toda a “burocracia” do sistema operacional. Este método de acesso “burocrático” é adequado para programas que geram poucos movimentos na tela e que recebem dados em baixa velocidade a partir do teclado e mouse. Já os jogos de ação precisam gerar imagens bastante rápidas, gerar sons sincronizados com os movimentos, receber movimentos a partir de joysticks e através de uma rede (muitos jogos permitem múltiplos jogadores, que podem operar em conjunto graças à rede).

A Microsoft desenvolveu então o DirectX, composto de várias partes:

DirectDraw - acesso direto à placa de vídeo para gráficos 2D

Direct3D - acesso direto à memória de vídeo para gráficos 3D

DirectSound - acesso direto à placa de som

DirectPlay - acesso direto a rede

Direct Input - acesso direto a joysticks

Este padrão possibilitou a criação de milhares de jogos para Windows. Antes disso os jogos para Windows eram muito lentos, e as empresas que os criavam eram obrigadas a utilizar o MS-DOS para conseguir mais velocidade. Hoje não são mais lançados jogos para MS-DOS, apenas para Windows, e usando o DirectX. O usuário deve sempre manter no seu computador a versão mais nova do DirectX. Quando instalamos um jogo, normalmente é feita a instalação do DirectX, caso a versão existente no CD do jogo seja mais nova que a instalada no computador. O usuário também pode ir direto ao site da Microsoft, em www.microsoft.com/directx para obter a versão mais nova do DirectX.

Direct3D, Glide e OpenGL

O Direct3D é a parte do DirectX dedicada à geração de imagens tridimensionais. Dizemos que é uma API gráfica 3D (Application Programming Interface). A maioria dos jogos usam a API Direct3D, mas existem outras duas importantes: Glide e OpenGL. O Glide é a API nativa das placas 3D produzidas pela 3DFx, um dos maiores fabricantes de chips gráficos 3D. São as placas conhecidas como Voodoo, bastante comuns no mercado, apesar de caras. Placas Voodoo devem operar preferencialmente com o Glide, mas também podem operar com Direct3D e OpenGL, apesar do Glide oferecer melhores resultados. A maioria dos jogos que opera com Glide, opera também com Direct3D. Os fãs de jogos de corridas normalmente preferem as placas Voodoo, já que a maioria desses jogos, apesar de funcionarem com o Direct3D, são otimizados para o sistema Glide.

A outra API importante é o OpenGL. É usada para a geração de gráficos 3D em programas para uso profissional, como CAD em geral, mas muitos jogos modernos o estão utilizando, devido à melhor qualidade das suas imagens. O OpenGL tem como prioridade a precisão na representação de imagens, e não a velocidade.

Alguns jogos podem operar com OpenGL, mas ficam um pouco lentos. Se a placa de vídeo e o processador forem bastante rápidos, o problema da lentidão é resolvido, e os gráficos são fantásticos. Atualmente a maioria das placas 3D é acompanhada de drivers para Direct3D e OpenGL. As placas Voodoo são compatíveis com Glide, Direct3D e MiniGL, uma porção do OpenGL utilizada em jogos.

Fast Writes (AGP)

Tecnologia que faz parte da especificação AGP 2.0. "Fast Writes" é uma técnica que oferece um pequeno ganho de performance às placas gráficas AGP. Teoricamente ela permite que a CPU se desvie da memória do sistema e envie dados diretamente para o chip gráfico, eliminando assim um obstáculo no barramento da memória. Ela foi inicialmente suportada no segmento das placas gráficas populares pela linha GeForce 256 da NVidia.

*Fonte: http://www.laercio.com.br

Glossário com mais termos:

Glossário 3D

FiM

[]´s

Razi

Link para o comentário
Compartilhar em outros sites

Bom, só citando a fonte do artigo do colega Raziel:

http://www.laercio.com.br/site2/artigos/ol...021/old-021.htm

Só compeltando, a filtragem que as placas de vídeo executam (Bilinear, Trilinear, Anisotrópica) serve para evitar esse tipo de imagem, comuns nas placa mais antigas:

<div class='bbimg'>%7Boption%7Dhttp://www.laercio.com.br/site2/artigos/old/old-021/art3553t.gif' border='0' alt='Imagem postada pelo usuário' /></div>

Com a filtragem, a imagem parece muito menos "artificial":

<div class='bbimg'>%7Boption%7Dhttp://www.laercio.com.br/site2/artigos/old/old-021/art3554t.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por Ichigeki@03 jul 2004, 03:12

Bom, só citando a fonte do artigo do colega Raziel:

http://www.laercio.com.br/site2/artigos/ol...021/old-021.htm

Olá amigo....

Eu ia mencionar a fonte... apenas adicionei tudo com mais agilidade para depois "enfeitar", isso para que ninguém respondesse antes de eu concluir os posts... para não "quebrá-los".

[]´s

Razi

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Mais algumas coisas interessantes ligadas a placas de vídeo:

Bump Mapping

O Bump Mapping pode ser definido como um processo que cobre um mapa de detalhes tridimensionais - os padrões de um pneu, os rebites em um veículo, os arranhões em uma armadura, as imperfeições de um corpo - de um modelo poligonal de superfície lisa. Se vocês pensarem em um modelo em 3D (um veículo ou um personagem) como uma forma simples escumpida em um pedaço de madeira, então, o Bump Mapping seria o processo de esculpir os pequenos detalhes.

<div class='bbimg'>%7Boption%7Dhttp://www.doom3.com/images/screenshots/02.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Notem as ondulações do corpo do monstro em Doom 3.

Displacement Mapping

O Bump Mapping é usado para dar um alto nível de detalhe as texturas, mesmo com um número não tão grande de polígonos. A verdade o que se vê é uma mera ilusão. Não há física diferente, em relação as texturas, quando se é utilizado essa técnica. As sombras e luzes, refletidas no personagem ou objeto, seguem o esquema definido pelo número padrão de polígonos do objeto 3D. Esta é a diferença do Displacement Mapping. Ela segue o mesmo padrão do Bump, porém tudo o que se vê realmente interage com todas as características do ambiente 3D. Todas as sombras e luzes são perfeitamente refletidas de acordo com o modelo que é mostrado na tela. Essa tecnologia é uma das novidades do Pixel Shader 3.0 e já consta como o grande futuro dos jogos.

Fontes:

Hardocp

Revista EGM Brasil

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Vertex Shader

Primeiramente o que é um vertex? Vertex (vértice em português) é o canto do triângulo onde duas bordas se encontram, e assim cada triângulo é composto de três vértices.

O Vertex Shader é um processamento gráfico que tem como função adicionar efeitos especiais num ambiente 3D para executar operações matemáticas nos chamados "vertex data". Cada vertex pode ser definido por muitas variáveis diferentes. Por exemplo, um vertex (vértice) sempre é definido por sua situação num ambiente 3D usando o x-, y-, e z- como coordenadas.

Os vertex também podem ser definidos por cores, texturas e luzes características. Vertex Shaders realmente não mudam o tipo de dados; eles simplesmente mudam os valores dos dados, de modo que um vértice emerge com uma cor diferente, texturas diferentes, numa posição diferente no espaço.

Antes da apresentação das GeForce3 e Radeon 8500, efeitos de Vertex Shading eram então complexo de serem produzidos. Eles só podiam ser processados em grandes workstations, dificultando sua utilização em meio caseiro. Agora, developers podem usar Vertex Shaders e personalizar caracteres e ambientes, tal como efeitos que nem o Fog e animações faciais como covinhas ou pregas que aparecem quando se dá um sorriso.

Os exemplos de efeitos Vertex Shading incluem: matrix palette skinning (paleta de matriz de pele), que permite programadores criarem animações realistas de caracteres com até 32 "ossos" por conjunto, permitindo-os mover e flexionar convincentemente; deformation of surfaces (deformação de superfície), que dá o poder para developers criarem superfícies realistas, tal como ondas e movimentos de terras deslizando; vertex morphing, que usa triângulos de diversas formas, fornecendo animações de esqueletos lisos, por exemplo. Estes são somente alguns dos inúmeros, praticamente infinitos, efeitos que podem ser criados usando o Vertex Shader.

skinnedfinal.jpg

Exemplo do "matrix palette skinning". Um dos efeitos possíveis através do Vertex Shader.

Pixel Shader

Pixel Shader é um efeito gráfico que calcula animações numa base de pixel. Dependendo da resolução, 2 milhões de pixels podem necessitar serem coloridos para cada animação em 60 frames por segundo. Isso cria uma grande carga de processamento. a partir da GeForce3 e Radeon 8500 isso pode ser "facilmente" processado e como conseqüência traz efeitos no estilo de filmes a seu PC. O Pixel Shader traz à luz um nível extraordinário de detalhes de superfície, permitindo-nos ver efeitos além do nível das triangulações de objetos 3D. Pixel Shaders dão a capacidade para os criadores de jogos criarem efeitos de pixel que expandem sua visão criativa.

Antigamente os desenvolvedores ficavam presos a uma paleta pré-regulada de efeitos já programados, com essa técnica, eles podem criar os efeitos que bem entendem. Com Pixel Shaders programáveis os desenvolvedores tem um controle nunca visto para determinar luz, sombra, física, cores individuais por pixel, permitindo-os criar uma grande gama de efeitos raros de superfície.

<div class='bbimg'>%7Boption%7Dhttp://www.tomshardware.com/game/200404171/images/fcwater.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

FarCry usa e abusa de todos os efeitos possíveis...

Fontes:

Nvidia

Tomshardware

Link para o comentário
Compartilhar em outros sites

O Truform é um método de aumentar o número de polígonos de um objeto, através de um método um pouco complexo. Se quiser mais informações veja esse artigo do site Anandtech: http://www.anandtech.com/showdoc.html?i=1476&p=4. Mas vai precisar de alguns conhecimentos de geometria analítica para entender o algorítimo. Vou estudar um pouco (já que onde trabalho e trabalho está em greve, hehe :P ) e ver se eu entendo o algorítimo e escrevo detalhadamente como ele funciona.

Resumidamente (bem resumido mesmo!) o Truform consiste em criar mais polígonos baseado na informação do T&L. Porém para isso o aplicativo deve estar preparado para isso e requisitar o Truform nos objetos.

A luz reflete nas superfícies (ou triângulos, que seja...) de forma diferente à medida em que o ângulo de incidência da luz é modificado, assim pode-se modificar a posição da incidência da luz e o vetor normal ao vértice para criar pontos (armazenados posteriormente num plano gerado através do vetor normal), que irão gerar uma "curva" (não é realmente uma curva...mas quanto mais iterações do algoritimo mais pontos são gerados, e o resultado se aproxima de uma curva).

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/video/ati/TRUFORM/point.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Diversas "curvas" criadas terminam por formar uma estrutura "quase arredondada" em cima do triângulo. O plano orginalmente formado pelo triângulo (xy) sofre diversas transformações lineares e forma uma estrutura 3D (xyz)

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/video/ati/TRUFORM/mesh.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Através de tesselação o objeto é dividido em diversos triângulos. o milagre da multiplicação de polígonos está formado! :D

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/video/ati/TRUFORM/tess.jpg' border='0' alt='Imagem postada pelo usuário' /></div>

Posso ter errado alguma coisa, detesto álgebra linear e geometria anlítica (geometria analítica bombei 2x mas consegui passar...já bombei 5x de algebra linear e ainda não passei, argh), e além disso são 5 e meia da manhã! Fiz um esforço danado para entender isso, o livro de álgebra linear :priv: teve que ser aberto a essa hora...qualquer erro me corrijam!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Eu já tinha ideia de fazer algo parecido com esse tópico antes... Tinha algumas coisas já arrumadas (vertex, bump...) e aproveitei e fiz os outros que ainda não tinham. Esse tópico ficou legal para se aprender o funcionamento das placas de vídeo. Quem está afim de fazer um comparativo das versões do Pixel Shader? Podiamos juntar algumas pessoas e elaborar esses tipos de explicações.

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por red viper@04 jul 2004, 20:14

Eu já tinha ideia de fazer algo parecido com esse tópico antes... Tinha algumas coisas já arrumadas (vertex, bump...) e aproveitei e fiz os outros que ainda não tinham. Esse tópico ficou legal para se aprender o funcionamento das placas de vídeo. Quem está afim de fazer um comparativo das versões do Pixel Shader? Podiamos juntar algumas pessoas e elaborar esses tipos de explicações.

Pode contar comigo! :-BEER

Link para o comentário
Compartilhar em outros sites

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...