LibGDX でミップマップ フィルタリングを使用しようとすると、画像がまったく表示されません。
私は LibGDX を初めて使用し、3 つの回転するスケーリングされた円を含む単純な 2D シーンを持っています。それらをアンチエイリアスするために、線形フィルタリングを使用したいと考えました。アドバイスとして、私はこの記事を参照しました。この記事では、大幅にスケーリングされた画像の場合、ミップマップを使用して速度または品質を向上させることができると述べています。
最初の予想外の外観は、すべての画像が縮小されたという事実にもかかわらず、magFilter が線形である場合にのみ線形フィルターが表示されることでした。言い換えると:
このコードは、縮小された画像の線形フィルターを表示します。
parentTexture.setFilter(TextureFilter.Nearest, TextureFilter.Linear);
このコードはしません:
parentTexture.setFilter(TextureFilter.Linear, TextureFilter.Nearest);
これは libGDX 関数とは反対のようです:
void com.badlogic.gdx.graphics.Texture.setFilter(TextureFilter minFilter, TextureFilter magFilter)
これは、libgdx が間違っている (可能性は低い) か、記事が間違っている (可能性は低い) か、またはテクスチャ フィルターを理解していないことを示していることを除けば、私には問題ありません。後者は、mipmap フィルターを試すと特に可能性が高いようです。
このコードでは何も表示されません
parentTexture.setFilter(TextureFilter.MipMapLinearLinear, TextureFilter.Linear);
このコードは表示されますが、最も近いフィルタリングが適用されます
parentTexture.setFilter(TextureFilter.Linear, TextureFilter.MipMapLinearLinear);
私が間違っている場所の説明は大歓迎です。私は他の場所を検索しましたが、libGDX のテクスチャ フィルターは非常に具体的であるため、この記事を除けば、役立つ情報はあまり見つかりませんでした。