Graphics 如何在屏幕上绘制高度图?

Graphics 如何在屏幕上绘制高度图?,graphics,directx,simulation,directx-10,Graphics,Directx,Simulation,Directx 10,我正在使用DirectX10模拟水面,现在我有了一个高度贴图,它是点(x,z)处高度(y)的二维数组。但要在屏幕上绘制它,我必须将它转换为网格或有一个索引来绘制三角形拓扑 但数据太大,无法手动完成。有什么方法可以让我在屏幕上画出来吗。我希望它很容易实现。如果DirectX10中包含的功能可以制作网格,那么它对我来说是最好的。我相信您可以用它制作网格。我怀疑你能为太大而无法“网格化”的水面生成高度图 你为什么要看钻石广场。对于512x512高度贴图,您只需定义一组点,然后为其生成三角形。这真的很简

我正在使用DirectX10模拟水面,现在我有了一个高度贴图,它是点(x,z)处高度(y)的二维数组。但要在屏幕上绘制它,我必须将它转换为网格或有一个索引来绘制三角形拓扑


但数据太大,无法手动完成。有什么方法可以让我在屏幕上画出来吗。我希望它很容易实现。如果DirectX10中包含的功能可以制作网格,那么它对我来说是最好的。

我相信您可以用它制作网格。我怀疑你能为太大而无法“网格化”的水面生成高度图


你为什么要看钻石广场。对于512x512高度贴图,您只需定义一组点,然后为其生成三角形。这真的很简单。

我相信你可以用它做一个网格。我怀疑你能为太大而无法“网格化”的水面生成高度图


你为什么要看钻石广场。对于512x512高度贴图,您只需定义一组点,然后为其生成三角形。这真的很简单。

创建一个网格,形成一个正方形网格(每个正方形由两个三角形组成),并设置所有顶点y=0。在顶点着色器中,对高度贴图进行采样,并将高度贴图中存储的值添加到垂直方向的y轴上


附言:如果你想要覆盖的区域太大,你应该看看地形LOD技术(对于水来说应该是一样的)。

创建一个网格,形成一个正方形网格(每个网格由两个三角形组成),并设置所有顶点y=0。在顶点着色器中,对高度贴图进行采样,并将高度贴图中存储的值添加到垂直方向的y轴上


注:如果你想让它覆盖的区域太大,你应该看看地形LOD技术(对于水来说应该是一样的)。

我刚刚发现了一种称为菱形正方形方法的方法,它可以生成高度图。我已经生成了一个512*512的。事实上,你可以从中得到一个更大的。但是我怎样才能对它进行网格划分呢?我刚刚发现了一种称为菱形正方形法的方法,它可以生成高度图。我已经生成了一个512*512的。事实上,你可以从中得到一个更大的。但是我怎么能把它网格化呢?嗯…当我说“太大”的时候,我的意思是我自己不能用手输入类型。嗯…当我说“太大”的时候,我的意思是我自己不能用手输入类型。