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.Beginappels qui prend un SamplerStateet 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.PointWrapsi 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 nouvelSamplerStateobjet pour répondre à tous les besoins personnalisés et modifier laFilterpropriété enTextureFilter.Point.