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
  • 相关阅读:
    如何设置QT的窗口图标和exe应用程序图标(两步搞定操作)
    怎么打包发布QT程序(图文详解)
    QT实现读取sps文件并将数据显示在TableView中(复习)
    LeetCode第一题——两数之和
    大型数据库复习
    Android复习
    C#桌面程序设计复习
    WordCount扩展与优化
    第二次作业(WordCount)重制版
    第二次作业(WordCount)
  • 原文地址:https://www.cnblogs.com/YTYMblog/p/5374135.html
Copyright © 2011-2022 走看看