用OpenGL画图时如何清楚指定的图形?求大神指点!
最近刚开始接触openGL,想知道如何在程序运行的过程中把已经画好的图形中的一条曲线去掉~求openGL大神解答~万分感谢我的需求来源是因为根据在鼠标取的几个点画一条nu...
最近刚开始接触openGL,想知道如何在程序运行的过程中把已经画好的图形中的一条曲线去掉~求openGL大神解答~万分感谢
我的需求来源是因为根据在鼠标取的几个点画一条nurbs曲线,曲线根据点的数目不同不一样,需要动态显示,新显示一条曲线要去掉之前的曲线 展开
我的需求来源是因为根据在鼠标取的几个点画一条nurbs曲线,曲线根据点的数目不同不一样,需要动态显示,新显示一条曲线要去掉之前的曲线 展开
1个回答
2015-07-28 · 知道合伙人互联网行家
关注
展开全部
只要下一个渲染不再画那个想清除的部分就是了。。。
不知道我是否真的理解了你的问题。
你看下,我贴的代码:画出左上角到鼠标位置的一条线。
更多追问追答
追问
万分感谢您的回答!我的问题再简单点陈述可以是这样的:先绘制一条线,点一下鼠标,让这条线消失
追答
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();
}
那么按下右键便不画,左键便画
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询