用OpenGL画图时如何清楚指定的图形?求大神指点!

最近刚开始接触openGL,想知道如何在程序运行的过程中把已经画好的图形中的一条曲线去掉~求openGL大神解答~万分感谢我的需求来源是因为根据在鼠标取的几个点画一条nu... 最近刚开始接触openGL,想知道如何在程序运行的过程中把已经画好的图形中的一条曲线去掉~求openGL大神解答~万分感谢
我的需求来源是因为根据在鼠标取的几个点画一条nurbs曲线,曲线根据点的数目不同不一样,需要动态显示,新显示一条曲线要去掉之前的曲线
展开
 我来答
普洛智应
2015-07-28 · 知道合伙人互联网行家
普洛智应
知道合伙人互联网行家
采纳数:410 获赞数:1585
虚拟现实(VR/AR)以及游戏相关技术,物联网以及传感器技术

向TA提问 私信TA
展开全部

只要下一个渲染不再画那个想清除的部分就是了。。。

不知道我是否真的理解了你的问题。

你看下,我贴的代码:画出左上角到鼠标位置的一条线。


更多追问追答
追问
万分感谢您的回答!我的问题再简单点陈述可以是这样的:先绘制一条线,点一下鼠标,让这条线消失
追答
void mouse(int button, int state, int x, int y)
{
   // Save the left button state
   if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
   {
bDraw = true;     
      glutPostRedisplay();  // Left button has changed; redisplay!
   }
   if (button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN)
   {
   bDraw = false;
   glutPostRedisplay();
   }

}

该一下我贴的代码,添加mouse函数,并调用glutMouseFunc(mouse);

然后绘制函数这样,

void display(void) {
    glClearColor (0.0,0.0,0.0,1.0);
    glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
if( bDraw )
{
glBegin(GL_LINES);
glVertex2f(0,0);
glVertex2f(x,y);
glEnd();
}
    glutSwapBuffers();
}

那么按下右键便不画,左键便画

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式