Lançado o LuxRender 0.8 versão final

O LuxRender é uma das melhores opções para trabalhar com renderização avançada no Blender 2.5, pois o seu script já funciona sem grandes problemas no novo Blender e permite que trabalhemos com render usando métodos unbiased, para gerar imagens incrivelmente realistas. A versão 0.8 do LuxRender estava em desenvolvimento já faz um bom tempo e disponível para uso em versões Release Candidate. Bem, o software agora chegou na sua versão final e a lista total de novidades do LuxRender pode ser conferida nesse endereço, junto com os scripts para instalação do LuxBlend nas versões 2.4 e 2.5 do Blender.

Uma das coisas mais interessantes dessa nova versão, é que muitos usuários estão alegando que o tempo demandado para conseguir imagens sem granulação na versão final é significativamente menor do que nos Release Candidates. Portanto, se você ficou decepcionado com o tempo necessário para renderizar imagens sem granulação no LuxRender 0.8 RC, a nova versão pode trazer a agradável surpresa dos tempos de render mais curtos!

Fora o LuxRender em si, ainda podemos aproveitar o SmallLuxGPU como forma de gerar imagens com aceleração por GPU. O uso de GPU para acelerar o render é a tendência mais forte do momento em termos de desempenho para renderização, e quando ao uso desse tipo de recurso em softwares do tipo open source, o SmallLuxGPU é uma das melhores opções nesse sentido.

O material funciona mais como uma prova de conceito, mostrando o render por meio de GPU usando OpenCL, para a alegria dos usuários com placas da ATI. No vídeo é possível acompanhar o SmallLuxGPU sendo usado para posicionar elementos na 3D View e as atualizações, incluindo na lista de atualizações a troca de materiais e ajustes na iluminação do ambiente.

É interessante notar como em pouco tempo teremos duas opções robustas para render por GPU no Blender, sendo ambas totalmente gratuitas. A primeira é o próprio SmallLuxGPU que deve se tornar o LuxRays quando deixar de ser uma prova de conceito, e a outra é o próprio render interno do Blender com o codinome de Cycles. Os dois ainda estão em desenvolvimento, mas já estão deixando qualquer usuário do Blender animado com as possibilidades de renderizações realistas e extremamente rápidas!

LuxRays: Mais exemplos de render com GPU no LuxRender

As tecnologias baseadas em render por GPU estão dominando os projetos e trabalhos envolvendo visualização rápida, e não devem tardar a entrar de maneira pesada em animação para cinema e TV. Já existem diversas ferramentas e opções no mercado para as pessoas interessadas em investir nesse tipo de facilidade. Mas, infelizmente na área dos softwares livres as opções são poucas. Entre os projetos mais promissores esta o LuxRays, nome dado a variante do LuxRender que usa GPU como forma de aceleração do render. Essa versão especial do LuxRender ainda está em fase de testes e pode apresentar pequenos bugs no seu uso em trabalhos mais pesados, mas já é grande o número de exemplos e demos de usuários mostrando a sua velocidade.

Para quem já teve oportunidade de usar o LuxRender, ou qualquer render do tipo Unbiased, sabe que o seu ponto fraco é o tempo de render. Uma imagem complexa pode facilmente demorar algumas horas para ficar livre da granulação. Com a ajuda de uma GPU e em algumas situações mais de 100 núcleos dedicados a renderização, podemos reduzir esse tempo de maneira significativa.

O LuxRays ainda é um projeto em desenvolvimento, mas já podemos ter uma idéia de como ele deve funcionar usando o smallLuxGPU que é um experimento desenvolvido por David Bucciarelli com o SDK do OpenCL. Desde que falei sobre o SmallLuxGPU ele já avançou para a versão 1.5.

Os vídeos abaixo são demos de usuários que testaram e compilaram o SmallLuxGPU em cenas 3d completas e gravaram vídeos com suas experiências. O primeiro mostra diversas cenas e exemplos usados inclusive em demos de outros softwares como o iRay da mental images e o Arion da Random Control:

SmallLuxGPU v1.5 (OpenCL) from David Bucciarelli on Vimeo.

Os outros vídeos mostram exemplos diversos de renderização, inclusive com algumas opções de animação:

Como podemos claramente perceber pelos vídeos a velocidade com que as coisas acontecem é visivelmente superior ao render tradicional, baseado apenas em CPU que temos no LuxRender. Para as pessoas que quiserem mais informações sobre como funciona o SmallLuxGPU, visite o link indicado para conferir mais detalhes técnicos, e fazer o download do código fonte com binários para Mac OS X e Windows.

Renderizador gratuito para o SketchUp: LuxRender!

O SketchUp é uma ferramenta excelente para modelagem 3d e visualização rápida de projetos arquitetônicos, mas se existe uma área em que o mesmo deixa a desejar é na renderização. Hoje em dia existem diversas soluções comerciais para solucionar esse tipo de deficiência que abrangem opções famosas como o V-Ray, amplamente usado em conjunto com o 3ds Max para visualização arquitetônica ou mesmo opções igualmente poderosas como o Maxwell Render, FryRender e Indigo Render. Todos eles são capazes de gerar imagens realistas e solucionar as deficiências do SketchUp na renderização de projetos.

Uma coisa que falta para completar o conjunto de ferramentas do SketchUp para permitir mais flexibilidade e liberdade, para artistas do SketchUp é o suporte de algum renderizador de código aberto. Caso o artista quisesse renderizar o projeto desenvolvido totalmente no SketchUp em ferramentas como o YafaRay ou LuxRender, o mesmo precisava de uma ponte para enviar os arquivos. Nesse caso o Blender poderia ser usado para enviar os arquivos para o renderizador. Isso está para mudar, pois um usuário Italiano do LuxRender está trabalhando no primeiro script que integra o SketchUp com o LuxRender. O script ainda está nas suas fases preliminares de desenvolvimento, mas já é possível usar o mesmo para renderizar cenas simples.

Caso você queira fazer o download do script para SketchUp chamado SU2LUX, visite esse endereço que leva diretamente aos fóruns de usuários do LuxRender.

Até o presente momento nem todos os recursos e ferramentas do LuxRender estão disponíveis no script, mesmo assim o feito é de grande ajuda para os usuários do SketchUp, pois vai permitir usar os recursos avançados de render disponíveis no LuxRender para gerar imagens realistas. O mais notório desses recursos é o seu conjunto de algoritmos avançados de renderização como o Metropolis Light Transport. A qualidade da imagem é muito semelhante em realismo ao que conseguimos com o Maxwell Render, FryRender ou Indigo.

A vantegem é que o LuxRender é de código aberto e totalmente gratuito para uso inclusive comercial das imagens geradas com o software. Se você é usuário do SketchUp e queria uma opção gratuita de render realista, as imagens geradas com o LuxRender devem ser mais que suficientes para satisfazer suas expectativas. É importante fazer o download do LuxRender também, pois ele é necessário para gerar imagens com o script.

Ainda essa semana publico um tutorial sobre como instalar e usar o LuxRender com o SketchUp.

Renderização volumétrica com Blender 3D e LuxRender

A renderização de volumetria ou efeitos atmosféricos sempre é um problema, assim como os efeitos necessários para gerar ambientes aquáticos como comentei em artigo publicado ontem aqui no blog. Esse tipo de efeito pode ser gerado no Blender 3D com uma opção presente nas luzes do tipo Spot que é o Halo. Ao acionar essa opção na luz, podemos “visualizar” os raios de luz com uma espécie de neblina que representa muito bem a volumetria. Quando o projeto envolve o uso de renderizadores externos como o LuxRender ou YafaRay, o procedimento para gerar esse tipo de efeito muda significativamente.

No caso do LuxRender é um pouco complicado de começar a trabalhar com esse tipo de efeito, pois até mesmo na documentação do software existem poucas informações ou procedimentos sobre o funcionamento desse tipo de opção. Um usuário do LuxRender publicou um pequeno estudo nos fóruns do LuxRender com uma cena de teste e os procedimentos necessários para gerar o efeito. O resultado do efeito pode ser conferido na imagem abaixo, que foi incluída na Wiki do LuxRender:

tutorial-render-volumetria-luxrender-blender-3d.jpg

O procedimento para criar esse tipo de efeito no LuxRender envolve alguns pequenos truques. O primeiro é a criação de m sólido geométrico que precisa ser configurado com um material chamado boundvolume, que define a área em que a emissão do volume deve acontecer. O funcionamento é semelhante ao Domain usado nas simulações de fluidos.

No exemplo disponibilizado pelo usuário ele criou um cubo que envolve o volume completo da cena para que o efeito seja gerado apenas dentro do volume. Pelos testes que consegui fazer em outras cenas, percebi que esse mesmo volume gera uma pequena neblina na sua área. A interação com os raios de luz é que marca a trajetória dos pontos de luz na cena.

Além disso, ainda é preciso alterar o Integrer usado para renderizar a cena, pois apenas com as opções Path e Directlight é que a criação de volumes funciona. Essa é uma limitação da versão 0.61 do LuxRender que já está nos planos dos desenvolvedores para correções na atualização para o LuxRender 0.7. Recomendo que você faça o download da cena disponível nos fóruns e estude as configurações. O efeito é muito interessante, mas deixa o render ainda mais lento do que já é no LuxRender, portanto é necessário cuidado ao adotar esse tipo de efeito em projetos importantes.

Comparação entre o YafaRay, Maxwell Render, LuxRender e Indigo Renderer para arquitetura

A escolha de um renderizador externo é presença obrigatória na lista de tarefas que qualquer artista 3d precisa definir antes de começar um projeto. Ainda conheço artistas que escolhem usar técnicas conhecidas como Fakeosity, em que a iluminação global é simulada usando diversos pontos de luz e muita habilidade artística, para criar efeitos realistas sem os modernos algoritmos de GI. Depois de escolher o renderizador próprio para seu projeto, ainda será necessário determinar se o renderizador deve usar métodos do tipo Unbiased ou Biased render. No primeiro caso as imagens usam derivações ou o próprio Metropolis Light Transport, muito famoso pelo seu alto nível de realismo nas imagens.

A melhor maneira de escolher um renderizador é fazendo testes com o mesmo, para verificar se o tempo de render e qualidade dos materiais e efeitos gerados na iluminação se enquadram as suas necessidades. Os usuários do Blender 3D estão ganhando mais opções de renderização com diversos renderizadores disponíveis por scripts, como o V-Ray standalone que pode ser integrado com o Blender de maneira simples e eficiente usando um Script em Python. Estou até pensando em comprar uma licença do V-Ray para poder escrever sobre essa integração e aplicar o V-Ray nos meus projetos e aulas.

Como sei que muitas pessoas tem a mesma dúvida, sobre qual o melhor renderizador para projetos de arquitetura e interiores, encontrei alguns testes feitos por usuários do Blender 3D comparando quatro renderizadores diferentes em dois projetos distintos.

O primeiro teste é uma comparação entre renderizadores do tipo Unbiased, que usam ou se baseiam no Metropolis Light Transport que são:

  • LuxRender
  • Indigo Renderer
  • Maxwell Render

A avaliação da renderização foi publicada nos fóruns de usuários do LuxRender, com o uso da seguinte cena:

teste-render-yafaray-maxwell-luxrender-blender-3d.jpg

Qual o vencedor? Nesse teste os melhores resultados foram obtidos pelo Indigo Renderer. Quando comentei esse teste com meus alunos, os mesmos acharam que o vencedor seria o Maxwell Render, afinal o mesmo custa quase 1000 dólares e deveria ser o melhor. Bem, o teste mostra que no tempo estipulado pelo autor o Indigo foi quem produziu as imagens mais “limpas”.

Todas as cenas foram criadas no Blender 3D. O Maxwell Render suporta arquivos do Blender? Sim! O Maxwell é um programa indepedente, com uma interface e controles independentes. No caso, o Blender 3D cria o modelo e exporta para um formato de arquivo compatível com o Maxwell para o teste.

Os dois links abaixo levam para mais testes de renderização um pouco mais antigos, que comparam apenas renderizadores compatíveis com o Blender 3D:

Com essa quantidade de material e testes de render, a escolha do software mais adequado para seus projetos deve ficar bem mais simples.