2011-10-28 15 views
2

テクスチャにビットマップを使用する場合、テクスチャからメモリを節約するために、このビットマップができるだけ小さいことを確認する必要がありますか? (Ofcourseは、テクスチャが作成された後にBitmap自体を破棄します)。または、512x512のbmpを使用するだけで、OpenGLが自動的に小さなサイズに基づいたテクスチャを作成することができます(ブレイクアウトゲームでボールになるためです)。OpenGLテクスチャの解像度は自動的に縮小されますか?

ldpiの携帯電話からタブレット(Androidなど)まで、複数の解像度で使用する場合は、ビットマップの完全なサイズを計算するのに時間がかかります。または、512,256,128のように、同じ画像に対して異なるサイズの画像を作成する必要があります。 。 。 ?

答えて

1

アンOpenGLのテクスチャを使用すると、(たとえば、glTexImage2Dを使用して)するためにそれを作成すると同じ大きさです。ビットマップからテクスチャを作成する場合は、テクスチャをビットマップと同じ大きさにするか、ビットマップデータを何らかの形で縮小します。 OpenGLがアプリケーションの最適なテクスチャサイズを自動的に知るにはどうすればいいですか。

あなたが実際に自動ミップマップ生成について話しているなら、これは可能です。あなたはSalvatoreの答えを見てください。しかし、実際にあなたのテクスチャに最適なサイズを選択し、完全に異なるサイズの画像を使ってデータを初期化するOpenGLについて言えば、それは間違いありません。

+0

[OK]を、OpenGL自動的にサイズ変更私のちょっと愚かでしたが、ミップマップは、私が探しているものではありません、それは2Dのみのゲームだからです。私は今、スケールダウンされたBMPに行くつもりです。 – user717572

+0

もし、フィッティングの答えがなければ、どうすればいいですか? – user717572

+0

@ user717572あなたは質問を受け入れないままにしておいてもよいでしょう。私はちょっと自己興味があるように聞こえますが、実際にあなたの質問に正しく答えました。あなたは、OpenGLがビットマップを自動的にテクスチャとして縮小することができるかどうかを知りたいと思っていました。この答えが欲しいのであれば、私は正しい答えを返しました。それとも、答えに不明瞭な点がありますか?その後、お気軽にお問い合わせください。 –

1

あなたはミップマップの生成について話していますか? http://www.swiftless.com/tutorials/opengl/mipmap_generation.html

このページでは、gluライブラリを使用してコンピュータアプリケーションでミップマップを生成する方法の一般的な例を示します。私は本当にアンドロイド(まだ)についてはあまりよく分かりませんが、OpenGLにはミップマップを使用しないでください。 ミップマップを使用すると、パフォーマンスとレンダリングの両方の品質が向上します。 512x512ピクセルのラムミップマップでは、画像に大きなメモリがありません。 最大のレベル数を使用して512x512,256x256,128x128,64x64,32x32,16x16,8x8,4x4,1x1の同じ画像を読み込みますが、最初の3または4レベルだけを保存することもできます。 ramの量が指数関数的に減少するので、追加するレベルが増えるほど、レベルが上がるほど文字通りメモリの一部のバイトだけが消費されます。

も参照してくださいこの質問http://www.gamedev.net/topic/611182-android-and-mipmaps/

関連する問題