WebGL:移动相机时缺少三角形

时间:2011-06-04 02:14:12

标签: opengl-es 3d webgl

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

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

然而,如果我放大模型表面附近,所有三角形都在那里zoom

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

当您怀疑深度缓冲问题时,您可能是对的 - 相机距离影响事实表明它可能是缓冲精度问题。查看this question的答案,了解可能的解决方案。