2016-09-04 53 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); 
相关问题