c - OpenGL C - 我将如何从行星上绘制一条线迹?

标签 c opengl glut

我设置了一个 3D 环境和一个在太空中移动的行星。

每次行星移动时,我都会将其 X、Y、Z 坐标附加到 float 组中。

我想画一条连接每个历史点的线带,显示地球曾经所在的位置。

我不知道如何解决这个问题,任何帮助将不胜感激。

最佳答案

您应该有一个数组来存储随时间变化的所有坐标。最简单的方法是在程序开始时创建一个大数组,或者您可以创建一个动态大小的数组。

无论您在何处更新场景,最后都可以放置一个 for 循环,在 ii+1 元素之间绘制一条线。坐标数组。像这样就可以了:

glBegin(GL_LINES);
//your for loop
glEnd();

关于c - OpenGL C - 我将如何从行星上绘制一条线迹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34702846/

相关文章:

c - 当 unsigned int 可以保存任何地址时, uintptr_t 和 unsigned int 有什么区别吗?

c++ - 具有 PBO 支持的高级 OpenGL 库

c++ - OpenGL GLSL 着色器版本

c - GLUT 窗口重叠后不刷新

c++ - 如何用假参数初始化过剩?

c - 为什么访问数组元素时只访问一次内存

C 指针值 - LHS 值发生意外变化

c - 在结构中声明 int 数组

c++ - glGetTexLevelParameter 问题

c++ - 无法在窗口中正确 reshape 多边形