OpenGL程序的小问题
答案:2 悬赏:40
解决时间 2021-02-15 15:51
- 提问者网友:宿醉何为情
- 2021-02-15 12:11
OpenGL程序的小问题
最佳答案
- 二级知识专家网友:气场征服一切
- 2021-02-15 12:39
一个很小很小的错误。
在绘制文本的时候,改变了xRaster的值:// xRaster += 50;
所以下次重绘的时候,*号的位置就变了。
解决办法也很简单,在绘制*号之前,重新把xRaster修改为25就行了。
glColor3f(1.0,0.0,0.0); //设置标记颜色为红色
xRaster = 25;
for(k = 0;k < 12;k++){ //将数据画为星号多点标记
glRasterPos2i (xRaster + k*50,dataValue [k] - 4); //设置当前光栅位置
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'*');
另外想问下楼主你学OpenGL是做什么?之前在学校里因为导师的项目需要,用了一年的OpenGL,现在基本上荒废掉了。
在绘制文本的时候,改变了xRaster的值:// xRaster += 50;
所以下次重绘的时候,*号的位置就变了。
解决办法也很简单,在绘制*号之前,重新把xRaster修改为25就行了。
glColor3f(1.0,0.0,0.0); //设置标记颜色为红色
xRaster = 25;
for(k = 0;k < 12;k++){ //将数据画为星号多点标记
glRasterPos2i (xRaster + k*50,dataValue [k] - 4); //设置当前光栅位置
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'*');
另外想问下楼主你学OpenGL是做什么?之前在学校里因为导师的项目需要,用了一年的OpenGL,现在基本上荒废掉了。
全部回答
- 1楼网友:初心未变
- 2021-02-15 14:10
我看了你的程序。
初始化的过程中,
在glengine::setprojection函数中,你使用了
glmatrixmode(gl_projection);
但是在这个函数返回后,程序并没有执行
glmatrixmode(gl_modelview);
因此之后所有的操作都是作用在投影矩阵上,当然显示不出来了。
解决办法:
在 glengine::setprojection 函数的最后加上一句:
glmatrixmode(gl_modelview);
问题就解决啦。
顺便说下,引擎封装的不错,加油!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯