Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Jomar Machado   Rio de Janeiro - RJ
maxbrasil   Sertaozinho - AC
rafaelgmarotta   Belo Horizonte / MG - MG
bsnmartins   São Paulo - AC
Marcelod3sign   Rio de janeiro

Portfólios Ver Mais

VIPERCEL   SÃO JOSÉ DO RIO PRETO SP - SP
leandro nicolaci   São Paulo - AC
JOM   Portugal
AugustoCN   Rio de Janeiro - RJ

Compilação mais rápida de shader

Por: Abilio  

Em: 13/08/2020 16:01

Olá
 
quando editamos materiais para renderizar por meio do EEVEE:
 
existe uma maneira de tornar a compilação do Shader mais rápida?
 
por exemplo:
editar um material em um arquivo separado?
ou
alguma configuração EEVEE?
ou
de outra forma?
 
obrigado
Oi Abilio, tudo bem?

Eu não conheço o Eevee, mas como ele trabalha no mesmo sistema do Unreal eu posso tirar uma base de como funciona, então, acredito que não tem jeito de agilizar a compilação dos Shaders.
No Unreal também demora para compilar e trava completamente o PC de tanto que consome para isso, mas é um processo que ele precisa fazer para depois conseguir exibir o Shader em Real-Time na Viewport.
Não sei se acontece o mesmo no Eevee, provavelmente sim, mas o Unreal arquiva a compilação para usar nas próximas vezes, então, é apenas uma vez que precisa compilar.

O que agiliza no Unreal é você criar Shaders que podem ser instanciados e usados em várias situações, dai você configura diversos tipos de materiais diferentes com o mesmo Shader e no final terá poucos Shaders para compilar, apesar de ter centenas de materiais na cena, mas não sei se isso é possível no Eevee.

Abração e tudo de bom.

André Vieira
se eu rasterizar por bakes um grupo de nós que já foi concluído da para evitar que sejam recalculados ?
isso evita que a compilação seja tão demorada com outros nodes ativos ? os nodes no qual eu esteja trabalhando ainda .

é necessario apagar os nodes desligados da arvore para agilizar a compilação? ou eu posso deixar eles na interface ?

que hardware voce recomenda para agilizar a compilação dos Shaders de 1 material ?
processador  ?
RAM ?

e em cenas com varios materiais com muitos mapas procedurais e outros nodes ?

existe configuração que torne possivel nunca mais ver a barrinha do shader compilation ?

desde ja , agradeço

Oi Abílio, tudo bem?

Mapas procedurais são calculados na hora, enquanto que uma imagem comum está na HD e o programa só precisa ler os Pixels dela, então, usar muitos mapas procedurais torna a compilação mais lenta.
No Max e no Unreal podemos fazer o Bake destes mapas procedurais para usá-los como imagem, isso agiliza as coisas.

Sobre Hardware, certamente o processador é mais importante na compilação dos Shaders do que a memória, pois é uma etapa que demanda processamento intensivo, mas o Hardware ideal depende de cada programa, pois se o programa não aceitar a compilação em Multi-threading ou rede, não vai adiantar colocar um super computador ou uma rede de PCs para compilar.
Se o programa aceitar trabalhar com Multi-threading e rede igual o Unreal, é só ir colocando PC na rede até compilar em tempo real. rsrsrsrs
Mas dai é bom ter uma fonte de energia própria separada da rede pública para não deixar os outros sem energia. rsrsrsrsrsrs

Sobre a composição com os Nodes, não vou conseguir te ajudar no Eevee porque muda muito de um programa para o outro.
Por exemplo, se você usar Switch Nodes nos materiais do Unreal, para ligar e desligar ramos inteiros da árvore de Nodes, ele vai compilar cada possibilidade do Switcher ligado e desligado, então, pode criar milhares de Shaders na compilação e tem que usar este recurso com muito cuidado.
Pode ser algo parecido que está acontecendo com você no Eevee.

Se for fazer o Bake de partes procedurais do material, você vai continuar com o material totalmente procedural para sempre ter o original, depois vai criar uma cópia dele deletando a parte procedural para trocar pelo Bitmap que gerou no Bake e vai usar este novo material na cena.
No Unreal e no Max é possível fazer o Bake de todo o material para uma ou mais texturas, esta é a forma normalmente utilizada para agilizar as coisas depois que o material já está bem configurado, pois se criar o Bake de todos os materiais eles ficarão super leves e isso vale para qualquer programa.

Abração e tudo de bom.

André Vieira

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 710583.

Total de membros registrados: 138047

Últimos membros registrados: Ashuran026, wmlink2step, LeoGuedes3D, barwardbarber, brunluck, felippemarquessss, dowglasr, ForcsBR.

Usuário(s) on-line na última hora: 815, sendo 4 membro(s) e 811 visitante(s).

Membro(s) on-line na última hora: LeoGuedes3D, felippemarquessss, barwardbarber, wmlink2step.

Legenda: Administrador, Especial, Moderador, Parceiro .

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