Risposte:
È necessario impostare lo stato del campionatore. L'impostazione predefinita per SpriteBatch è SamplerState.LinearClamp(ovvero: interpolazione lineare - quella liscia / sfocata).
Scegli una delle SpriteBatch.Beginchiamate che accetta a SamplerStatee passa SamplerState.PointClamp(seleziona il pixel in quel "punto" di precetto).
Nel caso in cui qualcun altro si stia chiedendo come farlo al di fuori di un batch di sprite, lo faresti appena prima di rendere le tue primitive:
this.GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp;
Questo deve essere fatto su ogni frame, se nella pipeline di rendering sono presenti altri elementi che potrebbero modificare questo valore (come a SpriteBatch).
SamplerState.PointWrapcaso in cui desideri che avvenga il wrapping delle trame (pur disabilitando il filtro delle trame). Oppure, se hai bisogno del tuo comportamento personalizzato, puoi creare un nuovoSamplerStateoggetto per adattarlo a qualsiasi esigenza personalizzata e modificare laFilterproprietà inTextureFilter.Point.