2016-11-26 53 views
1

使MSAA我想啓用/禁用MSAA在運行時,爲了做到這一點我有這樣的功能:不能在MonoGame

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的功能,模型消失,我留下的矢車菊藍色背景我清除我的GraphicsDevice

但是在我打電話給ChangeMsaaSetting(false)對象後,又開始渲染了。

我已經試驗了一下,如果MultiSampleCount被設置爲大於1的整數,對象似乎就消失了。單數樣本沒用,所以我需要在那裏有更大的值。難道我做錯了什麼?

回答

0

monogame目前不支持MSAA。改爲使用https://github.com/SeriousMaxx/FXAAMonoGame

它將提供非常高質量的後處理AA。

+0

不幸的是,我不需要只是_ANY_AA,而是MSAA。 –

+0

爲什麼出於好奇? –