DX光照

为一个场景添加光照的步骤如下。
1,启用光照
Device->SetRenderState(D3DRS_LIGHTING,true);

2,为每个物体创建一种材质,并在绘制相应物体前应用(设置)该材质
D3DMATERIAL9 mtrl;
Device->SetMaterial(&mtrl);

3,创建一种或多种光源,设置并启用。
D3DLIGHT9 dir;
Device->SetLight(0,&dir);
Device->LightEnable(0,true);

4,启用所有其余的光照装填,如镜面高光(specular highlights)
Device->SetRenderState(D3DRS_NORMALIZENORMALS, true);
Device->SetRenderState(D3DRS_SPECULARENABLE, true);

小结
1。Direct3D支持3中类型的光源模型:方向光,点光源以及聚光灯。
    每种光源可以发出三种光:环境光,漫射光和镜面光。
2。表面的材质定义了光线与其到达表面的交互方式(既表面能反射何种颜色的光以及反射多少,以确定表面的颜色)
3。顶点法线用于定义顶点的方向。Direct3D借助顶点法线向量来确定光线到达顶点时的入射角。
在某些情况下,顶点法向量与由其构成的三角形单元的法向量相等,但如果用三角形单元组逼近表示光滑的曲面(缛球体,圆柱体等)时,情况就未必如此了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值