Ошибка GLKTextureLoader при вызове из обновления

Загрузка текстур из 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);
    }
}

Спасибо,

Давид

6
задан Atulkumar V. Jain 12 July 2012 в 06:55
поделиться