问题描述
|
我正在用WebGL(180网格)渲染与汽车模型(日产GTX)相对应的复杂场景。但是,当我四处移动相机时,好像缺少了三角形,
这些“缺失的三角形”似乎在表面上随机跳跃。这可能是深度缓冲区问题还是正常的计算问题?我不知道。
但是,如果我放大模型的表面附近,则所有三角形都存在。
有人遇到过这个问题吗?有小费吗?!
解决方法
我猜想,您有一个线框网格直接位于实体网格的顶部(或非常靠近),而这只是一个深度缓冲问题。它在放大时起作用,因为在查看视锥的附近区域,深度缓冲区的精度较高。
直接在实体网格顶部渲染线框覆盖时,尝试通过使用多边形偏移(或类似的片段着色器修改
gl_FragDepth
)来调整屏幕空间深度。或者只是将它们在对象空间中移得更远。
, 当您怀疑深度缓冲区问题时,您可能是对的-到相机的距离会影响事物的事实表明,这可能是缓冲区精度问题。查看此问题的答案,以寻求可能的解决方案。