XNA:Уменьшение масштаба 2D-сглаживания текстуры?

Я работаю над проектом в XNA и использую довольно большие текстуры, которые загружаю в игру как объекты Texture2D, и рисую на экране намного меньше, чем они загружены. Причина этого в том, что мне нужно рисовать их разных размеров в разных местах, и, хотя я мог бы сделать это с несколькими текстурами, это непрактично.

Моя проблема в том, что XNA не сглаживает эти объекты Texture2D при уменьшении их масштаба. Я ставил:

graphics.PreferMultiSampling = true;

а также

spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

Но безрезультатно. Я также пробовал разные вещи, связанные с фильтрами в GraphicsDevice, но, честно говоря, толком не понимал, что делаю.

Очевидно, я рисую это с помощью spriteBatch, но кроме этого, ничего особенно интересного в том, как я это рисую.

Вот (увеличенный)пример того, что происходит и что я пытаюсь реализовать.:

Actual ResultDesired Result

Как видите, XNA не обеспечивает никакого сглаживания-алиасинга при масштабировании изображения. Есть ли способ заставить его сделать это, чтобы края выглядели чище?

6
задан Hoeloe 6 April 2012 в 23:13
поделиться