我正在开发一个在 OpenGL ES 中使用大纹理的 iPad 应用程序。当场景首次加载时,我在天花板上看到了几帧的大型黑色伪像,如下图所示。就好像更高级别的 mipmap 尚未填充。在后续帧中,天花板正确显示。
当我开始使用 mipmapping 时,这个问题才开始出现。一种可能的解释是 glGenerateMipmap() 调用异步执行其工作,生成一些 mipmap 创建工作线程(在单独的进程中,或者可能在 GPU 中)并返回。
这是可能的吗,还是我找错了树?
在单个上下文中,所有操作都将严格按顺序执行。但是,在您最近的回复中,您提到使用第二个线程。为此,您必须创建第二个共享上下文:重新进入 OpenGL 上下文始终是非法的。如果已经使用共享上下文,则仍然必须遵循一些同步规则,记录在http://developer.apple.com/library/ios/ipad/#DOCUMENTATION/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/WorkingwithOpenGLESContexts/WorkingwithOpenGLESContexts.html http://developer.apple.com/library/ios/ipad/#DOCUMENTATION/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/WorkingwithOpenGLESContexts/WorkingwithOpenGLESContexts.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)