CCRenderTexture
我正在尝试在线程中绘制。我有:
EAGLSharegroup *sharegroup = [[[[CCDirector sharedDirector] openGLView] context] sharegroup];
EAGLContext *k_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2 sharegroup:sharegroup];
[EAGLContext setCurrentContext:k_context];
在线程的开头。除此之外,一切正常CCSprite.draw
。我已经测试了渲染纹理:
[rt beginWithClear:1 g:1 b:1 a:1];
[sprite visit];
[rt end];
调用[CCSprite visit]
不会绘制精灵。 glGetError
在所有步骤中返回 0。
为了进一步研究这个问题,我将所有内容都放在 UI 线程中,并删除了上下文调用,我将看到使用相同代码正确绘制的精灵。我还通过将此精灵添加到场景中来验证精灵是否正确。
即使我不使用线程,放置上面的“上下文设置调用”也会CCSprite.draw
停止工作,但只有在绘制到CCRenderTexture
. 如果它在屏幕上绘图,它工作正常。
任何想法如何解决这个问题?提前致谢!