如何在 android 应用程序上启用 msaa

How to enable msaa on android app

我正在使用 android + ogre3d. I'm using FSAA property, but there is an ogre bug 制作应用程序:同时使用 externalWindowHandle 和 fsaa 时,fsaa 不起作用。我正在使用 Surfaceview 作为 window 进行渲染。

现在我找到了 android 开发者选项 "Force 4x MSAA",当我打开这个选项时,我的应用程序开始运行得很好,正如我想要的那样!此选项使所有 OpenGL es 2.0 应用程序都可以使用 MSAA。但这不是要求用户在手机上打开此选项的好方法。

那么,有什么方法可以让我的应用始终使用 4x MSAA?

错误大约 linux OS。

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);