Análise do novo sistema de Raytracing do Blender 3D 2.50

Entre os diversos projetos que estão sendo desenvolvidos para o Blender 2.50 no Google Summer of Code 2009, um deles tem como objetivo melhorar o sistema de Raytracing do Blender, para tornar o processo de renderização mais rápido e eficiente. Esse é um dos projetos que tem grandes chances de ser concretizado, pois o responsável por ele é o mesmo que desenvolveu o modificador ShrinkWrap, também para o SoC em 2008. O simples fato de existir um projeto aprovado não é garantia de conclusão, como é o caso da integração entre o Blender 3D e o Freestyle para gerar imagens usando NPR. O projeto ainda está em desenvolvimento, mas em ritmo bem mais lento que no período em que o SoC 2008 estava acontecendo.

A evolução no sistema de melhorias do Raytracing está tão adiantada que já é possível inclusive fazer testes com versões experimentais do Blender 3D. Como não faz sentido algum desenvolver o projeto usando o núcleo do Blender 2.49, o material está usando o que existe do 2.50. Para mostrar a evolução e rapidez do novo sistema, fiz o download da versão experimental do Blender 3D e gravei uma pequena demonstração:

Blender 3D – Melhorias no Raytracing para o 2.50 from Allan Brito on Vimeo.

Para testar o render, a cena usada foi extremamente simples e tinha como objetivo apenas fazer a comparação entre o tempo de render no Blender 2.49 e no 2.50. Como o objetivo é avaliar a velocidade do render, acionei o Ambient Occlusion no Blender e acionei a renderização. No Blender 2.49 o tempo total de render foi de 25 segundos aproximadamente.

Quando mudei para o Blender 2.50, foi necessário abrir a cena que havia sido criada no Blender 2.49. Como você vai perceber, se decidir usar essa versão de testes do 2.50, ainda não é possível modelar no Blender 2.50 mas, essa limitação pode ser vencida abrindo os modelos 3d criados em outras versões do Blender. Só devo alertar que é muito perigoso abrir modelos 3d importantes nessa versão, pois existe um risco muito grande de alterar os dados do arquivo, fazendo com que o modelo fique incompatível com versões estáveis do software. Portanto, só use modelos que tenham cópias de segurança.

Já no Blender 2.50 foram usadas as mesmas configurações e ajustes de render, e para a surpresa do teste foi que a mesma cena foi gerada em menos de 10 segundos. Se considerarmos que essa é uma versão de testes, sem nenhum tipo de otimização ou ajuste para o render e com o software ainda inacabado, podemos concluir que as melhorias no Raytracing estão no caminho certo!

A versão do Blender 2.50 que usei para o tutorial pode ser copiada nesse endereço, apenas com opção para Windows.

Mais um tutorial de Blender 3D e LuxRender: Renderização interna

Como a maioria dos usuários ainda não está ainda ambientada com o uso de configuração do LuxRender, para que esse funcione como opção de renderizador externo ao Blender. Resolvi fazer mais um vídeo sobre o assunto, mas agora em formato um pouco diferente. Nesse caso, o vídeo foi acelerado para ficar em formato timelapse, e mostra a modelagem de um pequeno ambiente interno com o posicionamento de uma fonte de luz e os ajustes do LuxRender para que a iluminação simule um dia de sol.

No vídeo, podemos acompanhar o uso de um dos melhores recursos do LuxRender para usuários que não precisam ou querem passar vários minutos configurando o renderizador, para apenas simular a luz do sol. Nesse caso, estou falando dos famosos presets, que são configurações prontas e disponíveis na parte superior do LuxBlend.

Getting started with Blender 3D and LuxRender from Allan Brito on Vimeo.

A parte de modelagem desse exemplo não apresenta nada de especial, sendo o objetivo principal do exemplo, apenas mostrar e simular um ambiente interno para que a luz do sol entre apenas pela abertura da janela. O lado do ambiente que ficou completamente aberto foi deixado assim para que não fosse necessário adicionar mais um tipo de material especial do tipo portal.

Esse tipo de material funciona como se fosse uma abertura invisível apenas para os raios de luz, permitindo que os mesmos saiam do ambiente e entrem no espaço, quando há fontes externas de iluminação. Um ponto interessante do tutorial, que muitas pessoas ainda se queixam em relação ao LuxRender é a configuração de texturas UV. Repare na configuração do material no LuxBlend, em que é indicado na área de ajustes do shader Diffuse o uso de um mapa do tipo Image, com o respectivo arquivo de imagem sendo também adicionando nessa configuração.

Depois que tudo está configurado, basta ajustar o tamanho do render e acionado o LuxRender para que a imagem comece a ser gerada. No final do vídeo, pode até parecer que o render está absurdamente rápido, mas nesse caso a velocidade do render se deve a magia da edição do vídeo, em que fiz vários cortes para mostrar apenas o progresso do render. Se você quiser seguir a mesma configuração, recomendo alterar as configurações do Gain e Turbulence da luz do tipo Sun, para conseguir efeitos diferentes.

Nova tecnologia para acelerar o render usando Raytracing

O sonho de todos os artistas 3d é poder elaborar os seus modelos 3d, cenários e animações para que depois de pouquíssimo tempo as suas imagens estejam renderizadas. Todos que começam a trabalhar nessa área acabam estranhando um pouco a demora com que algumas cenas são renderizadas em softwares 3d, principalmente quando o contato é feito com os renderizadores chamados de Unbiased, que demoram ainda mais. Hoje já existem diversas tecnologias e recursos para acelerar o processo de renderização das imagens, com vontade e recursos financeiros suficientes é possível montar uma pequena render farm para distribuir a renderização em vários processadores.

Mas, como esse tipo de recursos financeiro é difícil de conseguir para a maioria das pessoas, o melhor mesmo é otimizar a cena e o uso do hardware para conseguir bons resultados.

Uma nova tecnologia foi anunciada na semana passada por uma empresa chamada Caustics Graphics, que promete acelerar em muito o uso dos recursos e render usando Raytracing. Como eles pretendem fazer isso? A solução proposta é a adoção de placas de vídeo com tecnologia e recursos otimizados para gerar imagens.

Na maioria das placas de vídeo hoje a tecnologia é direcionada para a visualização em tempo real, e não para a criação de imagens renderizadas. A proposta é usar a placa de vídeo associada a um software que formam o Caustic RT.

Quer ver a placa de vídeo? Esse é um vídeo de demonstração em que uma pessoa manuseia a placa:

Apesar de ser rápido o vídeo permite ter uma idéia de como é a placa.

O que eles já fizeram até agora? Bem, pouca coisa foi exibida ainda sobre a empresa em termos de produção, mas a incorporação de uma empresa famosa na área de renderização, chamou a atenção da comunidade de artistas na semana passada, junto com o anuncio dessa tecnologia.

A Splutterfish que desenvolve o Brazil R/S foi oficialmente incorporada a Caustics Graphics. O Brazil é um renderizador poderoso do 3ds Max e Rhino 3D, com excelentes capacidades de gerar imagens com qualidade fotográfica.

Já é possível testar o sistema da Caustics Graphics? Ainda não, pois o produto final deles será lançado apenas em Abril. Mas, com o material e dados exibidos no web site deles é possível ficar curioso sobre a tecnologia. Espero que consigam cumprir o prometido e acelerar significativamente o tempo de render.