Загрузка текстур из viewDidLoad работает нормально. Но если я попытаюсь загрузить их из обновления GLKViewController
, я получу ошибку. Я делаю это, потому что хочу заменить новую фоновую текстуру без изменения вида.
Это работало до последнего обновления. Возможно, мне повезло с таймингами. Я подозреваю, что он терпит неудачу, потому что какой-то поток занят или что-то в этом роде?
Вот ошибка полностью.
Domain=GLKTextureLoaderErrorDomain Code=8 "Операция не может быть завершена. (Ошибка GLKTextureLoaderErrorDomain 8.)" UserInfo=0x10b5b510 {GLKTextureLoaderGLErrorKey=1282, GLKTextureLoaderErrorKey=Ошибка OpenGL}
Итак, вопрос в том, могу ли я безопасно загрузить текстура из функции обновления GLKViewController
? Или мне нужно переосмыслить свой подход и перезагрузить все представление или что-то в этом роде?
Вот моя функция:
-(void) LoadTexture:(NSString *)texture textureInfo:(GLKTextureInfo**)textureInfo
{
NSString *path = [[NSBundle mainBundle] pathForResource:texture ofType:@"png"];
NSError *error = nil;
(*textureInfo) = [GLKTextureLoader textureWithContentsOfFile:path options:nil error:&error];
NSLog(@"path %@", path);
if(!(*textureInfo))
{
NSLog(@"Failed to load texture %@ %@", texture, error);
}
else
{
NSLog(@"LOADED Texture %@ !!! YAY!!! ", texture);
}
}
Спасибо,
Давид