参考教程
学习记录
本篇介绍地形网格的纹理贴图,基于上一篇代码,我们简单的使用 TextureShaderClass 来渲染网格,使用一个 TextureManagerClass 类管理项目中的纹理数据。框架如图:

这次我们将以 TextureShaderClass 来代替 ColorShaderClass 渲染网格,所以在 ShaderManagerClass 中新增 TextureShaderClass 的对象,同时添加它的 Render 接口。修改后的类声明如下:
1 | //////////////////////////////////////////////////////////////////////////////// |
其次,我们修改 TerrainClass ,为顶点增加 uv 属性,并且在初始化顶点数据的时候初始化:
1 | struct VertexType |
之后,我们需要一个 TextureManagerClass 类来管理我们的纹理,其声明如下:
1 | //////////////////////////////////////////////////////////////////////////////// |
最后,我们替换 ZoneClass 中的渲染方法为纹理渲染:
1 | // Render the terrain grid using the texture shader. |
最终效果如下:
