【问题标题】:opengl black artifacts between meshes网格之间的opengl黑色伪影
【发布时间】:2013-08-11 15:12:25
【问题描述】:

我正在使用 libgdx 和 opengl es 2 做一些事情。我使用网格来绘制表格。网格围绕 x 和 y 轴镜像四次以创建表格的四个部分。 问题是在某些设备上,这些网格之间有一条黑线。在其他一些设备中,一切都很好。我还需要提一下,如果视口垂直于桌子表面(从顶部看),则工件是不可见的。我启用了 DITHERing 没有任何效果。我尝试使用多重采样,但这也没有任何区别,或者我做得不对。 我附上了渲染工件的屏幕截图。 我可以发送代码,但我不确定哪个部分可能感兴趣。请帮忙?

【问题讨论】:

  • 网格由多少个三角形组成?它有 z 分量吗?
  • 它有一个 z 分量。我不确定三角形的数量,但不是大数字。就像每个四边形表面都有两个,中间部分每个部分有两个,如果你明白我的意思的话。

标签: opengl-es opengl-es-2.0 libgdx


【解决方案1】:

看起来像一个 z 战斗神器。您最好使用单个组合表格网格,并将其所有 4 个部分的顶点焊接在一起。

【讨论】:

  • 绿色多边形和绿色多边形 z 交战不会导致绿色像素吗?
  • 由于缺乏精度,您仍然可以看到不完美的边缘光栅化。我相信,您看到的要么是黑色透明色,要么是桌子后面的一些黑色几何图形。您可以尝试在桌面后面放置一些颜色鲜艳的几何图形,以检查您是否可以“看穿”那里的黑线。如果你这样做了,那么你有 z-fighting 由于缺乏 z-buffer 精度。
  • 线框截图可能会有所帮助。请问您也可以提供吗?我想你可能在一个顶点上有 T 或 Y 几何连接。
  • 我看不出在它后面放置不同的颜色几何图形如何证明它是 z-fighting。如果它改变颜色,它仍然可能是不同的东西。我认为禁用深度测试将是测试您的理论的更确凿的方法。
  • 感谢 cmets。我会试试看。我注意到的一件事是,当视点位于桌子的一侧时它们是可见的,但是当我将视图旋转到另一侧时,它们是不可见的。所以它看起来不太像z战斗。我不确定
猜你喜欢
  • 1970-01-01
  • 2016-05-24
  • 1970-01-01
  • 1970-01-01
  • 2018-08-26
  • 2022-01-21
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
相关资源
最近更新 更多