高度图计算原理

三维场景中经常创建地形,地形的生成,一般使用高度图来做。

高度图

高度图(height map)常见的是用灰度图的形式表示,也可以通过其他形式表示,比如声音流等。主要的目标是提供一个数组,数组中的每个元素都制定地形方格中一对应点的高度值,地形渲染器通过高度图创建三维地形。

灰度图

灰度(grayscale)是指黑色和白色的颜色深度,范围是0~255,0表示黑色,255表示白色。随意黑白照片也称灰度图。
可以类比DPI(每平方英寸上有多少像素点),像素点越多,图像的精准度越高,同时文件的尺寸也越大。

灰度值计算方法

有五计算方法,假设某点的颜色位RGB(R、G、B):

  1. 浮点算法:Gray = R * 0.3 + G * 0.59 + B * 0.11
  2. 整数方法:Gray = (R * 30 + G * 59 + B * 11)/100
  3. 移位方法:Gray = (R * 28 + G * 151 + B * 77)>>8
  4. 平均值法:Gray=(R+G+B)/3
  5. 只取绿色:Gray=G
    得到Gray之后,用Gray替换原来的(R、G、B)得到(Gray、Gray、Gray)即为灰度图。

CLOD算法

CLOD:Contunuous Level Of Detail,即连续层次细节,再不影响画面视觉效果的条件下,通过逐次简化景物的表面细节,减少场景的集合复杂性,从而提高绘制算法的效率。
CLOD技术通常对每一个原始多面体模型建立几个不同逼近精度的集合模型,与原模型相比,每个模型均保留一定层次细节。再绘制时,更具不同的标准选择适当的层次模型表示物体。

你可能感兴趣的:(高度图计算原理)