Top Banner
Presented By: Kiran Munir 08-SE-59
29
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Open GL  Animation

Presented By:Kiran Munir08-SE-59

Page 2: Open GL  Animation

• 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

Page 3: Open GL  Animation

• For animation • We can explicitly force the display

callback to be invoked by issuing the command glutPostRedisplay().

Page 4: Open GL  Animation

• For automated simulation• We need a mechanism for the window to

be continually updated automatically. • Idle Callback (glutIdleFunc()) • Timer Callback (glutTimerFunc()).

Page 5: Open GL  Animation

• 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.

Page 6: Open GL  Animation

A Simple Animation

Page 7: Open GL  Animation
Page 8: Open GL  Animation

• float X=0.0;• float deltaX=0.01;

Page 9: Open GL  Animation

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(); }

Page 10: Open GL  Animation
Page 11: Open GL  Animation

• Single Buffer Rendering• Hardware Dependence• Inconsistent speed

Page 12: Open GL  Animation

A Smooth Animation

Page 13: Open GL  Animation
Page 14: Open GL  Animation
Page 15: Open GL  Animation
Page 16: Open GL  Animation
Page 17: Open GL  Animation
Page 18: Open GL  Animation
Page 19: Open GL  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.

Page 20: Open GL  Animation

• No real solution• Make faster computers slow• Important for consistency

Page 21: Open GL  Animation

• Animation Delay• Select the minimal hardware

configuration• Set a time delay for animation

Page 22: Open GL  Animation

• Glut Timed Callback• GlutTimerFunc();

Page 23: Open GL  Animation

• glutTimerFunc(time,function,arg)• This causes function() to be called

after time milliseconds with arg as an argument to function()

Page 24: Open GL  Animation

void Timer(int unused){

glutPostRedisplay();glutTimerFunc(30,Timer,0);

}

Page 25: Open GL  Animation
Page 26: Open GL  Animation

• 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.

Page 27: Open GL  Animation
Page 28: Open GL  Animation

http://xoax.net/http://nehe.gamedev.net

Page 29: Open GL  Animation