参考教程
Tutorial 5: Color Mapped Terrain
学习记录
  这篇文章中我们主要介绍地形的颜色渲染,本篇没有新的类增加,主要修改内容在 TerrainClass 。
和地形纹理贴图不一样的是,我们使用纹理贴图的时候是基于地形的单个网格,而颜色映射则是对整个地形图的着色,和高度图类似。我们首先需要一张颜色的贴图(256 * 256),如下:

  我们将在 TerrainClass 中从这张图中读取出颜色数据,然后赋值给顶点,最后着色的时候使用网格的自身纹理和颜色贴图混合。部分代码如下:
| 1 | bool TerrainClass::LoadSetupFile(CHAR* filename) { | 
  之后我们修改 Terrain.vs 和 Terrain.ps ,新增 COLOR 属性,并且在 Terrain.ps 中混合 color 和 textureColor :
| 1 | //////////////////////////////////////////////////////////////////////////////// | 
记得修改着色器代码的时候同步更新对应渲染类的代码。
最终效果:
