そして、正しく表示されていますか?例としては、背景に別のテクスチャを表示できる一方で、長方形に丸いボールを配置する場合があります。
編集:現時点では、テクスチャをロードすると、ソース画像の透明なピクセルが黒で表示されます。
そして、正しく表示されていますか?例としては、背景に別のテクスチャを表示できる一方で、長方形に丸いボールを配置する場合があります。
編集:現時点では、テクスチャをロードすると、ソース画像の透明なピクセルが黒で表示されます。
iPhone および N95 の場合、これは機能します。
生データからテクスチャをロードする場合は、内部およびソース形式を GL_RGBA に設定します。
glTexImage2D(GL_TEXTURE_2D, 0,
GL_RGBA,
textureWidth,
textureHeight,
0,
GL_RGBA,
GL_UNSIGNED_BYTE,
pointerToPixels);
レンダリングするときは、アルファ ブレンドを有効にします。
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
@Virne から提供された回答は正しく、いくつかの小さな変更を加えて Android デバイスで使用することができました。使用したmyImage
オブジェクトは、透明度のある標準の .png 画像です。
これを使用してテクスチャを作成しました:
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, myImage, 0);
そして (Virne のように) レンダリング時にアルファ ブレンドを有効にしました。
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glEnable(GL10.GL_BLEND);