Как включить msaa в приложении для Android

Я делаю приложение с Android + Ogre3D. Я использую свойство FSAA, но есть огромная ошибка: при совместном использовании externalWindowHandle и fsaa fsaa не работает. Я использую Surfaceview в качестве окна для рендеринга.

Теперь я нашел для Android-разработчика опцию "Force 4x MSAA", и когда я включил эту опцию, мое приложение стало работать отлично, как я хочу! Эта опция заставляет все приложения OpenGL es 2.0 работать с MSAA. Но это не очень хороший способ попросить пользователей включить эту опцию на своих телефонах.

Итак, есть ли способ заставить мое приложение всегда использовать 4x MSAA?

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);
Другие вопросы по тегам