Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

RAFAEL AMARANTE   São Paulo - AC
Douglas Garcia   São Paulo - SP
Bona Studio 3D   Jaraguá do Sul/SC - Brazil - SC
Lucas   Campos dos goytacazes - RJ

Portfólios Ver Mais

alexarantes   Rio de Janeiro
Robison915   esteio - AC
fejaomaravilha   São Bernardo do Campo
Discipulo   São Paulo - SP

Grupo de Estudo: Irradiance Particles e Importons

Por: Danilo  

Em: 01/03/2010 02:39

Estou postando uns testes que fiz seguindo as conversas no tópico desde o começo quando falei com o Eduardo de usar GI + FG em internas. Com GI e FG alto demora mais do que sem GI e FG alto. Com FG baixo e AO também foi mais rápido usando bounces no lugar do GI. Confirmando o que o Edurado disse. O resultado final não é o mesmo, mas não sei qual é mais fiel a realidade.
São Paulo Futebol Clube
E fiz testes com importons depois da conversa com o Dudamel. Primeiro eu pensei que apenas otimizava o GI para usar milhões de photons sem criar mapas gigantes, como li um tempo atrás. Para renderizar em rede com muitos photons demora demais para transferir o mapa de photons entre as máquinas, chega fácil a 300 MB. O importons otimiza o mapa gravando os photons importantes e desprezando o resto, diminui o tamanho do mapa e transfere rápido pela rede. Mas nestes testes tentando usar GI + importons eu senti que ele também suaviza os photons como se fosse o FG. Mas tmb dá para usar com GI + importons + FG, otimizando os photons para emitir milhões e deixando para suavizar com o FG. Achei promissor para usar agora em produção e otimizar o GI, assim que der vou fazer testes em cenas de trabalho. Mas tem um problema, ele não funciona com geometria invisível na frente. Eu precisei deletar a parede na frente da câmera e dai vaza iluminação. Ele só funciona bem com a câmera dentro do ambiente. O iray vai rodar em placa de vídeo comum, mas não terá o mesmo desempenho de uma quadro. Antes as placas só ajudavam nas views e agora vão ajudar no render, é a tendência e a placa de vídeo terá mais importância na configuração do PC do que hoje. Já tem o rendition que renderiza em real time com o mental ray no maya e no max, e ele suporta tudo que o mental ray suporta. Olhem: http://www.holomatix.com/cat/rendition/
São Paulo Futebol Clube
MUito bom Alberto! Parabéns pelos testes cara! Espero que vc esteja certo quanto a puder usar qualquer placa de vídeo para ajudar no render, mesmo assm é melhor esperar pra ver como disse o Fla. Gostei dos testes e achei a qualidade melhor do jeito tradicional. Se bem que pelo tempo de render seria interessante setar para ver como ficaria a qualidade beirando os 5 min de render. Já testei um monte por aqui usando o diagnostics e verificando a questão do interpolate. Agora com essa discussão ficou bem claro porque uma animação que eu fiz apenas com o FG ficou cheia de artefatos como se fossem manchas de mofo na parede e eu não consegui remover..rsrsrsrss. A única dúvida agora antes de postar as imagens do quarto que a Laura postou é sobre qual o valor usar para o raio do FG em pixels. Qual a referência que eu devo seguir para obter um GI bem acurado para animação? A questão do vaso perto e outro longe da câmera ilustra perfeitamente um dos problemas que ocorrem comigo com vegetação em 3d quando eu preciso animar uma câmera. Acontece que o que está perto da câmera fica bom, mas o que está longe pede mais density para não fickar então vou passar a testar o método por radii in pixels fazendo o paralelo de comparação com o displacement. vlw!!
Alberto, antes de mais nada, meus parabéns por tomar a iniciativa e fazer os testes, coisa que a cachaça de carnaval não está me deixando. Meu amigo, muito legal essa comparação dos testes com os dieferentes cálculos. Só estranhei um pouco a demora do GI + FG, apesar desta cena ser por demais simples em geometria e isso favorecer muito o uso apenas de FG. Outra coisa demais foi vc ter se aprofundado e estudado o lance do uso de Importons + Photons. Eu nem sabia como era este uso e vou começar a testar aqui, antes da noite de carnaval. Mas o que eu estranhei foi o Trace em 0. Este Trace não é o do Trace Depth? Parece que precisa usar valores entre 2 e 4 para ficar legal, pelo menos foi isso que eu vi - mas usando o sistema de Importons + Irradiance Particles. Realmente, se os testes forem bem-sucedidos dá pra usar Importons em conjunto com Photons para produção, e isso é legal!!! Bom, vou ver o que eu consigo por aqui. Alguém sabe de algum script para gravar o tempo de render na imagem? abrç!
________________________________________

www.zuinn.com.br/andresgsoares
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
________________________________________

www.zuinn.com.br/andresgsoares
Nota rápida: Pessoal, salvem a primeira imagem (solução tradicional de GI + FG) e salvem a sétima imagem (GI-30milhões + Importons + FG) em seus PCs, e no visualizador de imagens do WIndows, visualize a primeira imagem, e depois a outra, como numa sequência de slides, e veja a diferença de nuances conseguidas com o recurso de importons.
________________________________________

www.zuinn.com.br/andresgsoares
vixi! Não arrisco nem a tentar habilitar mas a curiosidade é muita! Daqui há uns 2 ou 3 anos provavelmente FG+GI serão coisas do passado que nem futuro teve. Muita purpurina pra vcs!!!
Então Eduardo, puxando a parede para trás da câmera para poder fechar e manter a câmera no interior, melhorou o GI pq não vazou luz e o tempo diminuiu com a mesma configuração. Essa imagem saiu em 1:51 minutos. O emitted alto demora muito, com 200 mil quadruplica o tempo de render comparado com 50 mil, mas usando o FG para suavizar pode usar 5 mil no emitted que ficou bom. Essa imagem está com 5 mil no emitted, 1 no density e 5cm no merge. Quanto maior o merge mais rápido emite os photons, mas perde qualidade. O task size eu não mudei e o trace depth não fez diferença com 0, 2, 4, 6 e 8. Acho que a qualidade vai da quantidade de photons, da qualidade do FG, valor do emitted e valor do merge. Mas vou fazer mais testes depois das postagens do Dudamel que alertou sobre alguns detalhes importantes.
São Paulo Futebol Clube
Dudamel, obrigado por reviver essa discussão de importons pq se me ajudar a diminuir o tempo de render será o máximo! Eu também estranhei o tempo de render maior com GI+FG, pq em todos os testes que fiz antes foi mais rápido com GI+FG, eu até pensei que o max 2009 e 2010 estavam com bounces do FG mais otimizado, mas acho que vc matou a charada numa paulada só. :) Eu não configurei o raio dos photons nos testes e com raios muito suaves FG demora mais do que com raios menos suaves, obrigado por me alertar deste detalhe, nem passou pela minha cabeça e vc tem toda razão. Vou fazer outro teste configurando o raio para ver se melhora o tempo. A simplicidade da cena é outro fato que vc lembrou bem, favorece o FG. Em cenas detalhadas pode ser diferente. Outra coisa é o trace depth, eu fiz vários testes e não senti nenhuma diferença no GI, mas senti diferença na qualidade final da imagem, com 8 no trace depth a imagem saiu mais borrada. Eu desliguei o FG e mantive a mesma configuração que usei antes com 5 mil no emitter e 5 milhões de photons, olha as duas imagens, a primeira está com trace depth 0 e a segunda com trace depth 8. Repara em baixo da esfera. Eu li o texto que está no readme do shader e lá tb fala para usar o trace depth principalmente se for suavizar com FG, mas ainda não entendi direito como funciona. Olha o texto do shader ------------------------------ Importons ------------------------------ Importons can be used as importance based merging function for global illumination photons (when GI is enable and merging is set to 0.0); or by Irradiance Particles, when both GI and FG are disabled (and IP is enabled, of course). Importon Density ----------------------- Controls the number of importons shot from the camera per pixel. The minimal value for this option in the current implementation is 0.02, i.e approximately 1 importon per 50 pixels. The default and recommended value is 1. Lower values will speed up importon emission, but will also lead to a worse final image quality. Importon Emitted ------------------- it's not view-dependant and it controls the number of importons emitted directly. Importon Merge -------------- Is the world-space distance used to merge importons closer than that distance. The default value is 0.0, which means than merging is disabled. Integer "importon task size" controls the pixel size of the importon emission jobs. The default value is 64. In most cases importon emission takes much less time than rendering of the image, so this is a fine-tuning option only. Importon Task Size" ------------------- controls the pixel size of the importon emission jobs. The default value is 64. In most cases importon emission takes much less time than rendering of the image, so this is a fine-tuning option only. Importon Trace Depth -------------------- Controls the diffusion of importons in the scene. If set to zero, importons will not scatter on the diffuse bounces. In some cases it may be required to use more than a single diffuse bounce. This is the case if the combination with finalgathering is used, or when the "importon traverse" option is set off. Importon Traverse" --------------------------- If set on, enables a special behavior of importons traced from the camera. Such importons would not be blocked by even completely opaque geometry. Instead, they would be stored for all intersections with geometry on the ray from the camera to infinity. This leads to a significantly higher number of importons stored in the scene. However, it removes the discontinuity in the distribution of the importons originated from the visibility to the camera function. Does work only when importons are used for GI and not for IP.
São Paulo Futebol Clube
Continuando... Dudamel, que maravilha os seus testes!!! Seu PC deve ser muito melhor que o meu, 30 milhões de photons. :) Eu nunca tentei tantos, mas vou tentar para ver até onde vai. :) O seu teste com GI+FG regulando o raio dos photons provou que o meu estava errado, um detalhe pequeno desse faz muita diferença. Obrigado por me alertar do erro. Todos os seus testes estão com trace depht e não saiu borrado como o meu, porque será? Vc fez algum teste com zero no trace depth? Sentiu diferença? Eu não li o tópico na mental images mas vou ler depois dessa explicação que vc postou, muito bom! No texto do shader que postei na mensagem anterior fala mais ou menos isso mas eu nem me toquei que é ou um ou outro e senti diferença com a mudança no valor do emitted sem mudar o density que mantive sempre com 1 como fala no texto do shader. Então pelo que vc disse é melhor configurar sempre pelo density e descartar o emitted? O campo merge é importante, ele que agiliza a emissão de photons, ele define os photons mais importantes e descarta o resto, foi o que eu entendi. Com zero ele não descarta nenhum photon e usa todos, demora mais na emissão, mas colocando um valor pequeno no merge ele descarta os photons semelhantes dentro deste raio e otimiza o mapa de photons. Eu usei sempre 5cm, mas com 2 cm fica mais detalhado. Aumentando o valor perde qualidade e detalhes. Faz um teste para você ver com valor alto, mesmo emitindo muitos photons aparece poucos na cena. E salva o mapa de photons para ver o tamanho com valores diferentes no merge. O Task size eu tb não mexi. Mas de tudo o que eu mais gostei foi da parte que vc falou de salvar o mapa de photons e mudar os valores depois sem calcular de novo, eu não sabia disso, vou testar para ver. É bom demais! Pode emitir muitos photons e salvar para refinar a configuração sem perder tempo. :) Eu não entendi bem o que vc falou do FG fazer o cálculo primário e o GI+importons fazer o secundário, pq para mim o primário é o calculo da luz direta feita pelo scanline, GI e FG são para os cálculos secundários. Pq se o raio primário fosse dependente do FG sairia uma imagem preta quando renderizasse desligando GI e FG, o scanline do mental ray faz o traçamento primário e o GI+FG faz o secundário. Tb pode mudar na aba renderer para o mental ray traçar o raio primário com raytrace. O FG sem bounces calcula 1 reflexão do raio secundário, com bounces calcula mais reflexões. Quando usa o GI ele calcula várias reflexões e o FG só suaviza. Se renderizar com GI e bounces no FG aparece uma mensagem de alerta naquela janela de mensagens do mental ray falando que não tem efeito bounces com GI. Vc testou o traverse? Com a câmera do lado de fora e o traverse ligado apareceu uns photons na imagem, mas ficaram estranhos. Sem o traverse e a câmera do lado de fora não aparece nenhum photon e nem efeito de GI. Eu tb gostei dos testes com IP, esse eu não testei ainda pq falam que não está pronto para produção e dai não interessa tanto, mas vendo o tempo de render que vc conseguiu com IP+importons é incrível, o melhor tempo no método tradicional foi de 1:21min e com IP+importons mantendo a mesma qualidade caiu para 20 segundos!!! Incrível!! O GI não fica tão vivo como no método tradicional, mas fica muito bom. Eu queria saber qual solução é mais próxima da realidade, o GI mais vivo ou o GI mais leve igual a solução com IP+importons. Eu acho que na realidade o GI não é tão vivo pq não percebemos tanto como nas imagens 3D, a solução com IP+importons parece mais condizente com a realidade, mas o GI mais vivo parece mais bonito, não sei se é por costume de ver sempre assim. Parabéns pelos testes, me ajudou muito!!!
São Paulo Futebol Clube

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 710361.

Total de membros registrados: 137784

Últimos membros registrados: fernandadias371, Tomasleal-, moilveira, Jandir , ivonei.energia, JoaoMartins, victormartinsc, jvmagalhaes.

Usuário(s) on-line na última hora: 430, sendo 17 membro(s) e 413 visitante(s).

Membro(s) on-line na última hora: jhownicolas, Lucas Reis, JMDesign, Baldo, Rodrigosouza3D, Victor Mendonça, João Von Rondow, Pedro Juliato, gilson antunes, Fabio Catelleno, Adalberto Batista, Gabriel.C, Eduardo Ramos, marcola, Duda, magster, nandao.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.