Diferenças entre Renderização em Tempo Real e de Animação

Você já se pegou jogando algum videogame e se perguntou “Como é possível gerar essas imagens tão rapidamente”? Afinal, como alguns sabem, para um jogo várias imagens demoram frações de segundos para serem geradas, já para o cinema e animações, cada imagem demora minutos, senão horas para ficarem prontas.

Imagem de jogo: Allison Road. - http://www.allisonroadgame.com/assets/img/10.jpg
Imagem de jogo: Allison Road. – http://www.allisonroadgame.com/assets/img/10.jpg

Afinal, o que diferencia um do outro?

Pois bem, há alguns fatores por trás disso tudo. Para entender melhor, devemos conhecer as principais diferenças entre os sistemas que processam essas imagens. Hoje em dia, quase todos os softwares de renderização utilizam o processador, comumente chamado de CPU (Central Processing Unit, ou unidade central de processamento), para poder gerar o resultado final das animações. O processador fica encarregado de calcular basicamente qualquer coisa no computador, desde uma simples conta matemática, até, isso mesmo: gerar imagens de programas 3D.

CPU da Intel modelo: Core 2 Quad Q9300 - http://gazettereview.com/wp-content/uploads/2016/01/cpu.png
CPU da Intel modelo: Core 2 Quad Q9300 – http://gazettereview.com/wp-content/uploads/2016/01/cpu.png

Por outro lado, temos a placa de vídeo, também conhecida como GPU (Graphics Processing Unit, ou unidade de processamento gráfico) que fica encarregada apenas dos cálculos gráficos. Este último é ideal e até mais rápido para videogames ou a área de trabalho em programas de modelagem 3D por exemplo, mas não é capaz de fazer outros processamentos complexos do computador. Em poucas palavras, a CPU é capaz de fazer mais coisas, mas é mais demorada e a GPU é mais rápida, mas fica encarregada apenas dos cálculos para gráficos.

GPU Nvidia modelo: GeForce GTX 590 montado pela Asus - https://www.stanford.edu/group/pandegroup/folding/pics/GeForceGTX590.jpg
GPU Nvidia modelo: GeForce GTX 590 montado pela Asus – https://www.stanford.edu/group/pandegroup/folding/pics/GeForceGTX590.jpg

OK, agora que entendemos um pouco das diferenças entre os dois, o que elas impactam na renderização? Por que a CPU é usada na renderização de animação e não a GPU?

A questão é que, como as renderizações por programas 3D têm como objetivo um maior realismo, elas precisam se preocupar com vários cálculos físicos, de iluminação, as vezes até mesmo milhões de partículas para simular água, poeira ou fogo, que são cálculos complexos e necessitam da CPU, o que deixa o processo muito mais demorado, mas mais próximo à realidade.

Já os jogos tendem a mascarar estes detalhes. Eles não se preocupam tanto com o realismo, mas sim com a velocidade, pois os jogadores precisam de uma resposta imediata. Então eles usam artifícios para fazer um cálculo mais rápido e menos preciso. Tanto que em muitos jogos não temos uma iluminação, sombras, texturas e partículas na mesma qualidade que conseguimos obter em uma renderização por software. E, devido a isto, seus cálculos são mais rápidos e simples de se fazer.

Dentre estes artifícios que os jogos usam, há o que desconsidera os cálculos gráficos dos objetos fora da visão do jogador na maioria das situações, com exceção de reflexos ou sombras. Já os renderizadores se preocupam com esses objetos mesmo fora da visão, pois eles podem influenciar nos mínimos detalhes da composição.

Outro fator que está presente em muitos jogos é que objetos pequenos tendem a ter uma qualidade menor de textura, pois seu tamanho reduzido faz com que sua qualidade não seja notável. Já na maioria das composições 3D, as qualidades de textura são altas em todos os objetos.

Renderização de software 3D - http://i.kinja-img.com/gawker-media/image/upload/s--d4xJ63Id--/c_scale,fl_progressive,q_80,w_800/18u8n8r6kf5g6jpg.jpg
Renderização de software 3D – http://i.kinja-img.com/gawker-media/image/upload/s–d4xJ63Id–/c_scale,fl_progressive,q_80,w_800/18u8n8r6kf5g6jpg.jpg

Parte destes artifícios usados em jogos se dá pela diferença entre os motores gráficos e suas formas de renderização. Os games utilizam o Real-Time Rendering, ou seja, a renderização em tempo real, a qual se preocupa com o tempo de entrega da imagem mais do que a qualidade. E os softwares de renderização 3D costumam usar o Ray tracing, que preza pela qualidade da imagem.

Há algumas aplicações do Ray tracing em tempo real para programas de renderização, mas ainda é um processo demorado para se obter uma qualidade alta.

Ou seja, a renderização em tempo real para games se preocupa com velocidade e faz o possível para entregar a qualidade desejada no menor tempo possível. Já a renderização de Ray tracing e outras encontradas em softwares de renderização, prezam pela qualidade e não pela velocidade de entrega.

Agora que entendemos um pouco mais sobre como os games e softwares de renderização tratam as imagens, não deixe de conferir os cursos destas áreas:

http://www.render.com.br/cursos/jogos

http://www.render.com.br/cursos/animacao-3d

Confira o pacote de cursos da Render para você aprender passo a passo como criar Jogos 3D completos.

apRendermais Desenvolvimento de Jogos
Pacote de Curso apRender+ Desenvolvimento de Games

 

Compartilhe e curta!