Rendering and Animation are the foundation for practically all visual layouts in a Virtual Reality program. In most Virtual Reality and Telepresence settings, the system has some three-or-more-dimensional model of the application domain, whether it is an unreal realm, the inside of a body, the stock market, or molecular modeling.
Rendering is the method of making a representation of this world that can be displayed using regardless of two-dimensional output devices are readily available. Even so-called three-dimensional output devices such as head-mounted presentations with stereo output are basically just two tightly-coupled two-dimensional tools which show the world from slightly varied points of view to replicate how our two eyes see the world. An animation is a process of repeatedly drawing relatively several views of the world to exemplify changes that occur, either under the control of the system or through activities taken by the user.
Rendering algorithms and animation quality are elaborately connected, since, the more reliable the rendering algorithms are, the higher the Animation frame rate can be. The frame rate is the number of times the display is updated per second.
The well-developed area of Computer Graphics has obtained many algorithms for rendering three-dimensional objects onto two-dimensional displays. There are several issues associated with this approach, including, but not restricted to, drawing polygons, filling polygons, shading, shadows, exhibiting patterns, changing line and pen styles, and clipping and visible-surface determination.
Generally, objects are exemplified using polygons because they are fairly easy to draw and, by using enough number of polygons, most shapes can be closely estimated. Patterns are important due to the fact that they can be used to substantially reduce the number of polygons needed to properly present real-world objects.
Since rendering time is normally relative to the number of polygons to be drawn, minimizing the number of polygons to be drawn allows increased computer animation quality through higher frame rates. As an example, consider drawing a brick wall; we could exhibit each brick as a rectangle and draw each separately.
Unfortunately, there might be thousands of bricks in the wall, which would reduce the rendering process greatly. Alternatively, we could represent the wall as one large rectangle and draw a brick pattern over the rectangle, which would be much quicker.
Clipping and visible-surface determination are the most important stages of rendering. Clipping determines which objects in the three-dimensional world show through the viewport.
Visible-surface determination is the process of determining which parts of the noticeable objects are prominent from a particular viewpoint. Conceptually, it is not very difficult; unfortunately, unless the hardware being used has built-in support for visible-surface determination, the algorithms take a lot of computation. Common algorithms include Z-buffering, space partitioning, and ray tracing.
Generally, only high-end hardware (such as Silicon Graphics workstations) has hardware support – PC’s and even most workstations rely on smart algorithms. Fortunately, there is a lot of live research in the area of developed visible-surface determination algorithms.
Animation means means bringing to life. Instead of a static picture of a scene, by animating it, it allows a system to change, whether that change is a result of the passage of time or by actions taken by agents in the scene. As such, an animation is vital to Virtual Reality – without it, we would basically be looking at three-dimensional photos.
Animation is vital to the interaction capabilities of virtual environments. Animation does not entail that objects in the scene are moving; it could be that the viewpoint of the user is evolving, as in an architectural walk-through application. Colors of objects in the scene can change relative to changes in properties of those objects; heavily traded stocks could become brighter in a financial analysis application.
Of course, animation also must handle objects that move: other people in a cooperative-work environment; agents controlled by the system; bouncing balls in a virtual physics laboratory; walls, doors, and windows in an architectural-design application.