Computer Graphics Page 6

Animation

Animation: any change that has a visual effect.

Motion Dynamics: movements (geometry change)

Update Dynamics: attribute change (color, texture, …)

Others: camera position, lighting, rendering techniques, …

1. key-frame animation:

Þ Key frames

Þ Inbetweening

Þ Interpolations:

Lerping (linear interpolation),

parabola interpolation

Implementation using an animation language:

·  Programmers provide a set of key time-position values.

·  The language does the inbetweening (interpolation).

Example:

Key-time: [0.0, 0.5, 1.0]

Key-position: [(0,0,0), (5,20,0),(10,0,0)]

2. 
Neighborhood skeletons: use a skeleton to define interpolated shapes, usually done by animation tools with sketching capability.

3.  LUT animation:

look up table animation: cycle the colors in the lut.


Figure 21.4

4. Animation Languages:

Linear list notations

e.g.:

42,53,B ROTATE “PALM”,1,30

Between frames 42 and 53, rotate the object called PALM about axis 1 by 30 degrees, determining the amount of rotation at each frame from table B.

General purpose languages

e.g.

grasp my-cube

cw 0.5

grasp camera

right panning

Graphical languages : describe animation in a visual way instead of using a scripts.

e.g. P-curves (parametric representation of motion)

Figure 21.5

5. Animation Control

Þ Explicit: animator provides a description of everything that occurs in the animation.

Þ Tracking live action.

Þ Procedural: movement computed by a procedure.

Þ Actors (Object-oriented high-level procedural control)

Þ Kinematics: positions and velocities of points.

Þ Dynamics: physical laws that govern kinematics.

Þ Physically based: cloth draping, plastics bending, …

Þ Constraint-based: constraint movements.


Figure 21.7

6. Baisc Rules of Animation: to reduce jerky motion (temporal aliasing).

Double Buffering

Þ Why?

à  to reduce flickering

Þ How?

à  Draw to the invisible back buffer,

à  Copy to the visible front buffer. (Btblt)==>very fast with HW assistance

7. Game Programming: interactive animation.

Controlers (input devices):

CL (commend line input)

GUI (Graphical User Interface)

NUI (Natural Interface)

Avitors and Game Objects:

OpenGL (Open Graphics Library):

for local display

WebGL, VRML (Virtual Reality Modeling Language), X3D:

for remote display

Game Engines:

Unreal, Unity3D, Maya, Blender, Panda3D

09/24/15