Como criar um sombreador que "corta" toda a geometria, apenas renderizando o plano de fundo de limpeza no Unity? Um exemplo:
Isso é um prisma em uma enorme sala branca em forma de caixa. A superfície do prisma está apenas renderizando o skybox da cena (um céu estrelado). Eu usei várias câmeras, o que é bastante ineficiente ... Deve haver uma maneira com apenas shaders.
Como posso fazer isso?
Duas opções para obter o efeito desejado - mas elas têm um custo:
ou
Eu suspeito que deve haver uma maneira de fazer isso usando / abusando do buffer z também - mas você provavelmente deseja testar os 'polígonos de furo' usando o Z real deles e escrever um Z diferente. Você provavelmente poderia usar várias passagens e o buffer de estêncil - desenhando o buraco 3 vezes com o renderstate configurado assim pode funcionar:
Você ainda precisaria desenhar em uma ordem específica - primeiro o ambiente, depois os buracos e, finalmente, a caixa do céu por último.
fonte