2013-01-14 2 views
0

my application에서 동시에 여러 OpenGL 컨텍스트를 사용하려고합니다. 3 개의 UITableViewCell에 3 개의 OpenGL 컨텍스트가있는 다소 엉망인 설정입니다. UITableView 자체는 전체 화면 GLKView 위의 UIPopoverView에 표시됩니다 (아래 참조). 백그라운드의 컨텍스트는 OpenGL ES 2.0을 사용하고 있으며, 위에있는 작은 컨텍스트는 OpenGL ES 1.1을 사용합니다. 더 작은 컨텍스트는 동일한 공유 그룹의 구성원입니다. 배경에있는 것이 아닙니다.다른 API를 사용하는 다중 OpenGL 컨텍스트

놀랍게도 실제로는 의도 한대로 작동합니다. 매우 안정적입니다. 나는 문맥 중 하나에 대해서만 문제가 있으며 매우 드문 경우가 있습니다. 이 컨텍스트를 제거하면 모든 것이 잘 동작합니다. 드문 경우지만, [context presentRenderbuffer:GL_RENDERBUFFER_OES];으로 전화하면 예외가 발생합니다.

내 질문에 약간의 차이가 있지만이 상황에서 내가 무엇을 찾아야하는지 궁금합니다. OpenGL ES 1.1과 2.0을 동시에 사용하고있는 사람이 있습니까?

는 (필자는 OpenGL을 ES 분석기 악기 보았다하지만 심각한 보이는 아무것도 찾을 수 없습니다.)

Screenshot of the Exoplanet App

+2

일반적으로 평화적으로 공존 할 수있는 1.1 버전 2.0 문제는 아닙니다. 그림/선물을 할 때 잘못된 컨텍스트를 활성화 한 경우 가끔 있습니까? 'expectedContext == [EAGLContext currentContext]'가 현재보다 먼저 발생하는지 어설 션하는 방법이 있습니다. –

+0

나는 그 일을 꾸준히하고 있다고 생각하지만 다시 점검 할 것입니다. – hanno

+0

나는 네가 옳았다 고 생각한다 ;-). 확인 중 ... – hanno

답변

0

벤 Zotto 잘했다, 그것은 단순히 확인하고의 문제였다 올바른 상황이 모든 서브 루틴에 설정됩니다. 여러 컨텍스트가 있기 때문에 오류를 발견하기가 더 어려웠습니다. 잘못된 컨텍스트가 설정되어있는 잘못된 연산을 한 OpenGL보기가 충돌 한보기가 아닙니다.