Directx教程(24) 简单的光照模型(3)
2012-04-03 14:13
211 查看
在工程myTutorialD3D11_17中,我们重新定义我们的cube顶点法向,每个三角形面的顶点法向都是和这个三角形的面法向是一致的。如下图所示:
在该工程中,我们还修改了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的每个面颜色都是一样的,效果很差。
完整的代码请参考:
工程文件myTutorialD3D11_17
代码下载:
http://files.cnblogs.com/mikewolf2002/myTutorialD3D11.zip
在该工程中,我们还修改了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的每个面颜色都是一样的,效果很差。
完整的代码请参考:
工程文件myTutorialD3D11_17
代码下载:
http://files.cnblogs.com/mikewolf2002/myTutorialD3D11.zip
相关文章推荐
- Directx教程(29) 简单的光照模型(8)
- Directx教程(22) 简单的光照模型(1)
- Directx教程(27) 简单的光照模型(6)
- Directx教程(23) 简单的光照模型(2)
- Directx教程(28) 简单的光照模型(7)
- Directx教程(25) 简单的光照模型(4)
- Directx教程(26) 简单的光照模型(5)
- Directx11教程(29) 简单的光照模型(8)
- Unity shader教程-第五课:自定义光照模型之Half Lambert模型
- Android OpenGL ES 开发教程(25):OpenGL光照模型
- OpenGL3.0教程 第八课:基础光照模型
- SSIS教程:创建简单的ETL包 -- 6. 对项目部署模型使用参数(Using Parameters with the Project Deployment Model)
- DirectX 9.0 C++ 教程 光照
- WCF简单教程(7) 并发模型与实例模型 推荐
- DirectX 3D_基础之模型表示 顶点格式 三角形 索引 虚拟摄像机 投影窗口 绘制流水线 局部坐标系 观察坐标系 世界坐标系 背面消隐 光照 裁剪 投影 视口变换 光栅化
- 【Visual C++】游戏开发笔记四十四 浅墨DirectX教程十二 网格模型和X文件使用面面观
- WCF简单教程(7) 并发模型与实例模型
- Unity shader教程-第四课:自定义光照模型(方程)
- 【Visual C++】游戏开发五十一 浅墨DirectX教程十九 网格模型进阶之路
- DirectX 10 教程6:漫反射光照