[英]XNA: Scaling down Texture 2D antialias?
我正在 XNA 中做一個項目,我正在使用一些相當大的紋理,我將它們作為 Texture2D 對象加載到游戲中,並在屏幕上繪制比它們加載時小得多。原因是我需要在不同的地方以各種不同的尺寸繪制它們,雖然我可以使用多種紋理來做到這一點,但這樣做是不切實際的。
我的問題是 XNA 在縮小這些 Texture2D 對象時似乎沒有消除它們的鋸齒。 我已經設定:
graphics.PreferMultiSampling = true;
並且
spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
但無濟於事。 我還嘗試了各種涉及 GraphicsDevice 中的過濾器的事情,但老實說,我並不知道我在做什么。
顯然,我正在使用 spriteBatch 繪制它,但除此之外,我繪制它的方式沒有什么特別有趣的。
這是正在發生的事情以及我正在努力實現的(放大的)示例:
如您所見,XNA 在重新縮放圖像時不提供任何抗鋸齒功能。 有沒有辦法強制它這樣做,以使邊緣看起來更干凈?
你打電話給graphics.PreferMultiSampling = true;
在創建GraphicsDevice
之前? 您必須在創建它之前將其打開,無論是在Game
構造函數中還是在Initialize()
中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.