Respostas:
Você precisa definir o estado do amostrador. O padrão para SpriteBatch é SamplerState.LinearClamp
(ou seja: interpolação linear - a suave / embaçada).
Escolha uma das SpriteBatch.Begin
chamadas que recebe SamplerState
e passa SamplerState.PointClamp
(seleciona o pixel no "ponto" do preço).
Caso alguém esteja se perguntando como fazer isso fora de um lote de sprites, você faria isso antes de renderizar suas primitivas:
this.GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp;
Isso deve ser feito em todos os quadros, se houver outros itens em seu pipeline de renderização que alterem esse valor (como a SpriteBatch
).
SamplerState.PointWrap
se você deseja que a quebra de textura ocorra (enquanto ainda desativa a filtragem de textura). Ou, se você precisar de seu próprio comportamento personalizado, poderá criar um novoSamplerState
objeto para atender a quaisquer necessidades personalizadas e alterar aFilter
propriedade paraTextureFilter.Point
.