1

我正在用 android + ogre3d制作应用程序。我正在使用 FSAA 属性,但是有一个 ogre错误:当同时使用 externalWindowHandle 和 fsaa 时,fsaa 不起作用。我使用 Surfaceview 作为渲染窗口。

现在我找到了 android 开发人员选项“Force 4x MSAA”,当我打开这个选项时,我的应用程序开始运行良好,正如我所愿!此选项使所有 OpenGL es 2.0 应用程序都使用 MSAA。但这不是要求用户在手机上打开此选项的好方法。

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

4

1 回答 1

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);
于 2016-09-05T14:38:19.697 回答