首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android opengl es c代码 全部函数返回都正常,但看不到结果,分析原因

2013-03-16 
android opengl es c代码 所有函数返回都正常,但看不到结果,分析原因glClearColor(1.0f,1.0f,1.0f,1.0f) 

android opengl es c代码 所有函数返回都正常,但看不到结果,分析原因
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的线段。但是平面上只有白色 没看到线。这是为什么呢?求帮助。
[解决办法]
该回复于2010-12-27 08:30:57被版主删除
[解决办法]
Java的代码应该先把坐标往屏幕里面移动一些,否则和视角在一个平面上就看不到了,就好像把纸贴在眼睛上,纸上的东西你也看不清。c的应该类似,供参考
gl.glTranslatef(0.0f, 0.0f, -10.0f);

热点排行