:-)
render man /maya / cgi

导航

 

Pixel==picture + element;
Voxel==volume +  element;

dPdu,或记为Du(P),P点沿u向切线;
dPdv,或记为Dv(P),P点沿v向切线;
Ng,P点的初始几何法线;
N,P点经过Shader(如Displacement)校正后的法线;
I,入射线方向,从视点到P点的路径;
L,灯光方向,从P点到灯光的路径;
u,v,表面参数空间坐标;
s,t,纹理空间坐标;
P,表面上P点位置;
E,摄像机位置;

高数基础:
[f(x+dx)-f(x)]/dx=f'(x);
f(x+dx)=f(x)+f'(x)*dx;

[f(x+dx,y)-f(x,y)]/dx=dFdx;//(偏微分)
f(x+dx,y)=f(x,y) + dFdx*dx;//(偏微分)
f(x,y+dy)=f(x,y) + dFdy*dy;//(偏微分)

Ng=dPdu^dPdv;//(cross product)

N=Du(P) ^ Dv(P);

P += displacement * N;//叠加Displacement效果
N = calculatenormal( P );//求出新法线

calculatenormal( point P )
{
  return Du(P) ^ Dv(P);
}

function(u+du)-function(u) = Du( function(u) ) * du;
function(v+dv)-function(v) = Dv( function(v) ) * dv;

P(u+du,v)=P(u,v)+dPdu*du;
P(u,v+dv)=P(u,v)+dPdv*dv;
Deriv(num,den) = Du(num)/Du(den) + Dv(num)/Dv(den);

 


Render Man's custom Constructs:
illuminance();//基于表面
illuminate();//基于有源光,
solar();//基于无源光,


MOD
返回返回两数相除的余数。结果的正负号与除数相同。
相当于a%b

语法

MOD(number,divisor)
Number   是要计算其余数的数字(被除数)。
Divisor  是用以除 number 的数字(除数)。

说明
MOD 函数可以借用 INT 函数来表示:
MOD(n, d) = n - d*INT(n/d)
   
示例
MOD(3, 2) 3/2 的余数。(1)
MOD(-3, 2) -3/2 的余数。符号与除数相同。(1)
MOD(3, -2) 3/-2 的余数。符号与除数相同。(-1)
MOD(-3, -2) -3/-2 的余数。符号与除数相同。(-1)


step(min, value)
if(value<min) step(min, value)=0;
if(value>=min) step(min, value)=1;


smoothstep(min, max, value)
if(value<min) smoothstep(min, max, value) =0;
if(value>=max) smoothstep(min, max, value) =1;
if(value>min&&value<max)  a smooth Hermite interpolation between 0 and 1 in the interval min to max.

 

posted on 2006-01-02 13:10  Jacky-Lee  阅读(482)  评论(0)    收藏  举报