首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓模拟器支持OpenGL ES 3.0吗?

安卓模拟器支持OpenGL ES 3.0吗?
EN

Stack Overflow用户
提问于 2014-07-21 20:26:04
回答 3查看 19.6K关注 0票数 15

我知道仿真器支持SDK 17和Android4.0.3中的OpenGL ES 2.0,但那是在2012年4月推出的。

安卓仿真器是否支持OpenGL ES 3.0,还是我们还在等待?

如果没有,其他第三方模拟器/模拟器(如Genymotion)是否支持OpenGL es3.0?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-22 16:02:36

最新的安卓模拟器现在支持OpenGL ES 3.0。要使用OpenGL ES 3.0,您的开发机器需要一个支持OpenGL 3.2或更高版本的主机GPU图形卡。

请参阅:https://android-developers.googleblog.com/2017/05/android-studio-3-0-canary1.html

来自NDK的样本应用程序是一个很好的尝试方法。

如果它在以下方面失败:

代码语言:javascript
复制
java.lang.RuntimeException: createContext failed: EGL_BAD_CONFIG

还尝试先在主机上运行:

代码语言:javascript
复制
echo "GLESDynamicVersion = on" >> ~/.android/advancedFeatures.ini

由于devs目前支持白名单支持的主机GPU,并覆盖它,请参见:https://issuetracker.google.com/issues/68496715

票数 12
EN

Stack Overflow用户

发布于 2015-05-12 06:36:09

Android仿真程序和系统映像以及Genymotion目前都不支持OpenGL ES 3.0版本。

在我编写这篇文章时,最新的(Rev. . 1) ARM和x86系统映像(用于Android5.1.1 (API 22) )报告说,它们支持OpenGL ES 2.0版本,而不是3.0。

同样,Genymotion的Nexus5Android5.1.0API 22虚拟设备只报告OpenGL ES 2.0版支持。

您可以使用下面的代码检查未来系统映像和模拟器下的支持:

代码语言:javascript
复制
package com.example.opengltest;

import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.ConfigurationInfo;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class OpenGLESVersionActivity extends Activity {

    private static final String TAG = "OpenGLESVersionActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final ActivityManager activityManager =
                (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        final ConfigurationInfo configurationInfo =
                activityManager.getDeviceConfigurationInfo();
        String versionText = "Device Supported OpenGL ES Version = " + configurationInfo.getGlEsVersion();
        Toast.makeText(this, versionText, Toast.LENGTH_LONG).show();
        Log.d(TAG, versionText);
    }

}
票数 6
EN

Stack Overflow用户

发布于 2015-05-18 18:16:31

我找到了运行glGetString(GLES20.GL_VERSION)所支持的模拟器版本。我测试的模拟器似乎不支持OpenGL es3.0或更高版本,但我不想假设他们报告的是他们真正支持的东西,所以我不会保证这个词是最终的。

在我的Nexus 5

OpenGL ES 3.0 V@104.0 AU@ (GIT@Id3510ff6dc)

使用HAXM的Android仿真器

OpenGL ES 2.0 (2.1 NVIDIA-10.2.7 310.41.25f01)

Genymotion仿真器

OpenGL ES 2.0 (2.1 NVIDIA-10.2.7 310.41.25f01)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24874066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档