Windows游戏开发之Direct3D灯光与材质

  • Windows游戏开发之Direct3D灯光与材质已关闭评论
  • 1,048 views
  • A+

接着那上次使用的程序

删除顶点的颜色

我们要用灯光加物体自身的材质

来反馈颜色

 

顶点结构体变为

可以看出顶点格式变为法线

但是我没有设置_nx,_ny,_nz

因为我也不知道这些顶点的法线...

也不怕,等等用Direct3D自带的

 

 在现实世界中

当光线照射到物体上

物体会反射自己拥有的颜色

同理的,我们需要为物体设置材质,再设置灯光

 

 在Game_Init中

初始化顶点信息

设置投影矩阵,视图矩阵,渲染模式后

打开灯光

创建一个Direct3D的Cube网格

用于区别自定义没有法线的Cube

cube是一个为LPD3DXMESH的变量

 

设置材质

设置灯光信息

开始绘制

代码跟以前都差不多

这里就不多说了

 

最后看看结果

Windows游戏开发之Direct3D灯光与材质

可以看出第一个没有顶点法向量的

灯光效果已经乱了