6
我想在選擇菜單項時調用GLES20
方法。從Android上的主線程使用OpenGL
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.clear:
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
break;
// ...
}
}
這不工作,因爲我在main
線程,而不是在GLThread
。它說:(記錄一次每個線程)
調用OpenGL ES的API目前不 方面
但是我必須做的事情的工作?
喜馬賽厄斯,我得到的Android 3.2.Could告訴你,當你與你的應用程序面臨過這樣的錯誤相同的錯誤? – 2011-09-28 14:02:24
@RunO OpenGL和主應用程序在不同的線程中運行。因此你不能從主線程執行OpenGL命令(見源代碼)。因此,在主線程中,您必須將此命令排隊到OpenGL線程(請參閱我的答案中的源代碼)。我希望這有幫助。否則,開始一個新問題,描述你的問題,在評論中給我一個鏈接,我會看看我能做些什麼。 – Matthias 2011-09-28 15:25:59
@Matthias非常感謝 – 2017-05-30 15:46:40