【问题标题】:Can't enable MSAA in MonoGame无法在 MonoGame 中启用 MSAA
【发布时间】:2016-11-26 17:53:44
【问题描述】:

我想在运行时启用/禁用 MSAA,为此我有这个功能:

GraphicsDeviceManager _graphics = new GraphicsDeviceManager(this)
...

private void ChangeMsaaSetting(bool enable)
{
    _graphics.PreferMultiSampling = enable;

    var rasterizerState = new RasterizerState
    {
        MultiSampleAntiAlias = enable,
    };

    GraphicsDevice.RasterizerState = rasterizerState;
    GraphicsDevice.PresentationParameters.MultiSampleCount = enable ? 2 : 0;

    _graphics.ApplyChanges();
}

在我称之为之前,一切都很正常:场景中的对象是用像素化边缘渲染的。一旦我调用传递true 的函数,模型就会消失,我只剩下CornflowerBlue 背景,我用它清除GraphicsDevice

但是在我调用ChangeMsaaSetting(false) 之后,对象又开始被渲染。

我进行了一些实验,如果将MultiSampleCount 设置为大于 1 的整数,似乎对象会消失。奇异样本是无用的,所以我需要在那里设置更大的值。我做错了吗?

【问题讨论】:

    标签: c# xna monogame antialiasing msaa


    【解决方案1】:

    单体游戏目前不支持 MSAA。请改用https://github.com/SeriousMaxx/FXAAMonoGame

    它将提供非常高质量的后期处理 AA。

    【讨论】:

    • 不幸的是,我不需要任何 AA,特别是MSAA。
    • 为什么是出于好奇?
    • 您的 GitHub 链接已损坏。你能edit你的答案更新吗,还是无法恢复?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    相关资源
    最近更新 更多