6

私はXNAでプロジェクトに取り組んでおり、かなり大きなテクスチャを使用しています。これは、Texture2Dオブジェクトとしてゲームにロードし、ロードされているよりもはるかに小さい画面に描画します。これは、さまざまな場所にさまざまなサイズで描画する必要があります。これは複数のテクスチャで実行できますが、実際には実行できません。

私の問題は、XNAがこれらのTexture2Dオブジェクトを縮小してもアンチエイリアス処理しないように見えることです。私は設定しました:

graphics.PreferMultiSampling = true;

そしてまた

spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

しかし、役に立たない。また、GraphicsDeviceのフィルターに関連するさまざまなことを試しましたが、正直なところ、自分が何をしているかを実際には知りませんでした。

明らかに、私はこれをspriteBatchを使用して描いていますが、それを除けば、私が描いている方法で特に興味深いものは何もありません。

これが起こっていることの(拡大された)例であり、私が起こそうとしていることは次のとおりです。

実結果 望ましい結果

ご覧のとおり、XNAは、画像を再スケーリングするときにアンチエイリアシングを提供していません。エッジをきれいに見せるために、強制的にそうする方法はありますか?

4

1 に答える 1

2

が作成さgraphics.PreferMultiSampling = true;れる前に呼び出していますか? GraphicsDevice作成する前に、GameコンストラクターまたはInitialize().

于 2012-04-06T17:49:55.980 に答える