2011-06-06 76 views
2

當我在仿真器上運行我的程序時,它會顯示一個ImageView初始屏幕,然後顯示其餘應用程序的其餘部分的黑屏,該屏幕使用GLSurfaceViews。 OGL在我的手機上運行良好。我已經在兩臺計算機上測試了這個程序(低性能和高性能),並且都沒有顯示GLSurfaceViews。我還使用Google apidemos interweb網站上的一些OGL演示測試了仿真器,並且這些演示不顯示在任何一臺計算機上。我的程序使用OGL es 1.1,但是我也測試過使用OGL es 1.0無濟於事。我怎樣才能在模擬器上顯示ogl?謝謝。Android - OpenGL不顯示w/emulator?

下面是一些簡單的方形渲染代碼不會在模擬器上


public void onDrawFrame(GL10 gl) { 
    //This works 
    gl.glClearColor(_red, _green, _blue, 1.0f); 
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    //This doesn't 
    float vertices[] = { .5f, .5f, 0, .5f, -.5f, 0, -.5f, .5f, 0, -.5f, -.5f, 0 }; 
    FloatBuffer vertexSquareBuffer = ByteBuffer.allocateDirect(4 * 3 * 4) 
    .order(ByteOrder.nativeOrder()).asFloatBuffer(); 
    vertexSquareBuffer.put(vertices); 
    vertexSquareBuffer.position(0); 
    gl.glColor4f(1, 1, 0, 0.5f); 
    gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexSquareBuffer); 
    gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0,4); 
} 

回答

2

那麼有一些可能合作的例子。首先讓我們看看是否應該起作用,在你的模擬器上工作。你可以請到這裏試試這個教程,並通過你的模擬器運行它:http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html(先做這個)

這樣我們就知道問題出在你的代碼或模擬器上。

之後,您可能需要看看是否有所有required shared object libraries present

讓我知道你的評論。

+0

我跑的鏈接程序,它顯示紅色的背景,這是很好的。所以我在一些平凡的代碼中添加了一個正方形(上面貼出的),並且沒有在模擬器上顯示(在手機上工作)。現在做什麼? – 2011-06-11 17:04:26

+0

我認爲你的示例代碼缺少一些小的OpenGL調用。也許看看該教程的第二部分,看看是否可行:http://www.droidnova.com/android-3d-game-tutorial-part-ii,328.html – 2011-06-12 02:17:39

+0

我缺少gl.glEnableClientState( GL10.GL_VERTEX_ARRAY);我的手機根本不在乎。這是解決的一個主要問題。非常感激。 – 2011-06-12 03:07:52