Dicas sobre escolha do hardware para computação gráfica 3D

A escolha do hardware para trabalhar com computação gráfica 3d sempre é um dos itens que mais preocupa os iniciantes nessa área quando o assunto é a escolha do computador, principalmente devido as atualizações necessárias no hardware para que alguns softwares sejam executados. Por exemplo, quando é que vale investir em sistemas de 64 bits? Será que o investimento em placas de vídeo que custam mais de 500 reais é interessante? Com as opções de visualização avançada, cada vez mais comuns em sotwares 3d sendo baseadas na GPU, as placas são mais que necessárias.

Quer ver um exemplo de como essas placas podem auxiliar no desempenho até mesmo de desenho em CAD? A Nvidia está divulgando uma nova familia de placas Quadro com foco no uso do AutoCAD 2010 e suas opções de modelagem 3D usando Meshs. O interessante desse exemplo é o infográfico que aparece na página e demonstra o ganho de desempenho na visualização dos projetos em 3D no AutoCAD e até mesmo na atualização do zoom dos projetos. Eu já havia comentado sobre essa placa no meu Twitter alguns dias atrás, mas recomendo a visita a página novamente, mesmo que seja apenas para conferir o infográfico.

Mas, e se você já tiver um computador? Será que uma atualização pode ajudar? Claro que ajuda! Mas, é bom pesquisar a compatibilidade dos acessórios escolhidos para a atualização. Se você não tem muito conhecimento sobre os padrões usados para os diversos dispositivos de hardware do computador, recomendo fazer o download do pôster abaixo, que está em excelente resolução e relaciona a maioria das conexões disponíveis hoje em dia para periféricos.

tabela-tipos-conexao-computacao-grafica.png

O link para download é esse. É uma imagem de 24 MB.

A relação é tão completa que lista inclusive as conexões disponíveis nos computadores da Apple e que só encontramos nesses computadores praticamente. O que você vai aprender com essa tabela? Por exemplo, você saberia identificar uma porta FireWire no seu computador? Esse é um dispositivo muito usado para passar dados de câmeras de vídeo, pois na tabela existem imagens em excelente resolução dos diferentes tipos de porta FireWire.

Além dessas portas existem imagens descrevendo as conexões para processadores, memória e vários outros. Pela resolução da imagem é possível até mesmo imprimir o material e deixar na parede para consultas futuras.

Photon Mapping aplicado na renderização em tempo real

A Siggraph 2009 só vai acontecer no segundo semestre, mas alguns dos trabalhos científicos que devem ser apresentados na conferência já estão sendo divulgados na internet. Um desses trabalhos mostra o quanto já estamos nos aproximando de ambientes que utilizam a totalidade dos recursos das GPUs, para prover ambientes com iluminação global em jogos e animações interativas. O trabalho científico intitulado “Hardware-Accelerated Global Illumination by Image Space Photon Mapping“, cujos autores são Morgan McGuire e David Luebke, mostra como é possível usar Photon Mapping em ambientes de jogos.

Caso você tenha interesse em conhecer mais sobre o estudo, o material pode ser consultado e o artigo científico produzido com a descrição do método está disponível para download no formato PDF. Esse é o tipo de referência perfeita para quem está planejando produzir algum trabalho científico, principalmente devido a descrição histórica e funcionamento dos algorítmos responsáveis pelo Photon Mapping. Além do PDF, também é possível conferir vários vídeos de demonstração.

photon-mapping-jogos-render.jpg

O método apresentado pelos autores da pesquisa tenta acelerar o processo de cálculo e interação dos ambientes com a iluminação, e se chama Image Space Photon Mapping. Segundo a descrição realizada pelos autores no artigo, as fórmulas e técnicas desenvolvidas por eles tem como objetivo acelerar o Photon Mapping, mas de maneira mais eficiente ao que já se conhecia. Todas as técnicas conhecidas hoje, resultam em simulações de iluminação que não condizem com a realidade, e geram resultados inexatos. Com o método deles, o processo é feito de maneira fiel ao processo de iluminação gerando resultados muito próximos do ideal.

A parte de hardware e descrição da simulação é muito interessante, pois os mesmos conseguiram reproduzir nos ambientes estudados uma iluminação realista em resoluções de 1920×1080, com objetos em movimento e FPS comum a maioria dos jogos.

O uso desse tipo de tecnologia mostra uma tendência que sempre comento aqui no blog, que é o uso das GPUs para exibir e facilitar o trabalho de manipulação e visualização de objetos em softwares 3D. Hoje em dia já é possível aproveitar muitos desses recursos no Blender 3D com os shaders GLSL e no 3ds Max 2010, com as opções de aceleração de hardware. Mas, para poder aproveitar todos esses recursos é necessário investir em placas de vídeo com boa capacidade de processamento, e grande quantidade de memória.

Se você quiser aproveitar todos os recursos existentes hoje, assim como os que estão para ser disponibilizados como fruto dessas pesquisas e trabalhos científicos, é interessante investir em placas de vídeo poderosas.

Vídeo de demonstração da interface preliminar do Blender 3D 2.50

No último final de semana, publiquei um artigo aqui no blog com um link para uma versão preliminar do que pode vir a ser o Blender 2.50, com algumas pequenas partes da interface já funcionais. Se você fez o download dessa versão de testes, deve ter ficado um pouco decepcionado, com o pouco que é visível até agora da interface. Mas, mesmo assim é muito bom ter uma noção de como ficará a tão aguardada nova interface, que promete deixar o software mais intuitivo. Para as pessoas que abriram o Blender 3D e ficaram perdidas, sem saber como fazer para testar a nova interface, um vídeo bem interessante com uma explicação de cada uma das novas áreas foi publicado por um dos desenvolvedores envolvidos no processo de atualização.

O vídeo que tem aproximadamente 12 MB pode ser copiado desse endereço, e o autor se chama Michael Fox.

No vídeo, o autor passa por cada uma das novas partes da interface mostrando até agora o que está pronto no Blender 2.50. Como você já deve ter percebido não é muita coisa, mas as mudanças já são bem vindas. Ele passa pelo novo menu de navegação, que dará acesso a todas as partes do Blender 3D até mesmo Scripts em Python podem ser controlados ou acionadas daquele menu.

Novos controles para determinar e atribuir valores em parâmetros relacionados com modelagem 3d ou animação, podem ser controlados de maneira ligeiramente diferente ao que existe hoje.

Uma parte da interface do Blender, que vai continuar presente de maneira reformulada é o Header. As janelas ainda devem possuir Headers, mas com uma maneira de trabalho e opções disponíveis um pouco diferentes.

A expectativa agora é para o momento em que a 3D View estará funcional, para conferir as mudanças na interação com objetos 3d. Como essa será uma reformulação geral do Blender, acredito que ainda demore um pouco para que o desenvolvimento dessa nova versão atinja esse estágio.

O vídeo funciona como um ótimo guia para quem quiser testar e acompanhar um pouco a navegação com a nova interface. Faça o download das versões preliminares no graphicall.org e comece imediatamente a fazer os testes com a nova interface.

Como criar jogos e animações interativas usando o Blender 3D e Ogre 3D

Essa semana o Blender 3D acabou de ganhar uma pequena atualização para a versão 2.48, que agora se chama 2.48a, com pequenas correções de bugs. Caso você não tenha atualizado a sua versão do Blender, corra para atualizar!

Agora vamos falar um pouco sobre o desenvolvimento de jogos com o Blender 3D. Já faz um bom tempo que publiquei um tutorial mostrando como integrar o Blender 3D com o Crystal Space, para a criação de jogos e animações interativas. Apesar de o tutorial ser básico, ele mostrava os passos necessários para começar a usar as ferramentas em conjunto, mas com o desenrolar do projeto Apricot, o Crystal Space 3d deixou de ser o foco principal da interação, por vários motivos, o que felizmente resultou no desenvolvimento da própria Game Engine do Blender!

Mas, e se a sua empresa ou universidade já usa outra Engine e quiser usar o Blender 3d, apenas como plataforma de modelagem? Sempre recebo pedidos por e-mail, para falar um pouco mais sobre o Ogre 3D, que é famosa entre desenvolvedores por ser de código aberto.

Essa semana descobri um ótimo tutorial que mostra um exemplo da integração entre o Blender 3D e o Ogre, com a criação de um pequeno jogo interativo. O tutorial está em vídeo, que apesar de não apresentar nenhum tipo de narração em áudio, permite que o processo seja acompanhado em velocidade normal, sem nenhum tipo de aceleração. O tempo total é de 20 minutos.

Antes de partir para o vídeo, devo confessar que algumas coisas não são explicadas com clareza, portanto ele funciona mais como uma demonstração mesmo, como naquelas palestras em que o apresentador mostra de maneira rápida um determinado assunto, mas não explica em detalhes o procedimento. A baixa qualidade do vídeo não ajuda na identificação dos textos na interface.

Mesmo com todos esses problemas, a curiosidade em conhecer um pouco mais sobre a integração do Blender 3D com outras ferramentas, me fez investigar o vídeo.


Blender – NGF Pipeline Demo from nikki on Vimeo.

A primeira coisa que não fica clara no tutorial é a edição dos comportamentos no painel de lógica. No vídeo, podemos identificar algumas fases bem definidas na criação do jogo:

  1. Criação do cenário: Essa fase é totalmente dedicada à construção dos cenários do jogo, usando comandos básicos do Blender, como o extrude e as ferramentas de transformação. Depois que todos os elementos do cenário, como piso, paredes, portas e plataformas móveis estão posicionadas o autor do tutorial adiciona texturas, com o uso de mapeamento UV.
  2. Configuração dos comportamentos: Pelo que pude perceber no tutorial, o autor usa apenas propriedades dos objetos, adicionadas no painel de lógica do Blender. Todas as propriedades são do tipo String.
  3. Exportar a cena para o Ogre 3D: Depois que tudo está devidamente pronto e configurado, o autor usa o script de integração, que usa os dados do Blender para determinar os comportamentos dos objetos.

Se você quiser usar o script usado pelo autor do tutorial, para tentar realizar a integração, ele pode ser copiado aqui.

O vídeo é um ótimo exemplo do que é possível fazer em apenas 20 minutos, com o Blender 3D e o Ogre, mesmo não sendo um tutorial, não deixa de ser interessante conhecer o procedimento.

Achei que em certo momento do vídeo, a esfera não conseguiria chegar no final!