Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa OpenGL对共享视图数量的限制_Cocoa_Opengl_Textures_Cocotron - Fatal编程技术网

Cocoa OpenGL对共享视图数量的限制

Cocoa OpenGL对共享视图数量的限制,cocoa,opengl,textures,cocotron,Cocoa,Opengl,Textures,Cocotron,我最近刚刚在一个新的HP桌面上测试了我的openGL应用程序,该桌面上有一个内置的Intel HDG图形卡。在这台机器上测试时,我注意到在使用了一段时间后,我的许多纹理都被弄乱了 小背景:这个项目是使用Cocoa的NSOpenGLViews创建的,并使用一个名为Cocotron的开源项目来实现跨平台体验。我们有一个屏幕外的NSOpenGLView,用于对象、视图和窗口之间的纹理共享 经过进一步的调查,我意识到我的纹理问题是在打开32个OpenGLView之后出现的。我们有时在正常工作流程中创建这

我最近刚刚在一个新的HP桌面上测试了我的openGL应用程序,该桌面上有一个内置的Intel HDG图形卡。在这台机器上测试时,我注意到在使用了一段时间后,我的许多纹理都被弄乱了

小背景:这个项目是使用Cocoa的NSOpenGLViews创建的,并使用一个名为Cocotron的开源项目来实现跨平台体验。我们有一个屏幕外的NSOpenGLView,用于对象、视图和窗口之间的纹理共享

经过进一步的调查,我意识到我的纹理问题是在打开32个OpenGLView之后出现的。我们有时在正常工作流程中创建这么多openGlViews的原因是,我们使用内部带有openGlViews的透明窗口来完成视图之间openGl对象的拖放,并通过每次拖放创建和销毁一个新窗口

我还观察到,这个问题只出现在依赖纹理共享的对象上

所有这些发现都让我相信,无论出于何种原因,这张视频卡对任何一个视图可以共享的视图数量都有一个限制,而这个限制恰好是32个。这听起来合理吗?有没有人经历过这种问题


在我看来,Cocotron在没有正确处理glContext的情况下肯定会遇到一些问题,这就是为什么即使在openGLView的窗口关闭后,上下文仍然不符合这个理论上的共享视图限制。有没有办法手动切断共享?某种反wglShareLists?

将此信息发布在?我知道你可能没有写游戏,但那些家伙应该有丰富的OpenGL经验。据我所知,游戏论坛似乎主要是关于如何玩游戏,而不是关于OpenGL的挑战。对不起,我是说