0
我正在开发一个iphone游戏我使用多线程在屏幕上绘制多个对象,但我不清楚如何使用所有这些线程渲染特定的场景,我应该使用相同的FOB所有的线程来更新场景或有任何其他技术进行渲染使用多线程。请帮助下面给出 码现场(在单独的线程放置)给出了不良ACCES在opengles中使用多线程渲染场景
-(void)drawBricks1{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[EAGLContext setCurrentContext:context];
glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);
//glViewport(0, 0,backingWidth, backingHeight);
Image *ii=[[Image alloc]initWithImage:[UIImage imageNamed:@"s_2.png"]];
[ii renderAtPoint:CGPointMake(100, 100) centerOfImage:YES];
// Clear screen
//glClear(GL_COLOR_BUFFER_BIT);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
[pool release];
}// end of the drawb
但问题是,我做的计算就在同一个主线程游戏和在该线程中也有不同的渲染方法,因为这个我砍伐某种在iPhone3的延迟,但它在iPhone4的:)工作正常。 – Ali 2011-03-11 14:40:59
只要你在一个线程中保留所有的OpenGL操作,你就可以创建你喜欢的线程。如果多个线程同时访问一个OpenGL上下文,问题就开始了。 – datenwolf 2011-03-11 14:48:44
后来我提到的问题是,我不能够,如果船舶在一个线程中移动和球员的移动的其他线程现场从所有这些线程结合起来,例如,如何将这些结合起来,使一个场景 – Ali 2011-03-11 14:57:52