原文: Directx教程(24) 简单的光照模型(3)

     在工程myTutorialD3D11_17中,我们重新定义我们的cube顶点法向,每个三角形面的顶点法向都是和这个三角形的面法向是一致的。如下图所示:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Directx教程(24) 简单的光照模型(3) 随笔 第1张

    在该工程中,我们还修改了CubeModelClass文件,从一个cube.txt文件中读cube顶点位置、法向、纹理坐标。

    cube.txt的格式为:

Vertex Count: 36

Data:

-1.0  1.0 -1.0 0.0 0.0  0.0  0.0 -1.0

     数据行前三个数据为顶点位置,接着两个数据为纹理坐标,最后的三个数据为顶点法向。

     为了实现读取cube.txt,我们增加了函数LoadModel,该函数把模型数据读取到m_model中去,之后在初始化缓冲函数中,又会从m_model中读取数据。

      程序的执行效果如下,可以看到由于使用面法向,再加上是平行光光源,所有cube的每个面颜色都是一样的,效果很差。

Directx教程(24) 简单的光照模型(3) 随笔 第2张

 

完整的代码请参考:

工程文件myTutorialD3D11_17

代码下载:

http://files.cnblogs.com/mikewolf2002/myTutorialD3D11.zip

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄