以上三幅图概括了三微地形模拟的大体走向与思路。
图1描绘的是在同一平面上的三角形网格组成的一个大的矩形区域。显然他是一个二维的平面,图中的每一个顶点都可以用一个二维的坐标(x,y)来唯一表示。
图2我们为每个顶点赋予了一个高度,那么图1就变成了一个三维图形,对于每个顶点可以用一个三维坐标(x,y,z)来唯一表示。
图3我们为其镀上纹理,其实也就是一个纹理包装的过程。
高度图
高度图说白了就是一组连续的数组,这个数组中的元素与地形网格中的顶点一一对应,且每一个元素都指定了地形风格的某个顶点的高度值。(另一种实现方案就是数值中的每一个元素指定每个三角形栅格的高度值,而不是顶点的高度值)。
高度图有多种可能的图形表示,其中最常用的是灰度图。地形中某一点海拔越高,那么对应灰度图中的亮度越大。地形中最低点将用0表示,最高点用255表示。但是这些高度值也不拘泥于0~255,就可以随心所欲构建我们心意的三维世界。
最常用的灰度图是RAW格式
高度图的制作一般有两种方式。
可以用某种算法生成,也可以通过图形编辑,三维建模或者专业制作地形的软件来制作。
类可以通过二进制类型的文件(raw格式)得到地形的高度信息。
地形顶点的计算
地形索引的计算