Blender Cycles com suporte a placas da AMD

O Blender Cycles é um renderizador em constante evolução e apesar de sempre receber atualizações e novas ferramentas, desde os seus primórdios ele já tinha suporte a um recurso extremamente poderoso que era a possibilidade de usar a GPU para renderização. Mas, o que é a GPU? Esse é o processador da sua placa de vídeo, e a não ser que você possua um equipamento jurássico antigo o seu computador provavelmente tem alguns núcleos a mais do que o seu processador. Algumas placas podem chegar a ter a ignorância, muito bem vinda no render, de 3000 núcleos como é o caso da GeForce GTX TITAN X que aceleram de maneira significativa o render.

Apesar de ser rico em recursos e oferecer todo esse poder computacional, o Cycles só tinha compatibilidade plena com equipamentos usando a tecnologia CUDA da NVIDIA. Isso significa um banho de água fria nos proprietários de placas da AMD. Você poderia ter uma Radeon R9 295X2 com 5632 núcleos, que você usa jogar, e quando chegava no Cycles a renderização simplesmente não funcionava!

RadeonR9

Essa é uma reclamação antiga de donos desses equipamentos, e que deve estar com os dias contados. Boa parte da culpa dessa incompatibilidade era da própria AMD que não é muito amigável em termos de documentação sobre o funcionamento dos seus equipamentos e tecnologias, e isso dificultou a integração da tecnologia Open CL no Cycles. Como o Blender é um software de código aberto, e a sua adoção no mercado está crescendo de maneira significativa a AMD percebu que poderia ajudar seus consumidores ao passar para a sua equipe de engenheiros de software a responsabilidade de adicionar no Cycles o suporte a essa tecnologia. O resultado disso foi um patch que integra as tecnologias!

Calma! Antes que você jogue fora aquela GeForce ou vá na loja mais próxima comprar a sua Radeon lembre que faz apenas alguns dias que o patch foi submetido e antes de lançar ele para todos os usuários é necessário testar e validar o código. Já deve estar disponível na versão 2.75? Provavelmente não, deve ser algo que ficará disponível apenas na versão 2.76 ou posterior. Ao menos é bom saber que uma solução para deixar o Cycles ainda mais acessível para mais usuários está sendo trabalhada.

Tem uma Radeon? Por enquanto continue usando a boa CPU e aguarde até que o suporte seja adicionado, ou então pense na possibilidade de trocar o equipamento por uma GeForce.

Aprendendo a usar o Blender Cycles

Se interesseou pelo Blender Cycles? No EAD – Allan Brito você encontra vários cursos que ensinam a usar o software para os mais variados fins relacionados com renderização, inclusive fazendo uso da GPU:

Unity 5 com melhor suporte para render por GPU

As plataformas de desenvolvimento de jogos estão evoluindo muito nos últimos anos, e em pouco tempo a criação de jogos digitais poderá ser muito mais simples e rápida do que se imagina. A quantidade de frameworks e bibliotecas de recursos que aceleram o desenvolvimento dessa mídia é assustadora, permitindo que pequenos estúdios e artistas independentes possam trabalhar de maneira muito eficiente. Entre as plataformas de desenvolvimento comercial de jogos mais populares encontramos o Unity 3D que até pouco tempo era focada em jogos tridimensionais, e recebeu um módulo para trabalhar com jogos bidimensionais aproveitando as mesmas ferramentas já existentes na plataforma 3D.

Alguns dias atrás foi anunciada uma grande atualização para o Unity com a chegada da versão 5 do software, que trouxe muitas novidades e avanços, principalmente no uso de recursos avançados de hardware como a aceleração por GPU.

A primeira novidade relacionada com o Unity que chama muito a atenção é o novo sistema de shaders baseados em física real. Esses novos shaders permitem trabalhar com materiais e iluminação extremamente realista em todos os sentidos dentro do Unity, e resultam em imagens como a que ilustra esse artigo. E como se isso não fosse suficiente o Unity agora utiliza o motor de render chamado Enlighten, que é a plataforma de renderização usada por alguns dos maiores produtores de jogos triple A do mercado como Blizzard, EA e outros.

Unity 5 Render por GPU

Isso é apenas uma pequena parte das novidades anunciadas para o Unity 5 que envolvem também:

  • Sistema de sons totalmente reformulado
  • Maior integração com o Unity Cloud
  • Possibilidade de pré-visualizar lightmaps diretamente no editor do Unity

A lista é longa e só faz com que o desejo de usar a nova versão do software aumente! Mas, para usar muitos dos recursos apresentados é muito recomendável o uso de uma boa placa de vídeo, pois o consumo de recursos é significativamente maior. Assim que tiver mais novidades sobre o software, publico aqui no blog junto com tutoriais!

Quer começar a utilizar o Unity agora mesmo? No EAD – Allan Brito você encontra um curso online básico gratuito de Unity que apresenta as ferramentas necessárias para que você possa começar a criar jogos em 3d usando o software. O curso é totalmente gratuito e requer apenas a sua inscrição no web site.

NVIDIA anuncia GeForce GTX Titan Z

O mercado de placas de vídeo para computação gráfica, jogos e aplicações de alto consumo de GPU receberá uma adição de peso nas próximas semanas graças a um anúncio da NVIDIA. O novo integrante da família de aceleradores gráficos da empresa se chamada GeForce GTX Titan Z e segundo as informações divulgadas até agora a placa será um monstro em todos os sentidos! A primeira coisa que já chama a atenção em relação ao equipamento é o seu custo estimado, que deve ficar em torno de três mil dólares para o mercado americano. Se um dia essa placa for comercializada no Brasil deve equivaler ao preço de um carro popular. No que diz respeito as especificações técnicas os números também impressionam.

A primeira coisa que devemos levar em consideração é a quantidade de núcleos CUDA da placa que é de 5.760! Isso só é possível graças a existência de dois chips GK110 que oferecem 12GB de memória. Com a maioria das placas de vídeo disponíveis no mercado beirando a marca dos 1000 núcleos CUDA, uma única placa GeForce GTX Titan Z deve fazer muita diferença no momento em que precisarmos renderizar cenas complexas.

Os jogadores ávidos por atualizações e novos equipamentos para deixar a experiência e gráficos em PC's são uma das bases desse tipo de equipamento, mas os artistas 3d e profissionais que utilizam softwares capazes de aproveitar todos esses núcleos para renderização devem encontrar muitas vantagens em usar esse tipo de equipamento. Entre os softwares que podem aproveitar os recursos da GeForce GTX Titan Z estão:

  • Blender Cycles
  • V-Ray RT
  • iray
  • Octane Render
  • Arion
  • Indigo Render

Todos esses renderizadores conseguem acelerar o render de imagens e animações com base em placas gráficas com a tecnologia CUDA. Se você ainda não tem uma placa assim, recomendo procurar orçar um upgrade para turbinar o seu equipamento. A minha recomendação nesse tipo de situação é dar preferência para placas da NVIDIA, pois o suporte para tecnologia CUDA é mais difundido nesses softwares.

Só fico imaginando que essa placa deve precisar de uma pequena usina de força para suprir as suas necessidades relacionadas com energia! Uma fonte simples não deve ser capaz de aguentar a demanda.

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.

Performance de placas de vídeo com o Blender Cycles

O uso de placas de vídeo para acelerar a renderização é um dos recursos mais desejados na atualidade por qualquer artista 3d, pois com o uso desse tipo de tecnologia podemos reduzir de maneira drástica o tempo de render para qualquer imagem, sem a necessidade de contratar renderfarms ou estruturas auxiliares. Nos casos em que precisamos criar animações, pode ser que as placas de vídeo não sejam a solução final, mas ajudam muito! Só para ter uma idéia de como podemos dividir a carga para gerar imagens, quando você renderiza alguma imagem usando o seu processador, é comum usar entre dois ou quatro núcleos para realizar os cálculos necessários e renderizar a imagem.

No caso de placas de vídeo, alguns modelos disponibilizam mais de 400 núcleos que podem ser usados para renderização!

Hoje existem vários software que oferecem suporte ao render por GPU, entre eles encontramos:

  • Octane Render
  • iray
  • V-Ray RT
  • LuxRender
  • Blender Cycles

Algumas vezes é difícil ficar convencido dessa vantagem no uso de placas de vídeo para renderização, sem consultar dados que provem essa vantagem. Para quem gostaria de consultar informações de performance da mesma cena sendo renderizada em diferentes modelos de placas de vídeo com o Blender Cycles, existe uma comparação de diferentes computadores e sistemas, renderizando a mesma cena nesse artigo.

performance Blender Cycles

O teste é muito interessante para quem não tem nenhuma noção de como uma cena pode ser renderizada em curtos espaços de tempo se for usada uma GPU para aceleração. Alguns casos são bem consideráveis como na situação em que o tempo de render foi reduzido em até um décimo do tempo!

Ainda hoje a melhor opção para quem quiser utilizar o Blender Cycles e o recurso de aceleração por GPU é a tecnologia da NVIDIA. As placas da ATI ainda não oferecem o mesmo nível de recursos para o Cycles, e por isso devem ser evitadas por usuários do Blender que gostariam de montar workstations para render usando Cycles.

Aprender a usar o Cycles para renderizar projetos no Blender

E para quem quiser aprender a usar o Blender Cycles para renderizar projetos no Blender, é sempre bom lembrar que existe o curso sobre renderização avançada com o Blender Cycles no EAD – Allan Brito. No curso você aprende a usar os recursos do Cycles para gerar imagens com excelente nível de realismo, e também os procedimentos para configurar o render por GPU.