【问题标题】:How can I change an object's rate of rotation in OpenGL?如何在 OpenGL 中更改对象的旋转速率?
【发布时间】:2012-09-24 19:33:07
【问题描述】:

我正在使用一个简单的旋转多边形,当用户单击并向上拖动时它应该会加速,而当用户单击并向下拖动时它会向下显示。不幸的是,我到处搜索,似乎找不到任何可以轻松控制速度的特定 GL 函数或变量(我也搜索过“帧速率”......)

是否有一个简单的调用/一系列调用来做这样的事情,或者我真的需要在代码的不同部分使用计时器来做事情?

【问题讨论】:

  • 不存在也不应该存在,因为假设您的帧速率恒定,如果您增加多边形在每一帧旋转的角度,您的速度将会增加。

标签: c++ opengl rotation


【解决方案1】:

OpenGL 在您告诉它绘制内容的位置准确地绘制内容。它不知道前一帧渲染了什么或下一帧将渲染什么。 OpenGL没有时间的概念,没有时间就没有速度

速度是必须管理的东西。通常,这是通过获取您的预期速度,将其乘以自上次渲染以来的时间间隔,然后将其添加到当前旋转(或位置)中来完成的。然后在那个新的方向/位置渲染。不过,这完全取决于您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多