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.
浙公网安备 33010602011771号