我可以使用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;
}
}];
其他信息。 在运行completionBlock的线程上,我获得了EXEC_BAD_ACCESS,其中包含以下内容
有没有人设法让这个工作?