注意:以下の文章は、XNA公式サンプル「スプライト シート(SpriteSheetSample_JA.zip)」に付属する「SpriteSheet.htm」の一部抜粋です。
 

テクスチャー フィルタリング

スプライト シートを使用する場合、あるスプライトの端のピクセルが他のスプライト上ににじみ出ることがあります。これは多くの場合、スプライトをスケーリングまたは回転しているときに起こります。この原因は、グラフィック カードが、フィルタリングを適用して、隣接したピクセル同士の値を平均することによってエイリアシングを減らすためです。あるスプライトの隣に色が大きく異なる別のスプライトが並べられた場合、このフィルタリングにより、その別の色がある程度誤って計算されることがあります。このため、スプライトの端に沿って見栄えの悪い境界が生じます。

このサンプルで実装したスプライト シートのプロセッサは、シート上に並べるときに各スプライトの端の周囲に 1 ピクセルのパディングを含めることによって、自動的にこのフィルタリング問題を回避します。SpritePacker.CopySpritesToOutput メソッドは、スプライトの端の色で、この境界領域を埋めます。グラフィック カードがスプライト自体の少し外側から値をフィルタリングした場合でも、許容できる見栄えになります。

inserted by FC2 system