参考教程
学习记录
这篇文章中我们介绍使用16位高度图实现的较为精细的地形,本篇代码基于上一篇,无新增类。
这篇中我们仅仅修改了 TerrainClass
类和 Setup.txt
文件,在 TerrainClass
中我们使用新的 LoadRawHeightMap()
方法来代替之前的 LoadBitmapHeightMap()
,由于我们新的高度图是一张存储高度的图片,所以读取的话只为 y 轴赋值,方法如下:
1 | bool TerrainClass::LoadRawHeightMap() |
同时我们将修改 Setup.txt
文件,渲染一张更大的地图:
1 | Terrain Filename: ./data/heightmap.r16 |
在 Initialize
方法里,使用 LoadRawHeightMap
代替 LoadBitmapHeightMap
:
1 | bool TerrainClass::Initialize(ID3D11Device* device , char* setupFileName) |
最终效果: