使用GLKTextureLoader和imageNamed时出现问题:多次加载相同的图像时

时间:2012-12-20 22:51:21

标签: ios opengl-es glkit imagenamed glktextureloader

当我使用以下代码多次加载图像时,我会遇到奇怪的行为:

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

当我第一次运行加载图像时,它按预期工作,但是当我尝试再次加载相同的图像时,它被颠倒了。

我认为这与以下事实有关:由于使用了imageNamed,它实际上是传递给纹理加载器的相同CGImage。因此,翻转变换第二次应用于同一图像。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我想你可以翻转图像,并在程序启动时第一次加载它。

或者不使用imageNamed。或者将纹理保留在内存中,这样你只需要加载一次。