LuxRender pode usar a GPU para renderizar na versão 0.7

O anúncio do Octane Render no início dessa semana causou grande expectativa sobre o que poderemos fazer usando mais a GPU do que as CPUs para renderizar nossos projetos, devido a maneira com que o renderizador manipula os dados apenas usando a GPU o resultado é realista e rápido de conseguir. Mesmo considerando que os algoritmos usados no processo são baseados em métodos Unbiased de renderização, que naturalmente demorariam muito tempo no refino da imagem. Mas, quando é que veremos algum renderizador de código aberto usando alguma tecnologia semelhante? Já existem versões de renderizadores como o V-Ray e FryRender usando a GPU ao menos em parte do processo.

A reposta pode estar nas próximas atualizações do LuxRender, e quero enfatizar a palavra “pode”, pois ainda é muito cedo para fazer afirmações sobre o que poderá estar presente. Desde que o SDK do OpenCL foi disponibilizado pela ATI e NVidia, um desenvolvedor e usuário do LuxRender chamado David Bucciarelli está fazendo testes no aproveitamento de GPU no LuxRender.

A discussão nos fóruns de usuários do LuxRender pode ser acompanhada nesse endereço, e para elucidar ainda mais o que está sendo feito, o autor do projeto gravou um vídeo demonstrando a sua versão experimental do LuxRender aproveitando o poder da GPU.

SmallLuxGPU (OpenCL) from David Bucciarelli on Vimeo.

O material ainda é bem preliminar e não há nenhuma previsão de quando ou até mesmo se deve ser adicionado ao LuxRender. Esse material mostra que o aproveitamento da GPU em sistemas de renderização é algo inevitável, pois muitas dessas GPUs estão aceitando trabalhar com algoritmos de render sofisticados como o Path Tracing que é Unbiased.

O mais empolgante de todos esses testes é o relato das pessoas que fizeram os testes com o software, relatando que o ganho de desempenho na renderização é impressionante. Mas, ainda assim é cedo para ficar animado, pois ainda são necessários muitos testes para chegar a versões estáveis do software.

Esse artigo mostra que não importa qual seja a área em que você trabalhe na computação gráfica 3d, o futuro está no uso de GPUs poderosas e não mais na CPU. O caminho está traçado nessa direção e acredito que não haverá mais volta.

Para fazer o download do código fonte e binários dessa versão experimental do LuxRender usando a GPU, visite esse endereço.

Renderização para interiores com o LuxRender RC5

No início desse mês foi lançada a quinta versão de testes do LuxRender 0.6 que trouxe alguns avanços em relação ao que oferecia o RC4. Uma dessas novidades que está listada na página que comenta sobre o lançamento foi o melhor desempenho do render. A promessa é que os bugs e problemas do renderizador estavam corrigidos na sua grande maioria, o que resultaria em imagens com mais qualidade em menos tempo. Como você deve saber, o LuxRender é um render tipo tipo Unbiased que gera as imagens por refinamento progressivo, o que demanda longos períodos de tempo para gerar imagens limpas e sem granulação, em troca de iluminação baseada em física real.

Para comprovar a melhoria na velocidade do render, resolvi fazer uma pequena comparação entre o LuxRender 0.6 RC4 e RC5 usando os mesmos parâmetros para uma única cena. O objetivo é fazer apenas uma simples comparação e não um estudo científico. Por isso, os parâmetros do teste foram os seguintes:

  • Render com tamanho de 400×300
  • Tempo de render: 30 minutos

Claro que para fazer o teste usei o mesmo computador, sem nenhum software adicional funcionando. A cena usada para o teste é a do solário, que usei várias vezes para demonstrar recursos do Indigo. Todos os materiais e ajustes da cena foram adaptados para o LuxRender.

render-interiores-blender-luxrender-01.png

O primeiro resultado foi obtido com a versão RC4:

render-interiores-blender-luxrender-02.png

Agora com o RC5:

render-interiores-blender-luxrender-03.png

Por mais incrível que pareça a impressão que tive nas imagens é que o render no RC4 teve um melhor resultado, com um pouco menos de granulação. Para ter uma boa idéia disso, basta prestar atenção na parede branca na parte direita da imagem.

Como explicar isso? No período de tempo em que o teste foi realizado, isso é explicado pela quantidade de samples por segundo usados no refinamento da imagem. Na parte inferior da interface isso fica disponível no terceiro valor da esquerda para a direita.

render-interiores-blender-luxrender-04.png

Na figura acima podemos visualizar que o RC4 conseguiu manter uma média ligeiramente superior que o RC5.

O que isso prova? Na verdade, para chegar em conclusões mais precisas seria necessário fazer mais testes em ambientes diferentes. Mas, podemos perceber que a velocidade do render não foi melhorada substancialmente. Mesmo assim, ainda prefiro um render um pouco mais lento e com menos problemas.

E você quais as suas impressões sobre o RC5? Ele ficou mais rápido mesmo?