2

PNG の代わりに PVRTC 画像を使用しようとしています。問題は、それらを地図で見ることができないことです。

これが私のコードです:

glGenTextures(1, &bg1Texture);
glBindTexture(GL_TEXTURE_2D, bg1Texture);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

NSString *path = [[NSBundle mainBundle] pathForResource:@"starfield_00" ofType:@"pvr"];
NSData *texData = [[NSData alloc] initWithContentsOfFile:path];

glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, 512, 512, 0, [texData length], [texData bytes]);

[texData release];

このコマンドを使用して、圧縮テクスチャを作成します。

texturetool -e PVRTC --bits-per-pixel-2 -o starfield_00.pvr -f PVR starfield_00.png 

glGetError()は 1281 を返します (テクスチャのバインドに失敗しました)。ただし、glIsTexture()で確認すると、true が返されます。

何か案は?ああ、私はiPhoneでOpenGL ESを使用しています。

4

1 に答える 1

2

エンコーディング手順から-f PVRオプションを削除した後、テクスチャをロードして RGBA オプションで表示することができました。興味深いことに、このエンコーディング コマンド ラインは、Apple のサンプル プログラムの 1 つから取られたものです...

于 2009-07-24T06:35:24.213 に答える