OTIMIZAÇÃO DA RENDERIZAÇÃO NO V-RAY

COMO PRODUZIR RENDERS DE ALTA QUALIDADE COM MAIOR AGILIDADE

 

Esse tutorial tem o intuito de mostrar como otimizar as configurações de renderização do seu V-Ray para obter a melhor qualidade possível no menor tempo. O material a seguir foi produzido e originalmente publicado pelo artista Akin Bilgic em seu site CG Gallery.

 

PARTE 2

ENTENDENDO COMO O V-RAY FUNCIONA

Para este tutorial será usada uma cena de teste simples contendo: um plano com algumas esferas em cima, vários materiais diferentes (incluindo diffuse, glossy reflection, glossy refraction e SSS), duas áreas de luz e uma domelight com HDRI. A Global Illumination está ativada e definida como Brute Force + Light Cache. O download da cena pode ser feito neste link.

Vamos começar com um render básico com a seguinte configuração:

  • Image Sampler (AA) em 1min e 8max Subdivs;

  • Lights, GI e Materials definidos como o padrão de 8 Subdivs;

  • Limite de ruído (noise threshold) definido como o padrão de 0.01;

  • Todas as outras configurações de render definidas como padrão.


Render Base

1min e 8max Subdivs = Image Sampler (AA)

8 Subdivs = Lights, GI, e Material cada

Agora vamos analisar exatamente o que isso significa. Com essas configurações de render, você está dizendo para o V-Ray:

 

“Estou permitindo que você use até 64 (8 Subdivs) Primary Samples (AA) por pixel para entender o que está acontecendo na cena, e reduzir o noise o máximo possível para o limite de noise especificado. MAS para cada Primary Sample que você reconheceu, você só pode tirar um Secondary Sample adicional para entender o que está acontecendo com cada Light, GI, e Material.”

 

Neste ponto você deve estar perguntando: “Apenas 1 Secondary Sample para Lights, GI, e Materials cada? Não deveriam ser 64 Samples (8 Subvids) conforme definimos?”

É importante notar que apesar das Lights, GI e Materials terem sido definidos para 64 Samples (8 Subdivs) cada, o V-Ray divide internamente este número pelo valor do AA Max Samples da sua cena. Então ao invés de 64 Samples para Lights, GI e Materials cada um, como você esperava, este valor é dividido pelo AA Max de 64 Samples (8 Subdivs), o que resulta em apenas 1 Secondary Sample sendo utilizado para cada Lights, GI e Materials (64 Secondary Samples / 64 Primary Samples = 1 Secondary Sample).

O V-Ray trabalha assim porque suas fórmulas internas estão criadas de maneira a tentar equilibrar automaticamente os seus dois samplers. A lógica por trás disso é que, com mais Primary Samples tirados da sua cena, uma quantidade proporcionalmente menor de Secondary Samples é necessária para entender exatamente o que está acontecendo na cena. Este equilíbrio do Image Sampler e do DMC Sampler pode ser um pouco confuso no início, mas o importante a levar disso é: sempre que você aumentar as configurações do seu Image Sampler (AA), o V-Ray tenta compensar internamente diminuindo as configurações do DMC Sampler.

(Se você tiver interesse em aprender mais sobre como as fórmulas internas do V-Ray funcionam, veja a ferramenta Calculadora de DMC)

Voltando à renderização:

O V-Ray finaliza o render da melhor forma que pode, mas avisa você (através dos muitos pixels vermelhos no SampleRate Render Element):

 

“Eu NÃO fui capaz de descobrir o que está acontecendo em toda esta cena de acordo com o nível de qualidade (noise) que você desejava. A maior parte do tempo tive que usar todas as 64 Primary Samples com 1 Secondary Sample por Light, GI e Material que você me permitiu para cada pixel, mas isso ainda não me forneceu informação o suficiente para essas áreas.”

 

Se dermos uma olhada no render, vamos perceber que enquanto os detalhes geométricos (cantos de objetos) parecem limpos e definidos, ainda há áreas com ruído na imagem, o que pode ser visto facilmente nos reflexos e sombras. Então temos esse render básico cheio de ruído, e duas opções para reduzir-lo para o nível desejado de qualidade (noise threshold):

 

Opção #1: Aumentar o AA Max Subdivs - Deixar o V-Ray pegar mais Primary Samples para entender a cena - porém novamente apenas 1 Secondary Sample adicional para Lights / GI / Materials para cada Primary Sample.

Opção #2: Aumentar o Lights / GI / Materials - Dizer para o V-Ray ficar com a mesma quantidade de Primary Samples, porém permitir que tire mais Secondary Samples de cada Primary Sample para entender melhor a cena.

 

OPÇÃO #1 - AUMENTAR O AA MAX SUBDIVS

Então vamos experimentar primeiro o que a maioria das pessoas faz para obter um render de alta qualidade (pouco noise) - adotar a ‘Configuração Universal do V-Ray’ (Universal V-Ray Settings) e deixar o V-Ray tirar quantos Primary Samples (AA) forem necessários para eliminar o noise.

  • Vamos aumentar o Image Sampler (AA) para 1min & 100max Subdivs.

  • Vamos deixar Lights, GI e Materials com 8 Subdivs cada.

  • Vamos reduzir o noise threshold para 0.005, dizendo ao V-Ray que realmente queremos um render sem ruídos.


Render da Opção #1 - Aumentando o AA Max Subdivs

1min & 100max Subdivs = Image Sampler (AA)

8 Subdivs = Lights, GI e Materials cada

0.005 = Noise threshold

Agora vamos entender exatamente o que significa isso na Opção #1. Através das configurações do render, você está dizendo ao V-Ray:

 

“Estou permitindo que você use até 10000 (100subdivs) Primary Samples (AA) por pixel para entender o que está acontecendo na cena e reduzir o ruído para o mais próximo possível do noise threshold que eu solicitei. MAS para cada um dos Primary Samples que você tirar, você só está permitido a tirar 1 Secondary Sample para entender o que está acontecendo com os Lights, GI e Materials.”

 

Novamente, lembre-se que apesar de Lights, GI e Materials estarem configurados em 64 Samples (8 Subdivs) cada, o V-Ray divide internamente estes valores pelo número de AA Max Samples da sua cena. Então ao invés de 64 Samples, ele é dividido pelo AA Max de 10000 Samples (100 Subdivs), o que resulta em apenas 1 Secondary Sample sendo usado para Lights, GI e Materials cada (64 Secondary Sample / 10000 Primary Samples = 1 Secondary Sample).

O V-Ray finaliza o render da melhor maneira que pode, e nos diz (através da maior parte do SampleRate Render Element estar AZUL):

 

“Fui capaz de descobrir tudo o que está acontecendo nesta cena para o nível de qualidade (noise threshold) que você deseja. Na verdade, eu pude entender bem antes de precisar usar todos os 10000 Primary Samples com 1 Secondary Sample para Lights, GI e Materials por pixel que você me permitiu.”

 

Nós damos uma olhada no render da Opção #1 e vemos que o noise definitivamente melhorou em comparação com o render básico. O tempo de renderização aumentou em 11min e 44s (9.8x mais lento), mas isso é esperado em um render de maior qualidade, certo? Neste ponto, a maioria das pessoas pensa que isso é o melhor que pode conseguir, e acha que o render está PRONTO!

Mas… O que acontece se tentarmos a Opção #2, e ao invés de aumentar o AA Max Subdivs, optarmos por aumentar os Subdivs das Lights / GI / Materials? Vamos descobrir.

 

OPÇÃO #2 - AUMENTAR O SUBDIVS DOS LIGHTS / GI / MATERIALS

Agora, vamos tentar uma coisa um pouco diferente: vamos dizer ao V-Ray para usar a mesma quantidade de Primary Samples que usamos originalmente no render básico, mas permitir que ele tire mais Secondary Samples com cada Primary Sample para entender melhor a cena.

  • Vamos deixar o Image Sampler (AA) definido em 1min & 8max Subdivs.

  • Vamos aumentar os Lights, GI e Materials para 80 Subdivs cada.

  • Vamos deixar o noise threshold configurado no padrão de 0.01.


Render da Opção #2 - Aumentando o Subdivs dos Lights, GI e Materials

1min & 8max Subdivs = Image Sampler (AA)

80 Subdivs = Lights, GI e Materials cada

0.01 = Noise Threshold

Mais uma vez vamos ver exatamente o que isso quer dizer. Pelas configurações, estamos comunicando ao V-Ray:

 

“Permito que você use até 64 (8 subdivs) Primary Samples (AA) por pixel para entender o que está acontecendo na cena, reduzindo o ruído ao mais próximo possível do noise threshold especificado. E para cada um dos Primary Samples que você tirar, está permitido a usar até 100 Secondary Samples para entender o que está acontecendo com os Lights, GI e Materials.”

 

Novamente, lembre-se que apesar dos Lights, GI e Materials estarem configurados para 6400 Samples (80 Subdivs) cada, o V-Ray divide automaticamente esses valores pelo número do AA Max Sample da sua cena. Então, ao invés de 6400 Samples, esse valor é dividido pelo AA Max de 64 Samples (8 Subdivs), o que resulta em apenas 100 Secondary Samples sendo usados para cada Lights, GI e Materials (6400 Secondary Samples / 64 Primary Samples = 100 Secondary Samples).

O V-Ray termina o render da melhor maneira que pode, e nos diz (através do SampleRate Render Element):

 

“Eu pude entender quase tudo o que está acontecendo na cena para o nível de qualidade (noise threshold) que você deseja! Na verdade, na maior parte do tempo eu pude entender bem a cena antes de usar todos os 64 Primary Samples por pixel! Todos os 100 Secondary Samples extras para Lights, GI e Materials forneceram muito mais informação para cada Primary Sample desta vez!”

 

Nós olhamos o render da Opção #2 e vemos que o noise definitivamente melhorou em comparação com o render básico. O tempo de renderização aumentou em 4m 38s (4.5x mais lento), mas isso é de se esperar com uma maior qualidade de renderização.

Mas é aqui que as coisas começam a ficar interessantes…

Quando comparamos a Opção 2 com a Opção 1, vemos que a Opção 2 nos deu um render mais limpo! E não apenas isso: a Opção 2 terminou 2.2x mais rápido!


Render Opção #1 à esquerda, e Opção #2 à direita.

Embaixo, as imagens com zoom de 400% para mostrar melhor os níveis de ruído.

Por que isso acontece? Por que aumentar as configurações do DMC Sampler (Subdivs dos Lights / GI / Materials) em vez de aumentar as configurações do Image Sampler (AA) resulta em um render mais limpo E rápido? Nós até configuramos a Opção #1 para ter um noise threshold mais baixo, mas ainda assim ela ficou com mais ruído que a Opção #2.

Veja a próxima parte para entender como a otimização funciona.