|
|
发表于 2007-2-5 19:34:00
|
显示全部楼层
Re:同样的模型,在Milk和OGRE中渲染出来的效果却有较大差异?
PixelOutput fragmentEntry(PixelInput pi)
{
PixelOutput PO;
float3 N;
N = normalize(pi.norm.xyz);
float3 Eye;
Eye.xyz = -normalize(pi.eyevector.xyz);
float4 nColor = float4(0.0,0.0,0.0,1.0);
float4 mDiffuse = tex2D(DiffuseTex,pi.tex0);
float4 mSpecular = Specular;
float4 SelfIllum = Emissive;
nColor = nColor + SelfIllum * mDiffuse;
float3 H;
float3 Light;
float f;
float fAtt;
float fDist;
/* default light */
fAtt = 1.0;
nColor = nColor + float4(LightCol0,1.0) * mDiffuse * clamp(dot(N,LightDir0),0,1) * fAtt;
H = normalize(Eye+Light);
f = clamp(dot(N,H),0,1);
f = pow(f, GlossLevel);
f = f * SpecularLevel;
nColor = nColor + float4(LightCol0,1.0) * mSpecular * f * fAtt;
/* end of default light */
nColor.a = Opacity;
PO.c = nColor;
return PO;
} |
|