glClearColor(1.0f,1.0f,1.0f,1.0f); //将背景清为白色,只有这一句起作用了
log_info("glClearColor",glGetError()); glClear(GL_COLOR_BUFFER_BIT);
log_info("glClear",glGetError());
glColor4f(0.0f,0.0f,1.0f,1.0f);
log_info("glColor4f",glGetError()); glViewport(0,0,engine->width,engine->height);
log_info("glViewport",glGetError()); GLfloat v[6]={10,10,0,100,100,0};
glLineWidth(2.0);
log_info("glLineWidth",glGetError()); glVertexPointer(3,GL_FLOAT,0,v);
log_info("glVertexPointer",glGetError()); glDrawArrays(GL_LINES,0,2);
log_info("glDrawArrays",glGetError());
//glDrawElements(GL_LINES,2,GL_FLOAT,v);
//glFlush();
eglSwapBuffers(engine->display, engine->surface);
log_info("eglSwapBuffers",glGetError());///////////////
log_info是记录日志的,通过日志,所有函数都返回GL_NO_ERROR,但为什么只有第一句填充背景起作用了呢。程序本意在白色背景上画一条蓝色,宽度为2的线段。但是平面上只有白色 没看到线。这是为什么呢?求帮助。
log_info("glClearColor",glGetError()); glClear(GL_COLOR_BUFFER_BIT);
log_info("glClear",glGetError());
glColor4f(0.0f,0.0f,1.0f,1.0f);
log_info("glColor4f",glGetError()); glViewport(0,0,engine->width,engine->height);
log_info("glViewport",glGetError()); GLfloat v[6]={10,10,0,100,100,0};
glLineWidth(2.0);
log_info("glLineWidth",glGetError()); glVertexPointer(3,GL_FLOAT,0,v);
log_info("glVertexPointer",glGetError()); glDrawArrays(GL_LINES,0,2);
log_info("glDrawArrays",glGetError());
//glDrawElements(GL_LINES,2,GL_FLOAT,v);
//glFlush();
eglSwapBuffers(engine->display, engine->surface);
log_info("eglSwapBuffers",glGetError());///////////////
log_info是记录日志的,通过日志,所有函数都返回GL_NO_ERROR,但为什么只有第一句填充背景起作用了呢。程序本意在白色背景上画一条蓝色,宽度为2的线段。但是平面上只有白色 没看到线。这是为什么呢?求帮助。
gl.glTranslatef(0.0f, 0.0f, -10.0f);
现在代码改为:
glClearColor(1.0f,1.0f,1.0f,1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glColor4f(0.0f,0.0f,1.0f,1.0f);
//glViewport(0,0,engine->width,engine->height);
GLfloat v[6]={10,10,0,100,100,0};
glLineWidth(2.0);
glVertexPointer(3,GL_FLOAT,0,v);
glDrawArrays(GL_LINES,0,2);
glTranslatef(0,0,-10.0f);
eglSwapBuffers(engine->display, engine->surface);
但仍然没有看到画出的结果,只有屏幕被刷白了。这那里有问题呢?请指点