多边形在时间 T 的位置 x,y 处
Polygon at position x,y at time T
例如,我试图使多边形 A 在时间 = 1 秒的位置 (x,y) 处。那么当时间 = 2 秒时,它应该处于位置 (x,y+2)。然后我计划制作更多这样的多边形。我还希望这是动画的,并且多边形从第一个位置平滑地移动到第二个位置,而不是多边形跳一轮。
到目前为止,我已经了解了glutTimerFunction,但是,根据我的理解,我不能单独告诉多边形在位置(x,y)和时间T。但相反,似乎我必须制作我想要的每个多边形(大约 500 个),然后让计时器一次循环遍历所有多边形。
有没有办法使用 glutTimerFunc 显式告诉多边形在时间 T 的位置 (x,y)?
OpenGL是一个低级API,而不是引擎或框架。 它没有内置的方法可以随着时间的推移在位置之间自动进行插值,这取决于您作为引擎编写者可以根据需要实现。 随时间推移,两点之间的线性插值相当容易(即,在伪代码position = startPos + ((endPos - startPos) * timeElapsed
中)。 沿着更复杂的曲线进行插值本质上是相同的,只是表示所需曲线的数学要多一点。
您是正确的,您必须手动遍历所有多边形并定位它们。 这是使用低级图形 API 而不是预先编写的引擎的另一个功能。
有许多不同复杂度(和价格)的引擎可以为您抽象出这些细节,但是,如果您的目标是学习图形编程,我建议您避开它们并耕耘。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 将值指定给向量(2D)的向量中的某个位置
- 为什么根据测量位置测量经过的时间时会有很大的不同?
- C++程序中多个位置的时间 (0) 时间戳
- 在一定时间后预测物体的位置
- 在 Omnet++ 中的模拟时间内更改/设置节点的新位置
- SDL_Mixer再次播放时,从随机位置开始一段时间,然后从头开始
- 来自不同位置的数组输出的执行时间
- 给定代码段中引用的时间和空间位置的所有出现
- 多边形在时间 T 的位置 x,y 处
- std::list c++是连续的,那么在序列中的任何位置插入和擦除操作都需要恒定的时间
- 了解使用 GCC 时编译时间的位置
- 放置此指针的位置以及为其分配内存的时间
- 使用时间位置将日期时间从/转换为UTC时间戳
- 当试图获取系统时间时,访问冲突读取位置
- 我如何在常数时间(O(1))内获得字母表(1-26)中字符的数值/位置,而不使用任何内置方法或函数
- 如何在给定时间后确定物体在二维空间中的位置
- GLSL-调用的顶点和片段的时间和位置
- 在c++中使用GetTickCount()更新时间和位置