我有一个3d网格,这是一个地形。这顺便运行得非常好,但我想让形状在这个地形上移动。这些形状在景观上是平坦的并且是斑点状的:它们可以改变形状并且应该遵循地形的轮廓和高度图。这些形状可以在景观上绘制或在其上流动,这并不重要。
形状意味着在地图上移动的军队,这应该是实时发生的!另外:它们是2d凸壳形状。此外,它们只是一种具有alpha值的颜色(如蓝色,alpha 0.25f)。
唯一的问题是:我无法弄清楚如何做到这一点,问题是:有谁能告诉我该怎么做?
我的第一个想法是复制地形顶点矩阵,将其向上推,使其位于地形顶部,将此缓冲区加载到VBO中,并根据所需的位置和形状更新索引缓冲区,然后画出形状。这是相当缓慢和低效的,特别是当形状在移动和变化时。此外,高度图的分辨率为175x175,因此运动并不是平滑而是锯齿状。
然后我想,但对这个区域来说是新手,将形状轮廓更新为地形的片段着色器,让着色器决定一个点是否位于该区域并相应地改变颜色。这也是一个非常缓慢的选择,但如果有人看到了潜力和一个好方法,请告诉我!
下一个选项是直接绘制到纹理,该纹理仍处于失败阶段。如果有人对如何将场景绘制到平坦区域并将其放在地形网格上有任何好的想法,那就太棒了!
那么,如果有人有解决方案在地形上绘制形状(或多个)?那将是真棒。提前谢谢!