gpt4 book ai didi

c# - XNA:缩小纹理 2D 抗锯齿?

转载 作者:太空狗 更新时间:2023-10-29 21:55:09 27 4
gpt4 key购买 nike

我正在 XNA 中做一个项目,我正在使用一些相当大的纹理,我将它们作为 Texture2D 对象加载到游戏中,并在屏幕上绘制比它们加载时小得多的尺寸。原因因为我需要在不同的地方以不同的尺寸绘制它们,虽然我可以用多个纹理来做到这一点,但这样做是不切实际的。

我的问题是,XNA 似乎无法在按比例缩小这些 Texture2D 对象时对其进行抗锯齿处理。我已经设置:

graphics.PreferMultiSampling = true;

还有

spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

但是没有用。我还尝试了各种涉及 GraphicsDevice 过滤器的事情,但老实说,我并不知道自己在做什么。

显然,我是使用 spriteBatch 绘制的,但除此之外,我的绘制方式没有什么特别有趣的地方。

这是一个(放大的)例子,说明了正在发生的事情,以及我正在努力实现的事情:

Actual Result Desired Result

如您所见,XNA 在重新缩放图像时不提供任何抗锯齿功能。有没有办法强制它这样做,以使边缘看起来更干净?

最佳答案

您是否在创建 GraphicsDevice 之前调用 graphics.PreferMultiSampling = true;?您必须在创建它之前将其打开,无论是在 Game 构造函数中还是在 Initialize() 中。

关于c# - XNA:缩小纹理 2D 抗锯齿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10045758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com