所以这是我今天早些时候提出的一个问题的延续。我使用 XNA 3.1 的 DrawUserPrimitives 方法为自己构建了一些漂亮的色带轨迹,主要是通过在运动发生时扩展多边形。除了一件事 - 抗锯齿之外,这一切看起来都非常时尚和漂亮。我一生都无法弄清楚如何应用它。
我在游戏构造函数中设置了这个:
graphics.PreferMultiSampling = true;
我还添加了这个来测试硬件:
graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs>((sender, e) =>
{
PresentationParameters parameters = e.GraphicsDeviceInformation.PresentationParameters;
parameters.MultiSampleQuality = 0;
#if XBOX
pp.MultiSampleType = MultiSampleType.FourSamples;
return;
#else
int quality;
GraphicsAdapter adapter = e.GraphicsDeviceInformation.Adapter;
SurfaceFormat format = adapter.CurrentDisplayMode.Format;
if (adapter.CheckDeviceMultiSampleType(DeviceType.Hardware, format, false, MultiSampleType.FourSamples, out quality))
{
parameters.MultiSampleType = MultiSampleType.FourSamples;
}
else if (adapter.CheckDeviceMultiSampleType(DeviceType.Hardware, format, false, MultiSampleType.TwoSamples, out quality))
{
parameters.MultiSampleType = MultiSampleType.TwoSamples;
}
#endif
});
通过添加一些打印行,我知道我的硬件可以支持 4 个示例 AA,但这一切似乎没有任何区别。我似乎无法让它发挥作用。
这是我的一条路线的屏幕截图,其中应用了所有代码:
我真的很感激一些帮助。不久前,我查看了此问题的解决方案,以解决不同的问题,但当时也无法使其正常工作。
嗯,干杯。