Bem pra comecar `e preciso entender a anatomia do shader no ponto de vista do renderman:
O Renderman pinta os objetos dando pequenas pinceladas de cor ponto a ponto sobre o objeto . para isso ele precisa de informacoes sobre a geometria , luz , e o ponto de observacao da camera e etc . essas informacoes sao predefinidas no renderman , sao as chamadas Variaveis Globais do Renderman
Abaixo uma pequena (micro) lista de algumas variaveis :
Os surface Opacity = transparencia original da surface
Cs Surface Color = cor original da surface
Oi Surface Opacity Incident = a transparencia da surface em direcao a camera
Ci Surface Color Incident = a cor da surface em direcao a camera
P Surface Position = um ponto qualquer na surface
N Shading Normal = direcao da Normal de uma surface
I Incident Vector = direcao do observador
E Vantage (eye)point = a posicao do observador
L Light Vector = direcao da Luz
Antes de sair programando `e preciso falar sobre as variaveis " Os,Cs,Oi,Ci ", o renderman considera que a surface tem uma cor default e uma opacidade default, essas cores originais em geral sao variaveis que sao definidas dentro do corpo do arquivo .RIB .
A Cor incidente e a Opacidade Incidente sao as cores e a transparencia final do objeto , resumindo , o renderman sempre vai colorir e definir a transparencia do seu objeto pela cor que vc definir na variavel Ci e Oi , mesmo que Cs e Os sejam cores diferentes.
Abaixo o shader de renderman MaisSimplesDoMundo :
surface
MaisSimplesDoMundo( color vermelho = (1.0 , 0.0 , 0.0 ) ; )
{
Ci = vermelho ;
}
Render feito no Maya usando
o Shader MaisSimplesDoMundo:
No comments:
Post a Comment