簡體   English   中英

OpenGl ES 2.0 - 程序未在Moto G上運行

[英]OpenGl ES 2.0 – Program not running on Moto G

我已經創建了一個通過模擬器處理Eclipse的小項目。 我試過在Moto G上運行它,但它不起作用。 編輯兩次讀取getError,因此以下語句為假-“ GLES20.glGetError()未顯示任何錯誤”,但logcat顯示了下面的內容。

W/Adreno-ES20﹕ <core_glUseProgram:1546>: GL_INVALID_OPERATION
W/Adreno-ES20﹕ <core_glGetAttribLocation:639>: GL_INVALID_OPERATION
W/Adreno-ES20﹕ <core_glGetAttribLocation:639>: GL_INVALID_OPERATION

有趣的是,使用逐步調試下面的前兩個方法不會顯示上述問題,但會顯示最后一個日志:GL_INVALID_ENUM?

GLES20.glEnable( GLES20.GL_CULL_FACE );
GLES20.glCullFace(GLES20.GL_BACK);
GLES20.glEnable(GLES20.GL_TEXTURE_2D);

你有什么想法嗎? 我在清單中列出了以下內容。

uses-feature android:glEsVersion =“ 0x00020000” android:required =“ true”

最后一點是,我現在在帶有gradle文件而不是Eclipse的Android Studio上運行。 這是因為后者由於依賴性而自行更新並且不再工作。

在此先感謝您的幫助。

標記

在ES 2.0中,這確實不是有效的調用:

GLES20.glEnable(GLES20.GL_TEXTURE_2D);

在舊版本的ES(1.x)和使用固定管道的OpenGL中,必須啟用紋理。

使用可編程管道,這是ES 2.0及更高版本中的唯一選項,這已經沒有意義了。 如果要使用紋理,可以在着色器中對紋理進行采樣。 如果您不想使用紋理化,則...不要。 無需啟用紋理。

您可以在手冊頁上找到glEnable()的有效參數。

Eclipse停止工作,所以我嘗試了Android Studio。 我很確定該程序正在使用Eclipse。 我有一個像這樣的支票reqGlEsVersion> = 0x20000。 在Android Studio上,這返回0,因此我的EGL上下文沒有被創建。 顯然,這個的價值和AVD設置的問題是有問題的。 一旦我發表評論,就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM