3

我可以使用 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 在此处输入图像描述

有没有人设法让它工作?

4

0 回答 0