這是什麼不同之處,以及我如何查詢實際手機支持的內容? (GL10或GL11)Android OpenGL ES GL10或GL11
我有一個HTC Legend,支持GL11嗎? 或英雄......等等......?
這是什麼不同之處,以及我如何查詢實際手機支持的內容? (GL10或GL11)Android OpenGL ES GL10或GL11
我有一個HTC Legend,支持GL11嗎? 或英雄......等等......?
有針對的API:
public int getGLVersion()
{
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ConfigurationInfo info = am.getDeviceConfigurationInfo();
return info.reqGlEsVersion;
}
上級指令16位表示主要版本低位16位是次要版本。欲瞭解更多信息,請訪問this link。 所以:
如果你想字符串表示(顯示),呼叫ConfigurationInfo.getGlEsVersion()
您可以使用instanceof
您GL10實例來測試是否支持GL11或更高:
public void onSurfaceCreated(GL10 gl, EGLConfig config)
{
if(gl instanceof GL11)
{
// ...
}
}
使用glGetString查詢版本信息,解析返回的字符串時必須小心 - 有些實現不太遵循規範 - 但代碼here適合我。
實際上,任何實際上具有圖形硬件的東西都將支持1.1。 1.0是爲軟件實現而設計的配置文件,並且不存在僅支持1.0 afaik的硬件。
如果它沒有圖形硬件,你不會真的想在它上面運行你的gl應用程序,因爲性能很差,所以你可以設置AndroidManifest.xml來指定版本0x00010001,然後你知道它會支持GL11。
此外,任何在'11年或者以後將最有可能支持GLES 2.0(以及所有gl2.0支持gl1.1)
檢查Android的市場統計數據,設備的90.5%,支持2.0和1.0 ISN甚至在統計中也是如此,因爲任何人都不會使用1.0。
好的,2.0是指GL11? GL10是指Gl1.0和GL1.1? – lacas 2011-01-23 22:24:45