22 XNAで拡大しようとしているスプライトがありますが、XNAはそれを滑らかにして見苦しくする何らかのテクスチャフィルタリングを適用しています。補間の代わりにピクセルの倍増を行うだけです。どうすればそれを達成できますか? xna c# xna-4.0 sprites spritesheet — ダニエル・T ソース
28 サンプラーの状態を設定する必要があります。SpriteBatchのデフォルトはSamplerState.LinearClamp(つまり:線形補間-滑らかな/ぼやけたもの)です。 を取得して渡すSpriteBatch.Begin呼び出しの1つを選択します(その正確な「ポイント」でピクセルを選択します)。SamplerStateSamplerState.PointClamp — アンドリュー・ラッセル ソース
13 スプライトバッチの外でこれを行う方法を他の誰かが疑問に思っている場合に備えて、プリミティブをレンダリングする直前にこれを行います。 this.GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp; レンダリングパイプラインにこの値を変更する他のアイテムがある場合(aなどSpriteBatch)、すべてのフレームでこれを行う必要があります。 — ジョン・ギーツェン ソース 3 うん!また、完全を期すために、SamplerState.PointWrapテクスチャラップを(テクスチャフィルタリングを無効にしたまま)実行したい場合もあります。または、独自のカスタム動作が必要な場合SamplerStateは、カスタムニーズに合わせて新しいオブジェクトを作成し、Filterプロパティをに変更できますTextureFilter.Point。 — デヴィッドゴーベイア
SamplerState.PointWrap
テクスチャラップを(テクスチャフィルタリングを無効にしたまま)実行したい場合もあります。または、独自のカスタム動作が必要な場合SamplerState
は、カスタムニーズに合わせて新しいオブジェクトを作成し、Filter
プロパティをに変更できますTextureFilter.Point
。