|
|
最近在看Introduction to 3D Game Programming with Directx 9.0,在卡通渲染那里按照书上的步骤,对照代码自己做了一遍(我觉得和原来的例子一模一样了),但是渲染效果不对.我的开发环境是 VS.2003+dxsdk_aug2006,反复检查了多遍,现在可以确定是设置纹理的时候没有达到预期效果.Shader 代码片段如下 原意是计算出光线法向量和光源方向的点积,然后设成纹理的横坐标,因为纹理图横向有三段区间,所以会渲染成卡通的有明显颜色突变的效果.但是我的似乎点积算出来为一个常量(可能是0,所以整个都是灰暗的,由于shader写在TXT里面,我不知道如何调试,所以不能肯定).是用D3DXCreate..生成的茶壶,圆柱之类的MESH。请问可能是什么原因啊,附件发不上来,也没超过500K,老是错误。
....
float u=dot(LightDirection,input.normal);
if(u<0.0f) u=0.0f;
float v=0.5f;
output.uvCoords.x=u;
output.uvCoords.y=v;
... |
|