首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OpenGL中遮罩地形表面的一个区域

在OpenGL中遮罩地形表面的一个区域
EN

Stack Overflow用户
提问于 2019-11-05 17:03:28
回答 1查看 80关注 0票数 1

我正在开发一个3D地理渲染器,在地形表面上构建模型。这些建筑模型是通过摄影测量捕获的,我们遇到的一个问题是,由于表面数据和建筑模型不完全匹配,地形表面有时会穿透建筑模型。

我们希望遮罩建筑模型迹线覆盖的区域中的地形表面。我一直在考虑使用模板缓冲区,也许在渲染模型之前,从模型中挤出某种阴影体积,并在建筑模型的轮廓覆盖的区域用高值填充z缓冲区。这将需要相当多的处理,我希望有更智能和更有效的方式来做事情。另一个想法是制作从上面渲染的模型的正交2d纹理,并使用着色器以某种创造性的方式填充z缓冲区。

因此,如果有人以前做过类似的事情或有任何想法,我真的很高兴听到他们:-)

我被限制在OpenGL ES 3.0,所以我不能使用几何体着色器或其他花哨的功能。

干杯,托马斯

EN

回答 1

Stack Overflow用户

发布于 2019-11-06 01:19:26

您必须了解地形网格以及建筑物在地形上的实际位置。最明显的解决方法是对地形网格进行预处理,以“扁平”每个建筑基础周围的区域。这只需要做一次,所以这只是一次性的成本,而不是每帧的成本。

我想不出任何直接明显的更整洁的方法-深度测试的需要,除非你不想要它,不会真正很好地转变为算法;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58707781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档