Antworten:
Sie müssen den Sampler-Status einstellen. Die Standardeinstellung für SpriteBatch ist SamplerState.LinearClamp
(dh lineare Interpolation - die glatte / verschwommene).
Wählen Sie einen der SpriteBatch.Begin
Anrufe aus, die einen annehmen SamplerState
und übergeben SamplerState.PointClamp
(wählt das Pixel an diesem genauen "Punkt" aus).
Nur für den Fall, dass sich jemand anderes fragt, wie dies außerhalb eines Sprite-Stapels geschehen soll, würden Sie dies tun, bevor Sie Ihre Grundelemente rendern:
this.GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp;
Dies muss für jeden Frame durchgeführt werden, wenn sich andere Elemente in Ihrer Rendering-Pipeline befinden, die diesen Wert ändern würden (z. B. a SpriteBatch
).
SamplerState.PointWrap
Texture-Wrapping-Vorgang, bei dem die Texture-Filterung weiterhin deaktiviert ist. Wenn Sie Ihr eigenes benutzerdefiniertes Verhalten benötigen, können Sie ein neuesSamplerState
Objekt erstellen , das allen benutzerdefinierten Anforderungen entspricht, und dieFilter
Eigenschaft in ändernTextureFilter.Point
.