【问题标题】:Physics engine :calculating delta time物理引擎:计算增量时间
【发布时间】:2019-03-31 08:48:33
【问题描述】:

我正在用 C 语言构建一个物理引擎。 如何在C中以高精度计算帧之间的时间差(deltatime)?(我没有使用任何图形api)

【问题讨论】:

    标签: game-physics physics physics-engine


    【解决方案1】:

    类似的东西。

    #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 测试的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多