首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL错误下溢变成了上溢?

OpenGL错误下溢变成了上溢?
EN

Stack Overflow用户
提问于 2010-12-14 05:26:00
回答 1查看 1.9K关注 0票数 0

我正在做一个只使用OpenGL的项目(确切地说,它曾经应该成为一款游戏),现在经过几周的开发,我偶然发现了用GL.GetError()捕获OpenGL错误的可能性。因为我不喜欢它只指出哪里出了问题,而不是哪里出了问题,所以我希望修复发生的错误。

因此,事情是这样的:当应用程序启动时,使用StackUnderflow的框架很少(三到四个),它会切换到StackOverflow并保持这种状态。

我检查了矩阵-Push-Pop一致性,没有发现任何未闭合的矩阵。有趣的是,据我所见,照明不起作用(不同物体的所有面都有非常相同的亮度)。

还有其他可能的原因吗?

(如果你想看源代码,在:http://galwarcom.svn.sourceforge.net/viewvc/galwarcom/trunk/galwarcom/上有很多)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-14 05:40:06

你需要在弹出之前设置矩阵模式,因为每种模式都有一个单独的堆栈。如果你这样做,它会下溢:

代码语言:javascript
复制
glMatrixMode(GL_MODELVIEW)
glPushMatrix(); 
... stuff with model view ...
glMatrixMode(GL_PROJECTION)
glPushMatrix() 
... stuff with project matrix ...
glPopMatrix()  // projection popped
glPopMatrix()  // projection again

您正在drawHUD()中执行类似的操作,可能是在其他地方。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4433636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档