Проблема с использованием GLKTextureLoader и imageNamed: при загрузке одного и того же изображения несколько раз
Я получаю странное поведение, когда я использую следующий код для загрузки изображения несколько раз:
NSDictionary *options = @{GLKTextureLoaderOriginBottomLeft: @YES};
textureInfo = [GLKTextureLoader textureWithCGImage:[UIImage imageNamed:@"name"].CGImage
options:options
error:nil];
Это работает, как и ожидалось, когда я запускаю загрузку изображения в первый раз, но когда я пытаюсь загрузить то же изображение снова, оно рисуется вверх ногами.
Я думаю, что это связано с тем фактом, что это фактически тот же самый CGImage, который передается загрузчику текстур из-за использования imageNamed:. Поэтому обратное преобразование применяется второй раз к тому же изображению.
Есть ли способ обойти эту проблему?
1 ответ
Решение
Я думаю, вы могли бы перевернуть изображение и загрузить его в первый раз, когда ваша программа запускается.
Или не использовать imageNamed. Или сохраните текстуру в памяти, чтобы загрузить ее только один раз.