Как включить 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);