Como renderizar gelo realista?

45

Estou tentando escrever um shader de gelo no Unity que pareça bom e pelo menos semi-realista.

Se a foto a seguir ( encontrada no Google ) fosse CG, qual seria o seu shader? (a caverna do primeiro plano). Posso estar errado, mas parece que ele ainda tem um modelo de iluminação diferente do difuso padrão.

insira a descrição da imagem aqui

Daniel Pendergast
fonte
Aqui está um tutorial para o DirectX 11 usando HLSL e C ++. Talvez você possa coletar os princípios. Além disso, onde você viu que a imagem era CG? É relatado como real.
MichaelHouse
Eu não disse que era. Eu disse "se" fosse. e obrigado! Eu vou dar uma olhada
Daniel Pendergast
9
Esse fenômeno é chamado de espalhamento subterrâneo. Isso é causado porque a luz penetra na superfície do material e se espalha pelo meio do próprio material. É por isso que, por exemplo, os ouvidos humanos ficam vermelhos quando iluminados. Aqui está um post do blog explicando a tentativa de alguém de recriar um efeito de gelo com ele.
Ah, desculpe, eu perdi o "se".
Michaelhouse
@ Byte56, Sem problemas #
Daniel Pendergast

Respostas:

53

O gelo é translúcido, por isso acredito que a coisa mais importante que você deve simular no seu sombreador para obter resultados realistas seria a dispersão da superfície ou o SSS, resumidamente. O SSS basicamente descreve como os raios de luz penetram na superfície de objetos translúcidos e se espalham por baixo dela, sendo refletidos várias vezes de maneira irregular, antes de finalmente sair por um local diferente.

Aqui está uma foto que eu acho que demonstra bem o efeito:

insira a descrição da imagem aqui

Na imagem da sua pergunta, também podemos ver que o gelo é bastante reflexivo; portanto, você provavelmente também desejará combiná-lo com algum tipo de mapeamento do ambiente para reflexões e também tonificar a especularidade para reforçar os destaques.

Você também pode tentar outras coisas, como adicionar um pouco de refração , sobrepor algum tipo de textura de ruído para adicionar um pouco de variação ou até mesmo algum tipo de mapeamento de bump ou mapeamento de deslocamento para detalhes muito pequenos e sutis.

Recursos

Alguns outros recursos que encontrei ao escrever a resposta:

David Gouveia
fonte
Você também pode procurar em Oclusão do ambiente ( en.wikipedia.org/wiki/Ambient_occlusion ) para simular o escurecimento dos penhascos, pois geralmente é muito difícil acertar usando apenas sombras.
28412 Koarl