Novas tecnologias para gráficos em jogos 3d

A área de desenvolvimento de jogos 3d é uma das que mais consome material oriundo de softwares como 3ds max, Maya e Blender. O mercado consumidor de jogos é inclusive muito maior que o de cinema, em que muitas pessoas acabam mirando como objetivo profissional, quando a área de criação para jogos oferece muito mais oportunidade. Já existe até um movimento sério de estúdios de cinema, que contratam profissionais de jogos para gerar storyboards interativos, usando recursos de iluminação avançado para planejar melhor filmes e economizar dinheiro.

No final de fevereiro e começo de março foi realizada a edição 2011 da GDC (Game Developers Conferece), em que são apresentadas novidades e tendências na parte de tecnologia voltada para jogos. O espaço é usado por empresas para mostrar softwares que poderemos usar para gerar jogos, sendo que um dos destaques foi a apresentação da CryEngine 3. Para quem não conhece a CryEngine é uma das mais avançadas engines para jogos em termos gráficos, permitindo usar efeitos óticos avançados de iluminação e interação de elementos com o cenário. A versão 3 da engine mostra vários elementos que até pouco tempo atrás seriam inimagináveis para jogos que usam aceleração de hardware.

O vídeo abaixo é uma demonstração do que a CryEngine 3 pode fazer:

A qualidade das animações e elementos mostrados no vídeo é de impressionar, principalmente devido ao fato que tudo é baseado em render em tempo real, sem o uso de keyframes para realizar os movimentos. Isso significa dizer que poderíamos interagir com todos os elementos existentes no cenário.

A qualidade não muda muito quando mudamos para outra engine muito usada em projetos que demandam de gráficos avançados, como é o caso da Unreal Engine 3, que também ganhou um vídeo de demonstração na GDC 2011.

A única limitação para esse tipo de tecnologia para projetos de jogos envolve os requisitos de hardware necessários, principalmente para conseguir reproduzir gráficos com esse nível de qualidade. É complicado encontrar pessoas dispostas a investir pesado em placas gráficas para reproduzir jogos nessa qualidade. Os preços cobrados por essas placas aqui são proibitivos, devido a soma da nossa carga tributária e o rótulo de produto de luxo que essas placas adquirem. Em outros países é muito mais barato adquirir placas com poder de processamento suficiente para gerar esse tipo de gráfico.

Mas, quando mudamos o foco para aplicações profissionais a coisa muda de figura, e o retorno financeiro que podemos ter com o investimento em hardware e software assim pode ajudar bastante um pequeno projeto.

Nova tecnologia de renderização em tempo real da NVidia

A Siggraph é sem sombra de dúvidas o evento mais importante em termos de desenvolvimento e lançamentos para o mercado de computação gráfica, mas junto com a Siggraph que acontece no segundo semestre, temos a GDC. Essa é a sigla da Game Developer Conference, que também acaba se destacando no mercado de computação gráfica, pois o mercado de jogos é grande consumidor de recursos gráficos. A conferência desse ano começou ontem e vai até o dia 27, na cidade americana de São Francisco. Dentre todas as tecnologias e novidades apresentadas na conferência pelas empresas que desenvolvem hardware, um novo recurso para apresentar gráficos em tempo real da NVidia chamou a atenção.

Como você já deve ter percebido pelas recentes atualizações nos softwares 3d, o uso da GPU para simular aspectos avançados da visualização em 3d e 2d está cada vez mais presente, em softwares como o Photoshop e 3ds Max. O próprio Blender 3d recebeu grandes melhorias nessa parte com a incorporação de shaders do tipo GLSL. Mas, mesmo com todas as melhorias ainda temos alguns tipos de gráficos e objetos animados que não são totalmente suportados pelas GPUs. A tecnologia demonstrada pela NVidia na GDC se chama CUDA, que promete resolver e ajudar problemas computacionais na representação de alguns objetos.

A promessa deles é bem simples, apresentar soluções de renderização baseada em GPUs em frações do tempo necessário para exibir o mesmo objeto usando a CPU. Quer um exemplo? Veja esse vídeo:

O vídeo mostra o CUDA resolvendo a animação de partículas para simular fumaça em tempo real. Esse tipo de recurso mostra o quanto é possível atingir níveis de qualidade semelhantes ao da renderização tradicional, que gera arquivos de vídeo em sistemas de render em tempo real.

Essa não foi a primeira vez que a NVidia publicou material em vídeo demonstrando a tecnologia CUDA, o vídeo abaixo também mostra uma animação usando partículas, mas sem a interação com objetos em movimento.

A tendência desse tipo de tecnologia é que um dia usemos basicamente um processo mais simples de renderização, para gerar imagens realistas quando for necessário. Para a maioria das aplicações que usamos no cotidiano, as renderizações usando apenas a GPU devem suprir as maiores necessidades.