|
|
D3D9中的PointLight, 希望做个在较暗的场景中,点光源移动,照亮地面明暗不断变化的效果,但是感觉这个点光源是跳着移动的,并不是很平滑的移动,如果把Attenuate0 = 1 其他设为0的时候(没有衰减)更加明显,一个很亮的区域是每隔一段时间(1-2秒)向前跳一大格,而不是每桢都在移动。
代码的写法就是每桢计算更新一个新位置,然后创建一个新的D3DLight对象,然后把位置赋值进去,
再SetLight(0,&light);
这样有什么问题吗?我看别的引擎也是这么写的,但是效果很好。
另外为了防止是地面法线问题,我把地面改平了,法线都是(0,1,0);还是不行。 |
|