2016-09-04 49 views
1

我正在用android + ogre3d製作應用。我使用FSAA財產,但有一個食人魔bug:當使用externalWindowHandle和fsaa在一起時,fsaa不起作用。我使用Surfaceview作爲渲染窗口。如何在Android應用上啓用msaa

現在我已經找到了android開發人員選項「Force 4x MSAA」,並且當我打開此選項時,我的應用程序開始工作,因爲我想要的很棒!該選項使所有OpenGL ES 2.0應用程序與MSAA一起工作。但是,要求用戶在手機上啓用此選項並不是一個好方法。

那麼,有什麼辦法讓我的應用程序總是使用4x MSAA?

+0

可能的[OpenGL ES 2.0中的抗鋸齒?]的副本(http://stackoverflow.com/questions/27035893/antialiasing-in-opengl-es-2-0) –

回答

1

這個錯誤只是關於linux操作系統。

FSAA是舊技術和食人魔忽略它。所以,你可以使用MSAA或CSAA。

ANativeWindow *nativeWnd = ANativeWindow_fromSurface(env, surface); 

    Ogre::NameValuePairList opt; 
    opt["MSAA"] = "2"; 
    opt["externalWindowHandle"] = Ogre::StringConverter::toString(
      reinterpret_cast<size_t>(nativeWnd)); 
    gRenderWnd = Ogre::Root::getSingleton().createRenderWindow("OgreWindow", 0, 0, false, &opt); 
相關問題