Como: criar um sombreador básica do Phong
Esse documento demonstra como usar o Shader Designer e o idioma de sombreador de gráfico direcionado (DGSL) para criar um sombreador de iluminação que implementa o modelo clássico de iluminação Phong.
Este documento demonstra estas atividades:
Adicionar nós a um gráfico do shader
Nós desligando
Conectando nós
O modelo de iluminação Phong
O modelo de iluminação Phong estende o modelo de iluminação Lambert para incluir realces especular, que simulam as propriedades reflexivas de uma superfície.O componente specular fornece luz adicional das mesmas fontes de luz direcionais que são usadas no modelo de iluminação de Lamberto, mas a contribuição para a cor final é processada de forma diferente.Realce Specular afetará cada superfície na cena diferente, com base na relação entre a direção de exibição, a direção da fonte de luz, e a orientação da superfície.É um produto de cor specular, o poder specular, e a orientação da superfície, e a cor, a intensidade, e direção de fontes de luz.Superfícies que reflete a fonte de luz diretamente no visualizador recebe a contribuição specular máximo e superfícies que refletem a fonte de luz fora do visualizador não recebem nenhuma contribuição.No modelo de iluminação de Phong, um ou mais componentes specular são combinados para determinar a cor e a intensidade de realce specular para cada ponto no objeto, e então adicionados ao resultado do modelo de iluminação de Lamberto para gerar a cor final de pixel.
Para obter mais informações sobre o modelo de iluminação Lambert, consulte Como: criar um sombreador Lambert básica.
Antes de iniciar, certifique-se de que a janela de Propriedades e Caixa de Ferramentas são exibidos.
Para criar um sombreador Phong
Crie um shader de Lamberto, como descrito em Como: criar um sombreador Lambert básica.
Desconecte o nó de Lambert do nó de Cor final .Escolha o terminal de RGB do nó de Lambert , e então escolha Quebrar Links.Isso torna espaço para o nó que é adicionado na próxima etapa.
Adicione um nó de Adicionar para o gráfico.Em Caixa de Ferramentas, em Matemática, Adicionar selecione e move-lo para a superfície de design.
Adicione um nó Especular ao gráfico.Em Caixa de Ferramentas, em Utilitário, selecionar Especular e movê-lo para a superfície do design.
Adicione a contribuição especular.Mova o terminal de Saída do nó de Especular ao terminal X do nó de Adicionar em seguida, mova o terminal de Saída do nó de Lambert ao terminal de S do nó de Adicionar .Essas conexões combinam as contribuições difusas e specular total de cor para o pixel.
Conecte o valor de cor calculado para a cor final.Mova o terminal de Saída do nó de Adicionar ao terminal de RGB do nó de Cor final .
A ilustração a seguir mostra o gráfico do sombreador concluído e uma visualização do sombreador aplicado a um modelo de bule.
Observação |
---|
Para melhor demonstrar o efeito de shader nesta ilustração, uma cor laranja foi especificada usando o parâmetro de MaterialDiffuse do shader, e um botão de vista foi especificado usando os parâmetros de MaterialSpecular e de MaterialSpecularPower .Para obter informações sobre parâmetros materiais, consulte a seção visualizando de Shaders em Designer de sombreador. |
Determinadas formas podem fornecer visualizações melhores para alguns sombreadores.Para obter mais informações sobre como visualizar shaders no designer de Shader, consulte a seção visualizando de Shaders em Designer de sombreador
A ilustração a seguir mostra o sombreador descrito em neste documento aplicado a um modelo 3D.A propriedade do MaterialSpecular é definida como (1,00, 0,50, 0,20, 0,00), e sua propriedade de MaterialSpecularPower é definida como 16.
Observação |
---|
A propriedade do MaterialSpecular determina o acabamento aparente do material da superfície.Uma superfície de alto brilho como vidro ou plástico tende a ter uma cor especular que é uma máscara brilhante branca.Uma superfície metálica tende a ter uma cor especular próxima à sua cor difusa.Uma superfície com acabamento de cetim tende a ter uma cor especular que é uma máscara escura de cinza. A propriedade de MaterialSpecularPower determina a intensidade dos realces especulares.As potências specular altas simulam um realces mais maçantes, mais localizados.Muito baixo as potências specular simulam realça intensos, varrendo que podem oversaturate e para ocultar a cor da superfície inteira. |
Para obter mais informações sobre como aplicar um sombreador a um modelo 3-D, consulte Como: aplicar um sombreador para um modelo 3D.
Consulte também
Tarefas
Como: aplicar um sombreador para um modelo 3D
Como: criar um sombreador Lambert básica