Réponses:
Vous devez définir l'état de l'échantillonneur. La valeur par défaut pour SpriteBatch est SamplerState.LinearClamp
(c'est-à-dire: interpolation linéaire - celle lisse / floue).
Choisissez l'un des SpriteBatch.Begin
appels qui prend un SamplerState
et passe SamplerState.PointClamp
(sélectionne le pixel à ce "point" de précision).
Juste au cas où quelqu'un d'autre se demanderait comment faire cela en dehors d'un lot de sprites, vous le feriez juste avant de rendre vos primitives:
this.GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp;
Cela doit être fait sur chaque image, s'il y a d'autres éléments dans votre pipeline de rendu qui changeraient cette valeur (comme a SpriteBatch
).
SamplerState.PointWrap
si vous souhaitez que le wrapping de texture ait lieu (tout en désactivant le filtrage de texture). Ou si vous avez besoin de votre propre comportement personnalisé, vous pouvez créer un nouvelSamplerState
objet pour répondre à tous les besoins personnalisés et modifier laFilter
propriété enTextureFilter.Point
.