Render interno do Blender 3D com Iluminação Global?

Essa semana foi anunciado mais um projeto que pode mudar significativamente, partes importantes do Blender 3D. O mesmo desenvolvedor responsável pela simulação de volumetria no render do Blender, chamado Farsthary, está engajado na melhoria do renderizador interno do Blender 3D com a incorporação de recursos para gerar iluminação global, que hoje só pode ser realizada com renderizadores externos, como o YafaRay.

O projeto ainda está na sua fase inicial, mas renders já podem ser conferidas nesse link, em que várias imagens e vídeos de teste estão disponíveis. A mensagem que divulgou o projeto, assim como alguns comentários de outros artistas que usam Blender, pode ser conferida nesse endereço do fórum Blenderartists.org.

Para facilitar a percepção de como isso pode ajudar o render interno do Blender, montei um mosaico com algumas das imagens:

blender3d-global-illumination

Um dos recursos que deve ser adicionado ao Blender com esse novo projeto é a possibilidade de simular Caustics. Temos que admitir que é louvável o trabalho de melhorar esse tipo de recurso no Blender 3D, mesmo sendo um trabalho árduo, implementar um sistema de iluminação global no render do Blender, deve exigir uma completa reformulação do software.

Mesmo sendo trabalho voluntário, ainda me pergunto se recursos como o desenvolvimento do já lendário Render API, que permitiria uma melhor integração com outros softwares externos, como o YafaRay, Indigo e quem sabe até com renderizadores comerciais (V-Ray, Mental Ray e outros). Isso hoje ocorre com Scripts em Python que exportam o arquivo temporariamente para um formato compatível com o renderizador.

O meu objetivo não é criticar o desenvolvimento de mais uma ferramenta, apenas refletir sobre a real necessidade dela. As pessoas que ajudam no desenvolvimento do Blender o fazem pelos mais diversos motivos podem ser uma pesquisa acadêmica ou o simples fato de ajudar mesmo.

O problema nesse caso é a perda de foco do Blender, em tarefas que já podem ser realizadas, e muito bem, por softwares livres já existentes e com boa base de desenvolvimento. O YafaRay é um ótimo exemplo disso. Quem sabe mais ferramentas de modelagem, opções de configuração com nós ou animação avançada.

Esse é um ponto delicado no desenvolvimento do Blender, e outros softwares de código aberto. Quando um dos meus alunos me pergunta; por que o pessoal da Fundação não trabalha para criar ferramentas que igualem o Blender ao 3ds Max ou Maya?

A minha resposta é simples; eles não têm obrigação de fazer nada, inclusive o código fonte do software é aberto. Se você quiser criar ou melhorar uma ferramenta, basta fazer o download do código e modificar você mesmo.

Por isso, podemos refletir e até mesmo desejar melhorias no Blender, mas seria demais cobrar resultados ou ferramentas das pessoas que trabalham no código de maneira voluntária.

Só para concluir, acho que é uma coisa boa a iluminação global, mas ainda assim devo continuar usando o YafaRay, pela compatibilidade de projetos passados e atuais. Para chegar no mesmo nível do YafaRay, deve demorar um pouco para que esse projeto seja concluído.

Cinema 4D R11: Com várias novidades e melhorias na renderização

A Maxon está preparando para esse mês uma grande atualização da sua suíte de animação 3d e modelagem, o Cinema 4D. O Cinema 4d não é a ferramenta mais usada para produção de conteúdo aqui no Brasil, mas na Europa ele é muito forte, talvez pela Maxon ser uma empresa alemã. A nova versão do cinema 4D apresenta algumas novas ferramentas interessantes, e a promessa de oferecer aos usuários de sistemas Apple a possibilidade de usar todo o poder de processamento do Leopard, em 64 Bits, na renderização e operações que demandem grande quantidade de memória.

O anúncio da atualização foi feita na Siggraph 2008, em que a Maxon divulgou um vídeo muito interessante, demonstrando as novidades e atualizações da ferramenta. Esse vídeo foi “acidentalmente” disponibilizado antes da data de lançamento por algum funcionário da Maxon no Youtube. Digo isso, pois na data em que o vídeo foi lançado pela primeira vez, eu consegui assistir ao mesmo, sendo que dois dias depois o material foi misteriosamente removido do Youtube, para ser republicado apenas na semana passada.

O vídeo é bem instrutivo e mostra várias das melhorias do software:

A primeira coisa que chama a atenção no vídeo é o desempenho do render, que segundo o próprio narrador fala, praticamente é cortado pela metade nessa nova versão. Em uma comparação direta, uma mesma cena renderizada no Cinema 4D 10 e no Cinema 4D 11, podem variar de 3 minutos para 1 minuto respectivamente. Se isso for verdade mesmo, é um ganho de desempenho fenomenal em termos de performance.

Ainda na parte de renderização, o vídeo demonstra alguns exemplos criados com a nova engine de iluminação global e renderização avançada da versão 11. Mas, não foi apenas a renderização que sofreu melhorias, os interessados em animação de personagens com o Cinema 4D, ganharam muitas ferramentas para otimizar o processo de ajuste.

Por exemplo, uma ferramenta muito parecida com as camadas de animação do Maya 2009 foi adicionada, além da opção chamada Ghost, que permite ao animador visualizar múltiplos frames da animação. Quem usa o Flash para animação 2d deve conhecer bem esse recurso, que lá se chama Onion Skin. O Blender já conta com essa ferramenta Ghost já faz umas duas versões.

E para finalizar, o Cinema 4D agora tem uma opção parecida com o Grease Pencil do Blender, que permite ao artista desenhar e fazer anotações na interface.

Quer conhecer um pouco mais os trabalhos desenvolvidos com o Cinema 4D? Esse é o Demo Reel da Maxon para o Cinema 4D, apresentado na Siggraph 2008:

Para quem usa essa ferramenta, a atualização parece valer a pena, principalmente na parte de renderização, que ganhou melhorias significativas. Assim que uma versão de testes estiver disponível (Trial), tento fazer alguns testes e publicar os resultados aqui no Blog.

Se você quiser saber mais sobre essa nova versão, recomendo uma visita ao web site da Maxon.

Curso gratuito sobre técnicas de renderização avançada na Siggraph

A Siggraph apresenta várias coisas legais, como vídeos de demonstração e tutoriais sobre novas ferramentas ainda em desenvolvimento. Mas, para quem está realmente interessado em aprender um pouco mais, a grande oportunidade são os cursos oferecidos em técnicas de animação e renderização avançadas. Depois que a feira vai acabando, todo o material desses cursos fica disponível na internet para consulta gratuita, portanto nós que não tivemos a oportunidade de visitar a feira ou os cursos, podemos consultar e estudar o material que os artistas da ILM, Dreamworks e outros grandes estúdios têm acesso.

Um desses cursos é sobre técnicas de iluminação global com Irradiance Cache.

Qual o motivo de aprender isso? Quando você acessar o material do curso, que está disponível em vários arquivos PDF nesse link perceberá que tudo é relacionado à mecânica interna de funcionamento dos softwares de renderização. Sim, o curso fala sobre os algoritmos usados para fazer iluminação global.

A justificativa para aprender como esse tipo de coisa funciona é simples, se você vai trabalhar com isso é importante conhecer o funcionamento interno dos softwares, ao menos os conceitos. Sei que existe um abismo enorme entre o perfil de um desenvolvedor de software e um artista, que está mais interessado no resultado final das imagens.

Até já fiz uma pequena experiência nas minhas aulas, em que falava sobre técnicas de renderização. Antes de entrar direto no software abordado, comecei a falar sobre os tipos de algoritmo e técnicas usadas para gerar essas imagens, como o Irradiance Caching, Photon Mapping e Path Tracing. O resultado foi terrível! Tanto que nunca mais fiz isso, passo direto para a parte da interface dos softwares.

Depois que você estuda mais esse tipo de ferramenta, percebe que essas técnicas existem desde 1988, sendo apresentadas na própria Siggraph. A maioria, ou pelos menos, grande parte das ferramentas de renderização hoje usam alguma derivação do Irradiance Caching para gerar iluminação global. O próprio YafRay, a versão antiga e não o YafaRay, usa o Irradiance Caching para gerar esse tipo de efeito.

Pode parecer muita matemática, mas é importante para quem trabalha na área, ao menos um dia tomar ciência dessas técnicas. Isso complementa de maneira perfeita o conhecimento com Script, para quem sabe um dia você possa desenvolver suas próprias ferramentas e Scripts para necessidades especiais em projetos. Essa é a beleza dos softwares de código aberto como o Blender, YafRay e LuxRender.

Assim que você estuda esses algoritmos, uma consulta ao código fonte dessas ferramentas permite encontrar um exemplo que funcione na prática!