Я рисую линию в открытых окнах из Android NDK.Я занимался разработкой на виртуальных машинах и только недавно попробовал свое приложение на телефоне.Приложение отлично работает на виртуальной машине.Линия нарисована.Тем не менее, на Motorola Droid приложение просто вылетает, а на HTC невероятно просто показывает черный экран.Я проверил, что число, переданное функции, является правильным.Приложение вызывает вызов glDrawArray (GL_LINES, 0, 2).Вся функция выглядит так:
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*/
Далее я могу попробовать драументы, но нет причин, по которым массивы рисования не должны работать(насколько я знаю).