Я работаю над проектом в XNA, и я использую довольно большие текстуры, которые я загружаю в игру как объекты Texture2D, а рисование на экране намного меньше, чем они загружены. Причина это то, что мне нужно рисовать их разных размеров в разных местах, и, хотя я мог бы делать это с помощью нескольких текстур, это непрактично.XNA: Масштабирование текстуры 2D-адиабаты?
Моя проблема заключается в том, что XNA не похоже на антиалиасы этих объектов Texture2D при их уменьшении. Я поставил:
graphics.PreferMultiSampling = true;
, а также
spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
Но безрезультатно. Я также пробовал различные вещи, связанные с фильтрами в GraphicsDevice, но, честно говоря, не зная, что я делаю.
Очевидно, что я рисую это, используя spriteBatch, но кроме этого ничего особо интересного в том, как я его рисую.
Вот (увеличенный) пример того, что происходит, и то, что я пытаюсь сделать случиться:
Как вы можете видеть, XNA не предоставляет каких-либо сглаживание при масштабировании изображение. Есть ли способ заставить меня сделать это, пытаясь заставить края выглядеть чище?
Я вызываю его в конструкторе игры после определения GraphicsDeviceManager (очевидно) и перед вызовом ApplyChanges(). – Hoeloe
Я также могу добавить, что независимо от того, где я его добавляю, это не имеет никакого значения. – Hoeloe