glutIdleFunc.man
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:2k
源码类别:

GIS编程

开发平台:

Visual C++

  1. ."
  2. ." Copyright (c) Mark J. Kilgard, 1996.
  3. ."
  4. .TH glutIdleFunc 3GLUT "3.7" "GLUT" "GLUT"
  5. .SH NAME
  6. glutIdleFunc - sets the global idle callback. 
  7. .SH SYNTAX
  8. .nf
  9. .LP
  10. void glutIdleFunc(void (*func)(void));
  11. .fi
  12. .SH ARGUMENTS
  13. .IP fIfuncfP 1i
  14. The new idle callback function.
  15. .SH DESCRIPTION
  16. glutIdleFunc sets the global idle callback to be func so a GLUT
  17. program can perform background processing tasks or continuous
  18. animation when window system events are not being received. If
  19. enabled, the idle callback is continuously called when events are not
  20. being received. The callback routine has no parameters. The current
  21. window and current menu will not be changed before the idle callback.
  22. Programs with multiple windows and/or menus should explicitly set the
  23. current window and/or current menu and not rely on its current setting. 
  24. The amount of computation and rendering done in an idle callback
  25. should be minimized to avoid affecting the program's interactive
  26. response. In general, not more than a single frame of rendering should be
  27. done in an idle callback. 
  28. Passing NULL to glutIdleFunc disables the generation of the idle
  29. callback.
  30. .SH EXAMPLE
  31. A typical idle callback to animate a window might look like:
  32. .nf
  33. .LP
  34.   void 
  35.   idle(void)
  36.   {
  37.     time += 0.05;
  38.     glutSetWindow(window);
  39.     glutPostRedisplay();
  40.   }
  41. .fi
  42. .LP
  43. Notice how the idle callback does not do any actual drawing; it only
  44. advances the time scene state global variable.  That
  45. is left to the window's display callback which will be triggered
  46. by the call to glutPostRedisplay.
  47. .LP
  48. If you use the idle callback for animation, you should be sure to stop
  49. rendering when the window is not visible.  This is easy to set up
  50. with a visibility callback.  For example:
  51. .nf
  52. .LP
  53.   void
  54.   visible(int vis)
  55.   {
  56.     if (vis == GLUT_VISIBLE)
  57.       glutIdleFunc(idle);
  58.     else
  59.       glutIdleFunc(NULL);
  60.   }
  61. .fi
  62. .LP
  63. If you do use the idle callback for animation, one thing you should
  64. .I not
  65. do is setup the idle callback before calling glutMainLoop.  It is much
  66. better to use the visibility callback to install idle callback when the
  67. window first becomes visible on the screen.
  68. .SH SEE ALSO
  69. glutTimerFunc, glutVisibilityFunc
  70. .SH AUTHOR
  71. Mark J. Kilgard (mjk@nvidia.com)