私はXNAでプロジェクトに取り組んでおり、かなり大きなテクスチャを使用しています。これは、Texture2Dオブジェクトとしてゲームにロードし、ロードされているよりもはるかに小さい画面に描画します。これは、さまざまな場所にさまざまなサイズで描画する必要があります。これは複数のテクスチャで実行できますが、実際には実行できません。
私の問題は、XNAがこれらのTexture2Dオブジェクトを縮小してもアンチエイリアス処理しないように見えることです。私は設定しました:
graphics.PreferMultiSampling = true;
そしてまた
spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
しかし、役に立たない。また、GraphicsDeviceのフィルターに関連するさまざまなことを試しましたが、正直なところ、自分が何をしているかを実際には知りませんでした。
明らかに、私はこれをspriteBatchを使用して描いていますが、それを除けば、私が描いている方法で特に興味深いものは何もありません。
これが起こっていることの(拡大された)例であり、私が起こそうとしていることは次のとおりです。
ご覧のとおり、XNAは、画像を再スケーリングするときにアンチエイリアシングを提供していません。エッジをきれいに見せるために、強制的にそうする方法はありますか?