使用opengl VC ++进行实时点绘图

问题描述 投票:1回答:1

我需要有关如何实时绘制点的建议。使用OpenGL现在,我们正在做的是将所需的数据从csv加载到数组中,并从那里绘制点。一切正常。

我打算做的是,以固定的时间间隔一次加载这样的多个csv,这样我就可以创建一种动画输出。我可以执行此操作,但是一旦程序通过输入glutMainLoop();绘制了点,则在不关闭opengl窗口的情况下它永远不会消失。我要加载第一个csv,在OpenGL窗口中显示它,然后加载下一个csv,并显示新的点集,依此类推。

如果难以理解,请看下面的图片

enter image description here

只需考虑红色和蓝色点。将其视为实际上并没有移动,而是从外部数据中进行绘制,并从csv文件中加载每个新位置。希望清楚

opengl visual-c++ glut freeglut glu
1个回答
1
投票

[...]一旦程序通过输入glutMainLoop()绘制了点,就不会在不关闭opengl窗口的情况下消失。

[freeglut使过剩扩大glutLeaveMainLoopglutMainLoopEvent

例如:

bool condtion = true;
while (condtion)
{
    glutMainLoopEvent(); // handle the main loop once
    glutPostRedisplay(); // cause `display` to be called in `glutMainLoopEvent`

    condtion = ...;
}

另一种选择是使用glutIdleFunc做其他事情。因此完全没有必要保留glut主循环。

© www.soinside.com 2019 - 2024. All rights reserved.