物理引擎:计算增量时间

时间:2019-03-31 08:48:33

标签: game-physics physics physics-engine

我正在用C建立一个物理引擎。 如何在C中以高精确度计算帧之间的时差(deltatime)?(我未使用任何图形API)

1 个答案:

答案 0 :(得分:0)

这样的事情。

#include <stdio.h>
#include <time.h>

int main()
{
    struct timespec t1, t2; 
    long delta_t = 0;

    while(1)  {
        printf("delta_t = %d nanoseconds\n", delta_t);
        clock_gettime(CLOCK_MONOTONIC, &t1);

        // do something

        clock_gettime(CLOCK_MONOTONIC, &t2);
        delta_t = (t2.tv_nsec - t1.tv_nsec);
    }  

    return 0;
}

该示例已在GCC 8.1.0上进行了测试。