Render por GPU no Blender para arquitetura com Cycles

A utilização de renderizadores externos era até pouco tempo a melhor solução para criar imagens usando técnicas de visualização avançada no Blender. O futuro renderizador do Blender que é chamado hoje pelo codinome de Cycles, promete adicionar muitos recursos antes exclusivos aos softwares esternos como Octane Render, LuxRender, YafaRay e muitos outros. Claro que o maior destaque é o uso de aceleração por GPU dentro do Blender, possibilitando a qualquer usuário trabalhar com render em tempo real direto na 3D View do Blender.

Esse tipo de vantagem que já existia em outras ferramentas 3d agora deve modificar a maneira com que trabalhamos no Blender. Por exemplo, uma coisa que estou me acostumando a fazer no Blender quando resolvo utilizar o Cycles, é modelar em 3d e renderizar ao mesmo tempo, para ter uma idéia da volumetria dos objetos. Como funciona? Basta fazer uma divisão na tela do Blender e deixar uma dessas janelas no modo de renderização. O resultado pode ser conferido no vídeo abaixo:

O interessante desse tipo de trabalho é que podemos fazer correções ao longo da modelagem, usando como base a volumetria apresentada no Cycles. Caso você queira trabalhar dessa forma, recomendo escolher uma boa placa de vídeo e ficar alternando entre o modo objeto e de edição, para que as modificações na geometria sejam refletidas na janela do Cycles. O que é feito no modo de edição não passa de maneira automática.

Outro ponto que gera dúvidas sobre o Cycles é na sua iluminação. Se você assistiu o vídeo até o seu final, deve ter percebido que para gerar sombras e melhorar a iluminação precisamos utilizar luzes do tipo Mesh.

O efeito desse tipo de iluminação fica ainda mais evidente quando utilizamos uma cena interna. Nesse outro vídeo que produzi utilizando o Cycles também, as luzes foram alinhadas de maneira a adicionar energia luminosa dentro do ambiente. O segredo para conseguir boa iluminação com o Cycles, por enquanto, é com esse tipo de luz.

É importante lembrar que o Cycles ainda está em desenvolvimento e que muita coisa deve mudar até que o mesmo seja incorporado ao Blender de maneira oficial. Mas, até lá você pode ir testando seus projetos e cenas, para entender e aprender o seu funcionamento. Eu já estou gostando bastante do resultado!

Blender Cycles já tem versões para download

O Blender está para receber uma grande atualização no seu renderizador interno, que poderá inclusive suportar algoritmos avançados de render, e uso de aceleração por hardware. Sim, essa atualização deve adicionar suporte ao uso de GPU para gerar imagens com base em tecnologias semelhantes aos que softwares como o Octane Render, iray e outros utilizam. Essa notícia já foi comentada aqui no blog semana passada, mas nos últimos dias uma excelente novidade sobre o tema surgiu. No graphicall.org já é possível fazer o download de versões experimentais do Blender usando o código do novo sistema chamado de Cycles.

Até o presente momento já existem versões do Cycles para Linux e Windows, mas apenas a versão para Linux estão funcionando com o suporte ao uso de GPU. Para ilustrar ainda mais como esse tipo de sistema pode ajudar a criar imagens realistas de maneira rápida, o vídeo abaixo é uma demonstração do Cycles usando um modelo de carro.

O vídeo que está no formato conhecido como time-lapse, em que as ações são aceleradas para mostrar de maneira mais rápida o processo, é um exemplo de como ficará rápido o novo sistema de renderização do Blender. Caso você tenha interesse em usar o novo sistema e tenha um computador com Linux, basta executar o software e escolher a opção Cycles na parte superior da interface e começar a fazer seus testes de render.

Por enquanto, o sistema ainda está em fase bem experimental e pode demorar um pouco até aparecer de maneira oficial no Blender, mas quando aparecer deve chamar ainda mais atenção para o Blender como ferramenta para produção de projetos com alta qualidade gráfica.

O complemento para esse novo sistema de renderização é a reformulação da API de render, para facilitar ainda mais a integração do Blender com softwares externos e permitir que usuários do LuxRender, YafaRay, Octane Render e outros possam oferecer melhores opções para gerar imagens com o Blender. Mas, essa reformulação da API ainda deve demorar um pouco para acontecer.

Uma das metas para o Cycles é o lançamento de versões mais estáveis junto com o Blender 2.58, que deve acontecer nos próximos dois meses.

Detalhes sobre render com GPU no SmallLuxGPU e Blender

A renderização de cenas 3d e vídeo são alguns dos processos que mais consomem recursos do computador na área de computação gráfica. Existem várias maneiras de otimizar esse tipo de tarefa, mas sempre é importante contar com hardware de boa qualidade para conseguir bons resultados e principalmente tempos mais curtos de render. Uma das soluções mais usadas hoje é o uso de GPU`s para acelerar esse processo, devido a enorme quantidade de núcleos disponíveis, fica muito mais rápido renderizar quando tempos 100 ou 200 núcleos gerando uma imagem. No Blender é possível já usar o SmallLuxGPU que ainda está em estágio beta, mas já operacional, para conseguir renderizar aproveitando a GPU do seu computador.

Assim que fazemos o download do script que integra o SmallLuxGPU ao Blender 2.53 teremos que configurar os parâmetros do script para integrar da melhor maneira o nosso projeto ao renderizador. Para aqueles que quiserem uma ajuda nessa configuração, existe uma página com a descrição dos campos de configuração do SmallLuxGPU. Nessa página será possível acompanhar o que faz exatamente cada um dos campos do script.

Ainda não conhece o SmallLuxGPU? Ele é uma adaptação do poderoso render LuxRender, baseado em física real, para o modelo que usa GPU. Isso acaba gerando renderizações em tempo real, como a mostrada no vídeo abaixo:

SmallLuxGPU 1.6 Blender 2.5 Exporter from David Bucciarelli on Vimeo.

Esse tipo de material pode ajudar ainda mais a divulgar o SmallLuxGPU como opção viável para gerar renders de qualidade em pouco tempo. Até agora essa é a única solução de código aberto e gratuita que não oferece nenhum tipo de restrição ao usuário final.

O ponto negativo de usar a GPU é que você necessariamente precisa de uma placa de vídeo com boa capacidade e núcleos. Isso pode acabar encarecendo um pouco a estação de trabalho, mas em relação ao benefício gerado e ganho de tempo com renderizações complexas é um investimento que vale encarar. A tendência é que em pouco tempo a maioria dos renderizadores acabe usando apenas GPU ou mesmo compartilhe núcleos da placa, usando alguma tecnologia que permita migrar os processos da CPU. Se você ainda não tem uma boa placa, recomendo começar a procurar por uma.