D3D若有错

很多时候不知道程序为什么没有按预想的方式运行,

到底是哪里错了呢。。才发现原来是坐标错了,颜色错了,或者是填充的模式错了。。。

这些都是一些微不足道难以寻找的错误啊,

只能够靠细心还有经验堆积起来才能够避免。

附上光照图

 

4个物体坐标分别在 

D3DXMatrixTranslation(&MeshWorldMetrices[0],-2.0f,-2.0f,0.0f);  //血小板
 D3DXMatrixTranslation(&MeshWorldMetrices[1],2.0f,-2.0f,0.0f);  //黄茶壶
 D3DXMatrixTranslation(&MeshWorldMetrices[2],-2.0f,2.0f,0.0f);  //蓝盒子
 D3DXMatrixTranslation(&MeshWorldMetrices[3],2.0f,2.0f,0.0f);  //绿球体

 

1.方向光

从(0.0f,0.0f,8.0f)->到(0.0f,0.0f,0.0f)       2.点光源(0.0f,0.0f,0.0f)->(*,*,*)

 

 聚光灯,发射的位置在(0.0f,0.0f,8.0f)->

     3.->血小板               4.->黄茶壶              5.->蓝盒子           6.->绿球体

 

或是停停顿顿,或是懒懒散散的学习了两天,光照这一部分总算熟练了。

 

于2012/4/23:

上文才刚刚说完。。又犯了低级的错误了,

那四幅spotlight的图就是有一点怪怪的,我注意到照射的位置正确与否,可是没有注意到真正确切的效果,

上面我设定了

light.Phi = 0.0f;

light.Theta = 0.4f;

而实际上dx中规定的Phi是聚光灯锥体的大角,而Theta是较小的内角

不过也算另一种好处吧,就是我知道了当Phi小于Theta的情况,就是Theta的所照是黑暗的,然后Phi所照的范围是全景的,(话说这样好别扭。。)

所以,预期的效果应该是这样才对:

我设为

light.Phi = 0.4f;

light.Theta = 0.0f;

 

 

这里的图片会占用很多的带宽的,我想。

转载于:https://www.cnblogs.com/Kelvinshere/archive/2012/04/22/2465522.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值