2011-08-09 100 views
0

我以下docs,並試圖OpenGL的版本設置爲1.1。但是,當我在我的C代碼調用glGetString(GL_VERSION)它總是返回我在Android(NDK)設置OpenGL ES版本

的OpenGL ES-CM 1.0

我相信,當我創建上下文(或面),我應該指定版本,但我無法找到任何API爲此。

我也越來越這類錯誤的:

08-09 13:47:13.642:ERROR/libEGL(567):所謂的未實現的OpenGL ES API

這也證明使用OpenGL ES 1.0而不是1.1。

編輯:我應該注意,在設備上一切都很好。這個問題只存在於模擬器

EDIT2(上平臺2.2和2.3.3測試):在HTC野火測試了Android 2.2.1,它也表明了我的OpenGL 1.0版本

回答

1

模擬器只實現了1.0,所以這是可以預料的。您最終得到硬件(或模擬器)支持的任何版本。

在清單中,您只指定了您的應用需要的GLES版本。從清單指南:

聲明的元素僅是信息,這意味着 Android系統本身不檢查安裝應用程序前在設備上的匹配功能的支持 。

我應該注意到,模擬器確實實現了大多數1.1的功能,比如VBO支持,所以你應該可以通過做一些小的改動來測試你的應用程序。

+0

而且你只能看到1.0的野火,因爲它只支持1.0:它使用相同的pixelflinger/Android的GLES軟件實現,因爲它沒有一個GPU。 – Aert