zoukankan      html  css  js  c++  java
  • OPENGL之定时器

    定时器一般用于控制隔一段时间调用某函数

    函数原型glutTimerFunc(unsigned int msecs,void(*func)(int value),int value)

    说明:msecs为在调用func函数之前要等待的时间(单位:毫秒)

         func为被注册的函数,在等待msecs毫秒之后执行

       value:为指定将要执行函数的id(value用来传递一个用户自定义的值,根据value的不同情况,可以实现不同的定时器)

    使用步骤:

        1.注册定时器回调函数

        glutTimerFunc(100,MyTimeFunc,1);//这个函数中的msecs值仅仅为第一次调用时的等待时间

        2.写自己的定时器回调函数的内部实现:

        void MyTimeFunc(int value)

         {

        //(value用来传递一个用户自定义的值,根据value的不同情况,可以实现不同的定时器)

        }

        

        3. 可以在回调函数中更改和绘制对象状态相关的变量,这一步可以有也可以不更改,然后调用glutPostRedisplay函数来实现重绘

      glutPostRedisplay:类似于直接调用display函数,不过他更“智能”,在遍历整个消息队列的过程中,只对窗口重绘一次,即只调用一次display

        

        4.最后在回调函数中调用函数glutTimerFunc(50,MyTimeFunc,1);

        这相当于循环了,50才是循环等待的时间,1步骤中等待的时间仅仅只是第一次等待的时间

        恩,一共就这四个步骤了

    亲爱的听众朋友我是你的代班DJ
  • 相关阅读:
    GitHub中的html文件如何直接显示成网页形式
    android发送短信验证码并自动获取验证码填充文本框
    Splay 指针&&无父节点
    DP——最长公共子序列
    DP——背包问题(一)
    进制转换(负进制) Luogu 1017
    并查集(按秩合并+非递归路径压缩)模板题 Luogu 1551 亲戚
    关押罪犯
    乌龟棋
    机器翻译
  • 原文地址:https://www.cnblogs.com/YTYMblog/p/5374135.html
Copyright © 2011-2022 走看看