绘制地形与深度测试



我试图在不平坦的地形上渲染几何形状(从highightmap/shapes几何体加载也是基于highightmap的平均高度生成的,但它们并不完全适合它)。我有以下的问题-有时地形显示通过形状,就像在图片上显示。

打开图片

我需要绘制地形和形状与深度测试启用,所以他们不会妨碍场景中的其他对象。有人可以建议一个解决方案,以确保形状总是呈现在顶部?把他们抬起来是不可行的……我需要替换地形上实际像素的颜色,在像素着色器中这样做似乎太昂贵了。

thanks in advance

我有一个类似的问题,我是这样解决的:

  • 你首先渲染地形并保持深度缓冲。不要渲染
  • 渲染你想要放在地形上的形状的实体边界框。
  • 你需要确保你的边界框覆盖所有形状覆盖的高度范围
  • 一种过度保守的估计是使用整个的全球最小和最大海拔地形
  • 在像素着色器中,读取深度缓冲区并重建世界空间位置
  • 检查这个位置是否在你的形状内
  • 在你的情况下,你可以检查它的xy (xz)投影是否在给定的距离内给定圆的圆心
  • 将此位置转换为形状的本地坐标系统并计算所需的颜色
  • Alpha-blend over渲染目标

这种方法产生的形状与地形表面完美对齐。它也不产生任何文物和工作与任何地形。可能的缺点是它需要使用延迟样式的阴影,我不知道你是否可以这样做。尽管如此,我还是希望这对你有帮助。

相关内容

  • 没有找到相关文章

最新更新