1

CG API を検索しましたが、特定の画像のピクセルのサブセットのみを読み込む方法が見つかりませんでした。

実行時にopenGLに非常に大きな画像をロードする必要があります(要件は、コンパイル時にサイズを変更できないことです)。テクスチャのサイズが大きすぎる (> GL_MAX_TEXTURE_SIZE) ので、openGL が文句を言わないように他の小さな画像に分割します。

今、これは私が大きな画像をロードするためにしていることです:

NSData *texData = [[NSData alloc] initWithContentsOfFile:textureFilePath];
UIImage *srcImage = [[UIImage alloc] initWithData:texData];

そして、CGImageCreateWithImageInRect() を使用して CG を使用して画像を分割し、openGL に送信する準備が整いました。

問題は、iPod touch で、大きな画像を読み込んだ後にメモリを大量に消費するため、アプリがクラッシュしたことです。メモリの巨大なピークを作成することなく、関心のあるピクセルのみをロードしたいと思います。その後、メモリを解放して、必要な次のチャンクをロードできます。それが可能かどうか誰かが知っていますか?

4

0 に答える 0