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

最近刚开始接触openGL,想知道如何在程序运行的过程中把已经画好的图形中的一条曲线去掉~求openGL大神解答~万分感谢
我的需求来源是因为根据在鼠标取的几个点画一条nurbs曲线,曲线根据点的数目不同不一样,需要动态显示,新显示一条曲线要去掉之前的曲线

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

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

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


追问

万分感谢您的回答!我的问题再简单点陈述可以是这样的:先绘制一条线,点一下鼠标,让这条线消失

追答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();
}

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

追问

感谢细心解答~分肯定给你了,我明白你的意思了,但是我想问的是有没有办法使已经画出来的那个线段消失掉。比如你的程序实现了左键点击画出一条直线,我想再次点击的时候这条直线消失掉,显示另外一条直线到点击点的位置

温馨提示:答案为网友推荐,仅供参考