Olá, pessoal. Acima estão uns primeiros testes mais "sérios". Primeiramente com Importons e GI, e no final com Irradiance Particles. Fiz uma Cornell Box fechada, para não ter problema com importons, como o Alberto disse, e coloquei a câmera "dentro" da cornell box, por isso a lente de 20mm está dando uma pequena "distorcida".
Alberto, alguma configuração sua para GI + FG deve estar estranha, pois, nas 2 primeiras imagens minhas, você vê a grande diferença de tempo de render entre o uso de apenas FG e GI+FG, sobressaindo-se em desempenho este último (GI + FG).
Eu tinha achado muito estranho você, usando 5 bounces, conseguir melhor desempenho em render time usando apenas FG do que GI+FG. Nos meus testes aconteceu o contrário, como sempre é esperado: apenas FG para internas demora mais. Talvez você não tenha configurado o raio dos photons, e deste modo, onera demasiadamente o cálculo de FG.
Agora, a grande ferramenta que eu encontrei: IMPORTONS junto com a técnica tradicional (GI + FG).
Para começar, pelo o que eu entendi no fórum da mentalimages, os valores dos Importons EMITTED, e DENSITY não são para uso simultâneo, ou seja, você pode usar valores absolutos em EMITTED, OU então usar os valores relativos em DENSITY.
Em Density, os valores são dependentes da resolução da imagem (já que Importons é view-dependent). Deste modo, vc mantém uma qualidade (0 a 10) para todas as resoluções que usar.
Em EMITTED, os valores são absolutos, ou seja, podem ser o suficiente para uma dada resolução, mas serão insuficientes para uma resolução maior.
Eu, particularmente, gostei de usar os valores no campo DENSITY, pois, não se altera a qualidade em diferentes resoluções. Usei, nos testes o valor Density em 1, que se mostrou bastante eficaz, mas são só suposições.
Como a interface ainda é bem esquisita, entendi que, ao usar o Density, vc ZERA o campo EMITTED, e vice-e-versa, para deixar claro que está usando ou um valor, ou outro.
O campo Trace Depth, pelos testes que já tinha visto, produz resultados melhores e mais rapidamente com valores entre 2 e 4. 4 seria o ideal.
O campo Merge não usei, ele provavelmente mescla a solução (interpola).
Tem um campo chamado Task Size, que por Default vem em 64, que eu não usei, e deixei como está, mas acho que se refere ao Merge, quando vc o usa.
Usando Importons + GI (photons), o cálculo é muito rápido, muito parecido com o cálculo apenas de GI, em um passo só. O consumo de memória é pequeno, e não se altera com o avanço do cálculo, um grande trunfo para se usar MUUUITOS photons na cena.
Afortunadamente, com o mapa salvo, vc pode fazer as mesmas alterações que faz, quando salva um mapa de gi tradicional: vc pode mudar os valores do raio dos photons e dos samples. Ou seja, com o mapa de GI e Importons salvo, vc pode alterar o raio dos photons e o número de samples.
Mas, não se engane: atirando muitos photons na cena, 5 milhões, por exemplo, e usando Importons, a cena fica com um mapa de GI muuito bem feito, sem falhas, sem splotches.
Só que isso não quer dizer que usando raios grandes de photons (ou mesmo nem os configurando, deixando a 10% do diametro da esfera virtual que engloba a cena), e com isso, a cena ficando totalmente preenchida e suavizada(parecendo que foi usado o Final Gather), isso não significa que dá para se obter resultados apenas com o uso de Photons + Importons, pois, os photons são o cálculo para os raios secundários, quem calcula os raios primários ainda é o FG. Resumindo, se usar apenas Photons + Importons você vai ter um photon map de primeiríssima linha, mas não vai ser ainda uma solução final. Irá precisar usar o cálculo de raios primários feito pelo Final Gather.
O grande trunfo do uso de Importons, é que, com um mapa muito mais completo (em virtude da possibilidade de se atirar vários milhões de photons na cena), dá para se reduzir e muito o raio dos photons, como dá para ver na cena em que atiro 30 milhões de photons, e assim, conseguir uma solução acuradíssima de GI.
O que não significa que você possa desprezar o seu cálculo de FG deixando-o com configurações irrisórias: Por que? Porque o FG, ao meu entendimento, calcula os raios primários, e do que adiantaria vc ter uma cálculo apuradíssimo de raios secundários (GI) se o seu mapa de raios primarios (FG) está muito impreciso?
Por isso, usando valores considerados razoáveis no FInal Gather (density 0,2-0,4 / rays 150/250) irão produzir os melhores resultados: cálculo de raios primários - bom / cálculo de raios secundários - ótimo.
O que se tem então: em uma cena com um photon map muito acurado (milhões de photons) dá para se ter grande suavidade e mapeamento, mesmo com raios pequenos (ou menores do que o usual) nos photons. (fica aquele aspecto de algodão tradicional, bem acurado). Deste modo, o Final Gather, mesmo com setagem razoável, irá se realizar muito rapidamente. Rápido mesmo: na cena em que usei 30 milhões de photons, o Final Gather (0,4 - 150) levou 18 segundos.
Com certeza, vou começar a fazer testes em cenas de trabalho para estudar mais este potencial e ver se dá para usar em produção.
IRRADIANCE PARTICLES
Este é um caso à parte.
Não estou seguro quanto às configurações, pois você tem que associar configurações conjuntas de IMPORTONS com as configurações de IRRADIANCE PARTICLES (nota: este é um sistema novo e independente, usando-o não se usa GI nem FG, eles são automaticamente "desligados", este é um sistema path tracing).
Para salvar tempo, é necessário saber usar as configurações de Interpolate do Irradiance Particles.
Fiz apenas 2 testes para mostrar o potencial de qualidade.
Por ser um sistema path tracing, eu observei que ele calcula mínimos detalhes, chegando a quase não precisar de usar Ambient Occlusion. O resultado é acurado, mas demorado.
Vou precisar estudar mais as configurações de IP. Tudo o que eu fizer até agora com Irradiance Particle ainda vai ser resultado de chute, pois não domino estas configurações.
abrçs