我可以使用 GLKTextureLoader 加载纹理,但是当我尝试在单独的线程上执行此操作时,我遇到了 EXEC_BAD_ACCESS 问题。
工作代码。
NSError *error;
GLuint textureName = self.textureImageInfo.name;
glDeleteTextures(GL_TEXTURE_2D, &textureName);
self.textureImageInfo =
[GLKTextureLoader textureWithCGImage:imageRef options:nil error:&error];
if( error )
{
NSLog(@"Image loading error. %@", error );
}
失败的代码。
self.textureLoader =
[[GLKTextureLoader alloc] initWithSharegroup:_context.sharegroup];
[self.textureLoader textureWithCGImage:imageRef options:nil queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0) completionHandler:^( GLKTextureInfo *textureInfo, NSError *error)
{
if( error )
{
NSLog(@"Image loading error. %@", error );
return;
}
}];
附加信息。在完成块正在运行的线程上,我使用以下内容获得 EXEC_BAD_ACCESS
有没有人设法让它工作?