我正在制作一个将与Haptic反馈一起使用的应用程序。这意味着我需要每秒测试1000次碰撞。对于应用程序的可视化部分,我使用的是OpenGL。
所以我将FPS_CAP设置为1000 FPS用于触觉反馈并测试每帧的碰撞。现在屏幕也没有必要每秒更新1000次,所以我希望以30 FPS的速度上限。所以我做的是我有一个计数器,它增加帧之间的时间,让它计数到0.03。当它达到0.03时,我将其设置为0,清除我的屏幕并绘制所有物体。
但是当我现在移动相机或其中一个物体时,物体似乎无法决定"在哪里渲染和口吃一下。有谁知道如何解决这个问题?我添加了一些伪代码,因为原始代码完全是荷兰语。
while !close_requested{
counter += delta_time
if counter > 0.03{
counter = 0
clearscreen()
calculate_matrices()
drawTriangles()
}
update_screen()
}
答案 0 :(得分:-2)
我推荐这篇关于修复碰撞检测时间步的文章:
http://gafferongames.com/game-physics/fix-your-timestep/
我无法解释比这更好的解释,这应该解决你的问题;)...