你渲染地形的方式是什么?

时间:2011-02-19 09:41:59

标签: c++ directx terrain

我想知道你如何在directx中渲染地形 我听说有人说他们正在使用RAW文件,有些人说他们正在使用.x文件。我们的方式是什么,为什么它好?

2 个答案:

答案 0 :(得分:1)

许多3D引擎使用height maps渲染地形,因为它们的空间效率(只需要一个光栅图像)。

答案 1 :(得分:1)

MY 这样做的方法是用我的小波压缩系统压缩一个巨大的纹理(128Kx128K),以获得~150:1的压缩。然后我从磁盘加载纹理块。即世界被分成多个256x256块(实际上它是与摄像机距离的mipmap)。我使用摄像机位置在摄像机位置周围加载多个块。

然后我计算出可见的块并绘制它们。为此,我将高度数据直接用作馈入顶点着色器的流。然后我有一个网格,其中顶点位置对应于高度流中的高度位置。然后我可以简单地将y拉出高度图流并将其放在我的着色器中的y位置。

它是一种非常复杂的渲染地形的方式,但你确实问过“你”是怎么做的;)

PS 128,000x128,000的奖金是我以米精度获得128公里的地形:D