我正在使用OpenGL 4.0,我的场景中有3件事,他们是 -
1- VBO平面
2-立方体地图
3- 3D模型[3ds / obj]
我正在使用Assimp库来导入3D模型,我为了导入模型而构建的代码是在“TheCPlusPlusGuy”的youtube教程的帮助下完成的。
这是我面临的问题,我可以在我的场景中渲染飞机,我可以在我的场景中渲染立方体贴图,a.k.a。天空盒,我可以将它们渲染在一起。
但是当我渲染任何3D模型时,无论是.3ds还是.obj,屏幕都不会更新。即使我调整屏幕大小,它也不会更新。
这仅在我渲染3D模型时发生。我在运行时使用了标志并启用了绘制3D模型,程序运行正常,直到我渲染模型,一旦我渲染模型,模型本身不会出现在屏幕上,但屏幕再次冻结。
我用谷歌搜索了,但没有其他人似乎有这样的问题。
我的主要诊断是因为我使用VBO进行飞机,立方体贴图和3D模型我遇到了这个问题。
答案 0 :(得分:2)
以下是建议清单:
我确信你已经完成了很多这些事情,但我也很难完成这项任务。逐步完成将帮助您缩小问题范围。
答案 1 :(得分:1)
我正在使用Assimp在我的编辑器中导入模型,但Assimp仅用于读取模型和网格数据,并且值以我自己的模型/网格格式存储。我想我们都这样做了?我对Assimp没有任何问题,我也被认为应该在所有其他不透明物体之后渲染天空盒等,这样你就可以做一些技巧来减少渲染时间(天空盒被认为是最远的物体之一) )。
我倾向于同意巴特克的观点。 Assimp似乎与你遇到的问题无关,我会考虑重新设计你的渲染方法。
答案 2 :(得分:1)
渲染平面后,我忘了这样做 - >
glBindVertexArray(0);
之后,该计划就像一个魅力。