我计划根据道路剖面使用 OSG(Openscenegraph)进行地形变形。道路网格已单独生成,我将其放在地形上。OSG 生成的地形必须根据道路轮廓自行变形。此外,必须将额外的几何图形添加到靠近道路边界的地形几何图形中,以实现平滑,因为地形四边形图块单元可能太大。
我试图想象这种情况,如下图所示。现在我看到的最好的方法是让 OSG 将地形图块生成为 OSGB 文件。我知道道路边界点。我可以算出一段路段会落在哪个地形上。假设我根据此图知道特定地形四边形图块的道路边界点:
现在我需要对落在道路路径上的地形瓦片单元进行镶嵌或细分。
因此我需要变形以及增加道路边界的地形网格。问题:实现这一目标的最佳方法应该是什么?
- 我可能会使用镶嵌着色器方法,但它可能会在我移动相机的任何地方进行镶嵌,而不是专门在道路边界处。也许创建一个灰度纹理运行时突出显示路面并将其传递给 Tess 着色器以在道路边界进行镶嵌?
- 我可能会使用带有缠绕顺序的旧 opengl GluTess 在道路通行的地形上切割孔。但如果单元格大小很大,这些可能会创建非常长的三角形。那么请任何人都可以给我一些指示来解决这个问题吗?顺便说一句,每个地形图块也有其道路切割片。
OpenGL / DirectX 中的任何帮助/建议也应该很有帮助。谢谢!