quarta-feira, 16 de março de 2011

Termos Técnicos: Polígono, Lowpoly Highpoly e Renderização

Nessa série de post intitulado termos técnicos, vou abordar alguns termos usados tanto em computação gráfica quanto no desenvolvimento de jogos. É uma forma de apresentar termos usados nessa  área para ajudar os iniciantes na hora que quiser pesquisar certas coisas, porém, não sabe como pesquisar porque não conhece certos termos ou mesmo caso ele se depare com esse termo em artigos ou sites afora.
Vamos começar com o termo Polígono. Na modelagem 3D, um polígono é a forma geométrica básica que forma os modelos em 3D, um polígono usado na modelagem e jogos é normalmente formado por três linhas, formando um triangulo. Em resumo, para formamos um modelo, por mais esférico que ele pareça, eles tem que ser formado por triângulos. Isso acontece porque que dessa forma o computador consegue processar a imagem mais rápido do que se fosse calcular usando qualquer outra forma geométrica.

Os jogos de última geração nos dias de hoje quase não nos deixa perceber o uso de polígonos nos seus modelos, pois se utilizam de um número cada vez maior de polígonos. Mas se você for ver os jogos mais artigos, até mesmo da geração do Playstation 2, verá que não é difícil visualizar partes dos modelos e cenários que tentam se utilizam de formas retas para formar um modelo esférico. E você irá notar que eles ficam cada vez mais visíveis conforme o jogo for velho.

Um bom exemplo de jogo que se utiliza de um número limitado de polígonos é o Tomb Raider 1 de PC e Playstation One. Para se ter uma idéia, os seios da personagem principal, Lara Croft, são tão triangulares quanto as pirâmides que ela explora. Esse jogo é de meados dos anos noventa, e a maioria dos jogos em 3D da época também são semelhantes em termos de número de polígonos.
Existem dois termos quem são muitos utilizados por desenvolvedores de jogos e na área de CG para descrever o nível de detalhamento de um modelo poligonal. O Lowpoly para modelos com um número baixo de polígonos e Highpoly para um modelo rico em polígonos. Não podemos dizer qual o número de polígonos um modelo deve ter para se considerado um ou outro, pois 200 polígonos podem ser o suficiente para tornar uma bola Highpoly, porém não é o suficiente para colocar um modelo de um personagem nessa categoria por exemplo.

Muitos podem achar que com a evolução rápida do poder de processamento dos computadores, os modelos em Lowpoly deixarão de existir, porém se enganam. De certa forma para os jogos podem até ser, porém para a produção e modelagem 3D ainda é muito utilizada, pois na verdade um modelo em Highpoly normalmente é produzido a partir de um modelo LowPoly, que depois de modelado passa por ferramentas que aumentam seu número de polígonos e o deixa mais detalhado. Dessa forma é mais fácil produzir modelos 3D em Hightpoly.

Acredita-se que em um futuro próximo, com a evolução descomunal dos computadores, os jogos irão ter tantos polígonos que eles seriam equivalentes aos átomos no mundo real. Isso já pode até ser considerado realidade para as produções cinematográficas, que tem modelos tão ricos de polígonos que é impossível enxergar um em qualquer que seja a produção cinematografia. Isso se deve pelo fato de que essas cenas são produzidas de um modo diferente das que vemos em nossos jogos.

Cada segundo de um filme produzido em computação gráfica pode demorar dias para ser gerado pelos computadores das produtoras. Fato é que você não vê a Pixar lançar mais de um filme por ano, ela só consegue produzir um filme por vez, e para cada filme seus milhares de computadores trabalham mais de um ano para produzir. Agora imagine se seu jogo demora-se um dia para passar um segundo do jogo, seria tão divertido quanto assistir um filme em câmera lenta. Para projetar os modelos em tempo real para você, um jogo tem que ser processado bem mais rápido, por isso não vemos a qualidade gráfica dos filmes da Pixar nos nossos jogos.

A esse processo de gerar as cenas com os modelos 3D dá-se o nome de renderização ou render no inglês. Para os jogos, a renderização tem que acontecer em tempo real, sendo assim, enquanto você vê um segundo de seu jogo, o processador estará renderizando o próximo segundo para exibir para você, e ele não pode levar mais tempo para renderizar do que o tempo que ele exibe a cena.

Até um tempo atrás se acreditava que no futuro para se produzir um personagem em 3D onde era possível visualizar os buracos dos poros da nossa pele seria necessário modelar esses poros usando os polígonos, porém logo se viu que esse pensamento estava errado e que uma técnica chamada Normal Mapping tornaria isso realidade bem mais cedo do que se imaginava e sem a necessidade de polígonos, porém esse termo fica para eu explicar no nosso próximo post de termos técnico.

Criticas, elogios, sugestões, os comentários são de vocês. Até.

3 comentários:

  1. Ótima abordagem! Sou autodidata em modelagem 3D. É por causa de pessoas iguais a você que consigo aprender cada vez mais. Obrigado pela iniciativa!
    Parabéns pelo Blog que tá demais!

    ResponderExcluir
  2. Ótimo post, realmente, me tirou algumas dúvidas. Gostaria de fazer uma pergunta, no desenvolvimento de jogos como determinar quantos poligonos devem ter minha cena, caracter e objetos em geral, como deve ser determinado isso?

    ResponderExcluir