vs2010,配置好后opengl运行这段代码之处,不显示图像,只有一个白色背景,求教什么原因

#include"gl/glut.h"voidmyDisplay(void){glClear(GL_COLOR_BUFFER_BIT);glRectf(-0.5f,-0.... #include "gl/glut.h"

void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}

int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("第一个OpenGl程序");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
展开
 我来答
jack19900715
2013-11-04 · TA获得超过5539个赞
知道大有可为答主
回答量:1979
采纳率:66%
帮助的人:1296万
展开全部

一模一样的程序,我显示的是如图

追问
是的。。我觉得是笔记本哪里有点问题,同样配置后在机房的台式机上能行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
治命延迟侠
2013-11-03 · 超过26用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:61.7万
展开全部
你打算用glRectf画什么颜色的矩形?你没指定颜色,恰好当前颜色又是白色,那么画出来也看不出来的..
试试这样
void myDisplay(void)
{
glClearColor (0.0f, 0.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
glColor4f(1.0f, 1.0f, 0.0f, 0.0f);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}
更多追问追答
追问
glClear(GL_COLOR_BUFFER_BIT);的默认颜色是黑色啊。。我也试了你的这段代码,还是不行。感觉是不是有别的原因。
http://zhidao.baidu.com/link?url=wEHNjDa8XZtPRnCnDveRj8aXaMFjabXR_JYcprdvytA6mXd-aH12mEDEoG6mfNY2RifVMLX2jh4a9n7Nf7bie_
是按照这个配置的
追答
那个..glut库很古老的,作者有十多年都不更新了,按照opengl超级宝典的推荐,用freeglut代替比较好,毕竟还在更新着..

我不太清楚有什么问题,试试把渲染函数中要做的初始化全写出来吧
void myDisplay( void )
{
glClearColor (0.0f, 0.0f, 1.0f, 0.0f);

glClear (GL_COLOR_BUFFER_BIT);

glMatrixMode (GL_PROJECTION);
glLoadIdentity ();

glViewport (0, 0, 400, 400);
glOrtho (-1, 1, -1, 1, -13, 13);

glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();

glColor4f(1.0f, 1.0f, 0.0f, 0.0f);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);

glutSwapBuffers ();
}

另外加一个定时刷新窗口的函数回调

void timerFunc( int id )
{
glutPostRedisplay ();
glutTimerFunc (16, timerFunc, 1); // 定时函数注册一次只会调用一次,所以要在执行之后重新注册

}

在main函数中加一句

glutTimerFunc (16, timerFunc, 1); // 16是定时间隔16毫秒,1是为了用来区分多个定时函数的序号
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式