0

想像してみてください、256x256 と呼ばれる画像 (XNA の Texture2D) がありますが、アプリケーションで 64x64 のサイズで使用したい場合があります。

通常の Windows フォームまたは WPF アプリケーションで、画像のサイズを変更する必要がある場合、サイズ変更を 1 回だけ行う必要があるように、フィールドに格納する必要があることを学びました。ゲームループで何度もサイズを変更すると、パフォーマンスが大幅に低下します。

XNA でもそれを行う必要がありますか? 私はそれについて何も見つけられませんでした。スプライトバッチで描画するときにテクスチャのサイズを変更できますが、それは今説明したのと同じです。フィールドで一度だけではなく、フレームごとにテクスチャのサイズを変更します。XNAでスプライトバッチなしでtexture2dのサイズを変更する方法さえ知りません。

4

2 に答える 2

0

最新のハードウェアでは、テクスチャを手動でサイズ変更する必要はほとんどなく、ハードウェアがすべて自動的に行います。ただし、ミップマッピングを使用していることを確認する必要があります。そうしないと、結果が非​​常にエイリアスになります。

現在のテクスチャでミップマッピングが有効になっている場合、ロード時にサイズが変更されます。トリリニア フィルタリング レンダリング ステートが有効になっていることを確認し、必要なサイズを描画すると、最適なサイズ変更されたテクスチャの組み合わせが自動的に使用されます。

于 2012-07-25T15:47:56.770 に答える
0

元のテクスチャのサイズを変更したコピーを作成する理由はありません。好きな大きさで描いてください。元の画像とは異なるサイズでテクスチャを描画することは、最新のグラフィックス ハードウェアでは基本的に無料です。

于 2012-07-25T15:34:47.103 に答える