Computer animation is the art of creating moving images via the use of computers.
It is a subfield of computer graphics and animation.
Increasingly it is created by means of 3D computer graphics, though 2D computer graphics are still widely used for low bandwidth and faster real-time rendering needs.
Sometimes the target of the animation is the computer itself, but it sometimes the target is another medium, such as film.
It is also referred to as CGI (Computer-generated imagery or computer-generated imaging), especially when used in films.
To create the illusion of movement, an image is displayed on the computer screen then quickly replaced by a new image that is similar to the previous image, but shifted slightly.
This technique is identical to how the illusion of movement is achieved with television and motion pictures.
Computer animation is essentially a digital successor to the art of stop motion animation of 3D models and frame-by-frame animation of 2D illustrations.
For 3D animations, objects (models) are built on the computer monitor (modeled) and 3D figures are rigged with a virtual skeleton.
For 2D figure animations, separate objects (illustrations) and separate transparent layers are used, with or without a virtual skeleton.
Then the limbs, eyes, mouth, clothes, etc. of the figure are moved by the animator on key frames.
The differences in appearance between key frames are automatically calculated by the computer in a process known as tweening or morphing.
Finally, the animation is rendered.
For 3D animations, all frames must be rendered after modeling is complete.
For 2D vector animations, the rendering process is the key frame illustration process, while tweened frames are rendered as needed.
For pre-recorded presentations, the rendered frames are transferred to a different format or medium such as film or digital video.
The frames may also be rendered in real time as they are presented to the end-user audience.
Low bandwidth animations transmitted via the internet (e.g. 2D Flash, X3D) often use software on the end-users computer to render in real time as an alternative to streaming or pre-loaded high bandwidth animations.