CAEAGLLayer가있는 다른 스레드에 OpenGL ES 초기화를 넣었습니다. 다른 스레드의 OpenGL ES가 실제 장치에 그려지지 않습니다.
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1 sharegroup:group];
if (!context || ![EAGLContext setCurrentContext:context])
{
[self release];
}
// Create system framebuffer object. The backing will be allocated in -reshapeFramebuffer
glGenFramebuffersOES(1, &viewFramebuffer);
glGenRenderbuffersOES(1, &viewRenderbuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:eaglLayer];
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, viewRenderbuffer);
다음 버퍼 시뮬레이터에 표시된다
BOOL rel = [EAGLContext setCurrentContext:context];
drawPixels(backingWidth, backingHeight, framebuf1, texID);
rel = [context presentRenderbuffer:GL_RENDERBUFFER_OES];
스크리닝을 그리는하지만 기기, I 얻을 모두 검은 화면이다. 다른 설정이 필요합니까?
솔루션 찾기? 나는 시뮬레이터에서 훌륭하게 작동하는 동일한 문제를 가지고 있지만 장치에는 아무 것도 표시되지 않습니다. – Kekoa