使用3D对象的Inconsistant OpenGL渲染错误

时间:2017-03-13 23:48:42

标签: c++ opengl game-engine

所以我一直在抨击我的代码一段时间,试图解决这个错误,完全没有进展。

主要是由于这个错误是完全随机和不可预测的。

因此,当一切正常时,这就是场景的工作方式

enter image description here

当虫子出现时

enter image description here

正如您所看到的,该错误只会阻止我的立方体贴图天空盒,模型和光源网格渲染,但正射投影的2d元素就可以了。

我已经排除了着色器,因为即使是最简单的着色器程序仍然会遇到这个问题。我使用ASSIMP加载网格文件和SOIL来加载纹理,但直到大约一天前它们才能完美地工作。

当发生这种情况时,绝对没有模式,解决它的唯一方法是继续重新启动程序,直到出现所需的输出。这显然不是一个好的解决方案。我完全失去了并需要帮助,因为opengl没有推出任何错误。我不知道从哪里开始寻找解决方案。 EBO或帧缓冲区会导致这种情况吗?我最近开始实施这些。

我已经广泛搜索了与此相关的任何内容,但到目前为止我还没有提出任何建议。

TL; DR:3D对象不会仅在某些运行中呈现,而在其他运行中也能正常工作,最近实现的帧缓冲区和EBO可能出现问题。

1 个答案:

答案 0 :(得分:0)

更新:

事实证明,我的Camera类中的鼠标外观代码导致了一些奇怪的问题,即计算摄像机角度的变化会导致它被设置为非常高的负值。转动鼠标永久解决问题。