Проблема с использованием GLKTextureLoader и imageNamed: при загрузке одного и того же изображения несколько раз

Я получаю странное поведение, когда я использую следующий код для загрузки изображения несколько раз:

NSDictionary *options = @{GLKTextureLoaderOriginBottomLeft: @YES};
textureInfo = [GLKTextureLoader textureWithCGImage:[UIImage imageNamed:@"name"].CGImage 
                                           options:options
                                             error:nil];

Это работает, как и ожидалось, когда я запускаю загрузку изображения в первый раз, но когда я пытаюсь загрузить то же изображение снова, оно рисуется вверх ногами.

Я думаю, что это связано с тем фактом, что это фактически тот же самый CGImage, который передается загрузчику текстур из-за использования imageNamed:. Поэтому обратное преобразование применяется второй раз к тому же изображению.

Есть ли способ обойти эту проблему?

1 ответ

Решение

Я думаю, вы могли бы перевернуть изображение и загрузить его в первый раз, когда ваша программа запускается.

Или не использовать imageNamed. Или сохраните текстуру в памяти, чтобы загрузить ее только один раз.

Другие вопросы по тегам