1

以下のコードに従って、GLKitを使用してtexture.pngテクスチャをロードしています。

    // Setup texture       
CGImageRef imageRef = [[UIImage imageNamed:@"texture.png"] CGImage];
GLKTextureInfo texInfo = [GLKTextureLoader textureWithCGImage:imageRef options:nil error:NULL];

glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texInfo.name);


// Set parameters that control texture sampling for the bound
// texture
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, texInfo.width, texInfo.height, 0, GL_RGB, GL_UNSIGNED_BYTE, XXXX);

XXXXは、メモリ内の画像データへのポインタを指定するデータです。問題は、GLKitを使用してテクスチャをロードしているのに、アップルのドキュメントでGLKTextureInfoクラスからデータを取得する方法が見つからなかったことです。誰かが私がそれを修正する方法を知っていますか?

4

1 に答える 1

3

を呼び出し[GLKTextureLoader textureWithCGImage:options:error:]た場合は、ビットマップ データをアップロードする必要はありません。すでに起こっているので、への呼び出しglTexImage2D()は不要です。

于 2013-01-19T06:56:06.840 に答える