D-NOISE remove granulação de render no Blender com IA

Quando você começa a fazer qualquer tipo de renderização com o Blender ou outros softwares que façam uso de refinamento progressivo para gerar imagens, a granulação será o seu maior inimigo. Essa granulação pode ser removida com o aumento no número de interações (samples) para o seu projeto. Mas, isso acaba demandando muito tempo de processamento.

Já existem ferramentas como o Denoiser do próprio Blender que removem essa granulação por software, aplicando um pequeno desfoque na imagem.

Se você possui uma placa de vídeo da NVIDIA recente, pode usar um software gratuito chamado D-NOISE que usa inteligência artificial e aceleração por hardware para remover essa granulação.

O software funciona dentro do Blender! O video a seguir mostra um exemplo do D-NOISE funcionando na janela UV/Image Editor.

Com apenas 100 samples você consegue gerar imagens sem nenhum tipo de granulação! Se você já tem experiência com o Blender, sabe que usando essa quantidade de samples é praticamente impossível gerar imagens limpas.

A melhor parte é que o recurso é totalmente gratuito e pode ser usado não só para renders no Blender, mas qualquer tipo de imagem. Isso significa que até renders gerados em outros software podem usar o D-NOISE.

Como ele usa a tecnologia CUDA da NVIDIA, o recurso não é compatível com placas AMD.

Já mencionei que o software é gratuito?

Quer aprender a usar o Blender? O EAD – Allan Brito possui diversos cursos gratuitos básicos que podem ajudar.

Cycles com suporte melhorado para OpenCL

Quando o assunto é a escolha de uma plataforma de hardware para acelerar a renderização com o Blender Cycles, sempre fui bem claro em relação ao uso de equipamentos da Nvidia. O suporte para tecnologia CUDA sempre foi melhor no Cycles deixando muitos proprietários de placas Radeon decepcionados.

Mas, isso não era culpa dos desenvolvedores do Blender. Muito dessa falta de suporte para OpenCL se devia exatamente pela pouca ajuda da própria AMD em prover as opções e ferramentas necessárias para melhorar o suporte.

Depois de muita espera e uma ajuda merecida de uma equipe de engenheiros da própria AMD, o Cycles está com um Kernel paralelo com suporte melhorado para OpenCL. Na próxima versão do software que deve ser lançada em breve teremos melhoras significativas na performance.

Em alguns casos, o uso de placas AMD como a Radeon RX 480 pode trazer performance melhor do que equipamentos da Nvidia! Isso quando fazemos comparação de placas na mesma faixa de preço.

Como geralmente as placas da AMD possuem excelente competitividade em comparação com as GeForces, isso pode significar uma melhor relação entre custo e benefício para cada equipamento.

Se você tem um computador em casa ou no escritório com placas AMD, pode preparar o mesmo para receber a versão 2.79 do Blender! Ele será capaz de renderizar cenas usando todos os núcleos da GPU e OpenCL.

É o momento de abandonar a Nvidia? Calma! Isso é apenas o começo de uma longa reaproximação entre a AMD e os usuários do Blender. Se tudo funcionar de acordo, você deve começar a considerar os equipamentos da empresa para futuras atualizações ou aquisições.

Quem já investiu na Nvidia deve permanecer com os equipamentos por algum tempo. Você também precisa considerar os outros softwares que funcionam em conjunto com o Blender. Todos eles se beneficiam com placas AMD?

É uma excelente notícia, sempre é bom ter mais opções.

Aprendendo a renderizar com o Cycles

Quer aprender a renderizar projetos com o Cycles? No EAD – Allan Brito existem diversos cursos que ajudam você a usar o Cycles para renderizar projetos com os mais variados temas:

Renderizando imagens usando a GPU? Como começar?

O hardware necessário para trabalhar com computação gráfica sempre foi notório por demandar quantidades razoáveis de memória e poder de processamento, fazendo com que artistas 3d e estudantes procurassem em lojas especializadas por equipamentos de última geração e consequentemente muito mais caros. Com o passar dos anos as exigências de hardware aumentaram, mas o ponto de equilíbrio desse equipamento também foi alterado. Uma das partes que não fazia tanta diferença assim no momento da chamada renderização, alguns anos atrás, hoje pode realmente cortar os tempos de render para períodos extremamente curtos! Estou me referindo a placa de vídeo (GPU).

Com o advento dos renderizadores que conseguem aproveitar o poder das modernas GPUs, é possível jogar toda a carga de render de um projeto para a placa de vídeo e distribuir tarefas que antes eram manipuladas apenas por dois, quatro ou quem sabe oito núcleos do processador (CPU) para até mil núcleos! Sim, você não leu o texto errado. Algumas GPUs existentes hoje em dia oferecem até mil núcleos para distribuir processamento e ligar com renderização de imagens e outros processos.

Exemplos de placas gráficas para alta performance

Um exemplo disso é a GeForce GTX Titan Black com seus insanos 2880 núcleos. A placa de vídeo é voltada para o mercado de jogos com alta performance, mas graças a uma tecnologia chamada CUDA da NVIDIA é possível aproveitar esses núcleos para gerar imagens em softwares de renderização.

É evidente que existem outras opções mais humildes em termos de processamento e quantidade de núcleos, mas independente da opção escolhida é praticamente certo que a sua placa terá muitos núcleos a mais do que qualquer processador acessível para computadores pessoais.

Além da quantidade de núcleos existentes na placa de vídeo, é preciso tomar cuidado também com a memória existente nessas placas. Caso a placa possuam pouca memória, você ficará limitado a manipular apenas aquela quantidade de dados no momento da renderização. Por exemplo, uma placa que possua apenas 1GB de memória, só terá capacidade para manipular e carregar texturas e outras informações até essa capacidade. Quando passa dessa capacidade, o software simplesmente não consegue aproveitar o poder oferecido pela placa de vídeo para gerar o render.

Como começar a renderizar na GPU?

Nesse ponto você já deve ter ficado interessado em começar a renderizar seus projetos usando uma GPU. Mas, como começar? O primeiro passo é um pouco deprimente, pois envolve adquirir uma dessas placas. A minha recomendação nesse caso, para fins profissionais, é preferir um modelo da NVIDIA. As placas da ATi/AMD da série Radeon são excelentes para jogos, mas não oferecem muito suporte para render em softwares gráficos. Caso alguém conheça softwares que usem esse equipamento, indique nos comentários pois não conheço nenhum.

Antes de adquirir a placa de vídeo para renderizar, recomendo consultar a documentação do software que você deseja usar para renderizar seus projetos. Será que ele suporta aceleração por GPU? A maioria já oferece algum tipo de suporte como o iray no 3dsmax e o Cycles no Blender. Ainda existe outros renderizadores externos dedicados como o V-Ray RT, Octane Render e Arion.

Para escolher o modelo da placa, e para isso você deve levar em consideração as especificações técnicas somadas ao investimento necessário para adquirir a placa. Algumas vezes fica mais barato comprar duas placas mais simples, e usar recursos como o SLi da NVIDIA para usar as duas placas no mesmo computador e compartilhar os núcleos e a memória.

Benefícios de usar GPU?

O principal benefício de usar renderização por GPU é a redução significativa do tempo necessário para gerar imagens e animações. Quem já teve a felicidade oportunidade de usar esse tipo de recurso, percebeu que a visualização e manipulação da cenas pode ser realizada em tempo real! Esse é o motivo pelo qual algumas versões de renderizadores que usam a GPU para gerar imagens adotam o sufixo RT para Real Time.

Usando render por GPU

Tem uma placa de vídeo da família GeForce GTX? Quer começar a renderizar seus projetos agora mesmo? Basta fazer o download dos drivers apropriados no web site da NVIDIA e usar o Blender Cycles, que é capaz de utilizar os núcleos dessas placas de vídeo para gerar imagens e animações. Se quiser uma ajuda para começar a usar o Blender Cycles, no EAD – Allan Brito você encontra dois cursos específicos sobre renderização com o Blender Cycles:

Ao fazer a inscrição nos dois cursos ao mesmo tempo na página dos combos, você ainda consegue um desconto em ambos os cursos.

Exemplo de uso do Blender Cycles com GPU

O uso do Blender Cycles para renderizar cenas usando algoritmos avançados dentro do Blender foi uma das adições mais relevantes em termos de recursos do últimos anos. O simples fato de não precisarmos ter que recorrer a softwares externos para gerar imagens usando iluminação global é fator determinante para atrair novos usuários para o software, sem falar na facilidade de uso para quem gostaria de gerar imagens simples. E se já não fosse suficiente apenas oferecer um renderizador poderoso junto com o Blender, o Cycles ainda proporciona para os usuários a possibilidade de trabalhar com render por GPU, usando a tecnologia CUDA da NVidia. Infelizmente o suporte para placas da ATI usando Open CL ainda está em desenvolvimento.

Para quem tem uma placa da NVidia compatível com a tecnologia o recurso é um grande facilitador do ponto de vista da velocidade do render. Ao invés de usar o seu processador com dois ou quatro núcleos para gerar imagens, você pode usar em algumas situações até 2000 núcleos em uma única placa de vídeo compatível.

Mas, será que fica rápido mesmo renderizar usando GPUs? Caso você queira uma comprovação, ou prova irrefutável, é interessante observar essa demonstração de render usando um cenário bem razoável.

No cenário em particular, podemos perceber que a quantidade de objetos na cena é significativa! O autor desse vídeo renderizou a cena usando um sistema com duas GPUs GTX 580 da NVidia e como cada GPU possui 512 núcleos CUDA, o total de núcleos renderizando a imagem é de 1024!

Uma cena como essa levaria muito tempo para ser renderizada apenas usando os núcleos da CPU, e no vídeo podemos perceber que o processo é literalmente realizado em tempo real. É por isso, que sempre recomendo o upgrade dos equipamentos usados para renderizar usando o Blender, para conseguir aproveitar a incrível velocidade proporcionada pelo Cycles quando usado em conjunto com o hardware certo.

Quer aprender mais sobre o Cycles?

E para as pessoas que gostaria de aprender como trabalhar com o Blender Cycles, recomendo uma visita ao curso sobre renderização avançada usando Blender Cycles que ensina exatamente o funcionamento do novo renderizador do Blender. Ao longo do curso você aprender:

  • Configurar a cena para render no Cycles
  • Materiais com Cycles
  • Texturas com Cycles
  • Render de animação com Cycles
  • Iluminação com Cycles
  • Configuração do ambiente com o Cycles

Fórum especializado com hardware para computação gráfica

A compra de equipamentos que possam ajudar a montar computadores especializados em renderização e animação pode se tornar um árduo trabalho, pois envolve muita pesquisa e o entendimento de vários dados técnicos que geralmente um artista 3d não conhece. Por exemplo, você sabe se uma placa com suporte a tecnologia CUDA pode ajudar no render, e o motivo que faz com que a placa seja tão rápida? Os softwares 3d estão muito dependentes de configurações específicas de hardware hoje em dia, e para conseguir bons resultados é necessário algumas vezes montar computadores específicos para cada software.

Devido a esses problemas é interessante dispor de um local em que possamos trocar informações sobre hardware para computação gráfica, para conseguir reunir o máximo de informações sobre o assunto. E com o intuito de ajudar as pessoas que tenham dúvidas sobre o tema, é a First Place organizou um fórum no seu web site para que pessoas interessadas em hardware para computação gráfica, jogos e edição de vídeo possam tirar dúvidas com os consultores da empresa.

Apesar de ser uma revenda, o pessoal não limita o acesso ao fórum apenas aos clientes que adquirem computadores com eles, mas abrem o espaço para qualquer pessoa interessada no tema.

E para ajudar ainda mais o pessoal que visitar o fórum, a First Place me convidou para participar do fórum como consultor na parte de computação gráfica 3d e render. Portanto, se você quiser tirar dúvidas sobre hardware para computação gráfica 3d e participar do fórum, visite esse endereço e provavelmente serei eu mesmo que responderei a sua dúvida! Como o fórum é um ambiente colaborativo, nada impede que outro usuário participe e tire a dúvida também, e caso você queira ajudar outras pessoas com informações e experiências sobre hardware para computação gráfica, o fórum é um excelente local para expor sua história.

Além do fórum existe uma área organizada no formato de blog, em que o pessoal da First Place publica algumas imagens e vídeos com configurações de computadores destinados a nichos específicos. Por exemplo, aqui você encontra um computador com nada mais que 16 GB de RAM, que foi montado para um escritório de arquitetura.