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