1
我畫在從Android NDK OpenGL ES的一條線。我一直在虛擬機上開發,最近在手機上試用了我的應用程序。該應用程序在vm上運行良好。畫一條線。然而,在摩托羅拉機器人上,應用程序只是崩潰,並在HTC不可思議,它只是顯示一個黑屏。我已驗證傳遞給該函數的數字是正確的。該應用程序在glDrawArray(GL_LINES,0,2)調用中發生。全功能如下:調用glDrawArrays工作在虛擬機,死機的手機
void drawLine(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2, GLfloat * color)
{
GLfloat vVertices[] =
{x1, y1,
x2, y2};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glColor4f(color[0],color[1],color[2],color[3]);
glVertexPointer(2, GL_FLOAT, 0, vVertices);
glDrawArrays(GL_LINES, 0, 2);
__android_log_write(ANDROID_LOG_ERROR,"to mama","You drew arrays");
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY);
}
,並調用它看起來像這樣:
drawLine(0.0f,0.0f,1.0f,0.0f,colorx);/*x is green*/
我可以嘗試drawelements未來,但沒有理由畫數組不應該工作(據我知道)。
當你說「崩潰」,究竟發生了什麼?日誌行是否被寫入?你可以添加更多的日誌記錄甚至簡單的嘗試/捕獲,看看有什麼失敗? – roryhewitt 2011-02-16 18:03:04