Presented By: Kiran Munir 08-SE-59
Animation  is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an  illusion  of movement. "Animation" would be the technique of giving "soul" to objects and drawings
For animation  We can explicitly force the display callback to be invoked by issuing the command  glutPostRedisplay() .
For automated simulation We need a mechanism for the window to be continually updated automatically.  Idle Callback ( glutIdleFunc() )  Timer Callback ( glutTimerFunc() ).
The  Idle Callback  specifies a function that is invoked whenever the system is not handling any other callbacks or events.  Timer Callback  specifies a function that is invoked after a specified time period.
A Simple Animation
 
float X=0.0; float deltaX=0.01;
Void draw(void) { glClear (GL_COLOR_BUFFER_BIT);  glBegin (GL_LINES); glVertex3f ( X,  0.25,0.0);  glVertex3f ( 1.0-X , 0.75,0.0); glEnd ( ); glFlush ();  X+=deltaX; if(X>=1.0 || X<=0.0){ deltaX=-deltaX; } glutPostRedisplay();  }
 
Single Buffer Rendering Hardware Dependence Inconsistent speed
A Smooth Animation
 
 
 
 
 
 
Now to compile and execute we see a smooth animated line segment Double  buffering is insignificant In this case, but is important in drawing complex scenes.
No real solution Make faster computers slow Important for consistency
Animation Delay Select the minimal hardware configuration Set a time delay  for animation
Glut Timed Callback GlutTimerFunc();
glutTimerFunc(time,function,arg) This causes function() to be called after time milliseconds with arg as an argument to function()
void Timer(int unused) { glutPostRedisplay(); glutTimerFunc(30,Timer,0); }
 
At the end of 30 milliseconds the function timer is called again and dispatches the redisplay and timer messages. To compile and execute the program we see a much smoother animation. Simultaneously running applications can slow down your animation.
 
http://xoax.net/ http://nehe.gamedev.net
 

Open GL Animation

  • 1.
    Presented By: KiranMunir 08-SE-59
  • 2.
    Animation isthe rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. &quot;Animation&quot; would be the technique of giving &quot;soul&quot; to objects and drawings
  • 3.
    For animation We can explicitly force the display callback to be invoked by issuing the command glutPostRedisplay() .
  • 4.
    For automated simulationWe need a mechanism for the window to be continually updated automatically. Idle Callback ( glutIdleFunc() ) Timer Callback ( glutTimerFunc() ).
  • 5.
    The IdleCallback specifies a function that is invoked whenever the system is not handling any other callbacks or events. Timer Callback specifies a function that is invoked after a specified time period.
  • 6.
  • 7.
  • 8.
    float X=0.0; floatdeltaX=0.01;
  • 9.
    Void draw(void) {glClear (GL_COLOR_BUFFER_BIT); glBegin (GL_LINES); glVertex3f ( X, 0.25,0.0); glVertex3f ( 1.0-X , 0.75,0.0); glEnd ( ); glFlush (); X+=deltaX; if(X>=1.0 || X<=0.0){ deltaX=-deltaX; } glutPostRedisplay(); }
  • 10.
  • 11.
    Single Buffer RenderingHardware Dependence Inconsistent speed
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    Now to compileand execute we see a smooth animated line segment Double buffering is insignificant In this case, but is important in drawing complex scenes.
  • 20.
    No real solutionMake faster computers slow Important for consistency
  • 21.
    Animation Delay Selectthe minimal hardware configuration Set a time delay for animation
  • 22.
    Glut Timed CallbackGlutTimerFunc();
  • 23.
    glutTimerFunc(time,function,arg) This causesfunction() to be called after time milliseconds with arg as an argument to function()
  • 24.
    void Timer(int unused){ glutPostRedisplay(); glutTimerFunc(30,Timer,0); }
  • 25.
  • 26.
    At the endof 30 milliseconds the function timer is called again and dispatches the redisplay and timer messages. To compile and execute the program we see a much smoother animation. Simultaneously running applications can slow down your animation.
  • 27.
  • 28.
  • 29.