1

Rajawaliと呼ばれる Android 用の 3D グラフィックス フレームワークを見つけ、その使用方法を学んでいます。テクスチャ用に 1024x512 サイズの jpg 画像を使用して shpere オブジェクトをレンダリングする最も基本的なチュートリアルに従いました。Galaxy Nexus では問題なく動作しましたが、Galaxy Player GB70 では動作しませんでした。

うまくいかなかったというのは、オブジェクトは表示されますが、テクスチャがレンダリングされないということです。最終的に、テクスチャを作成するときに Rajawali フレームワークに使用するいくつかのパラメーターを変更し、それが機能するようにしました。これが私が見つけたものです。

原因は、GL_TEXTURE_MIN_FILTER設定されていた場所にありました。次の 4 つの値のうち

GLES20.GL_LINEAR_MIPMAP_LINEAR
GLES20.GL_NEAREST_MIPMAP_NEAREST
GLES20.GL_LINEAR
GLES20.GL_NEAREST

テクスチャは、GL_TEXTURE_MIN_FILTERmipmap を使用するフィルターに設定されていない場合にのみレンダリングされます。したがってGL_TEXTURE_MIN_FILTER、最後の2つに設定すると機能します。

今、ここに私が理解していない、そして興味があるものがあります。テクスチャとして使用している画像をサイズ 512x512 に縮小すると、GL_TEXTURE_MIN_FILTER設定は問題になりません。最小フィルターの 4 つの設定すべてが機能します。

私の質問は、テクスチャに最小フィルターを使用する場合、画像の寸法に関する要件はありますか? 正方形の画像を使用する必要がありますか? ラップスタイルやマグフィルターの構成など、他のことが問題になることはありますか?

それとも、デバイスの OpenGL 実装のバグのように見えますか?

4

1 に答える 1