【问题标题】:WebGL: missing triangles when moving cameraWebGL:移动相机时缺少三角形
【发布时间】:2011-06-05 16:56:51
【问题描述】:

我正在 WebGL(180 个网格)中渲染一个复杂的场景,对应于汽车模型(Nissan GTX)。但是,当我四处移动相机时,似乎缺少三角形,

这些“缺失的三角形”似乎在表面上随机跳跃。这可能是深度缓冲区问题还是正常计算问题?我不知道。

不过,如果我在模型表面附近放大,所有三角形都在那里。

有人遇到过这个问题吗?有小费吗?!

【问题讨论】:

    标签: opengl-es 3d webgl


    【解决方案1】:

    我想,你有一个线框网格直接位于(或非常靠近)实体网格的顶部,这只是一个深度缓冲问题。它在放大时起作用,因为视锥体附近区域的深度缓冲区精度更高。

    当直接在实体网格上渲染线框叠加时,尝试通过使用多边形偏移(或修改gl_FragDepth 的类似片段着色器)来调整屏幕空间深度。或者只是将它们移到更远的对象空间中。

    【讨论】:

    • 谢谢,我把透视矩阵中的zNear参数从0.1改成了10,问题就解决了!
    【解决方案2】:

    当您怀疑深度缓冲区问题时,您可能是对的 - 到相机的距离会影响事物这一事实表明这可能是缓冲区精度问题。查看this question 的答案以获得可能的解决方案。

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多