What do we mean by 3-D color?
Rendering is the process of creating two-dimensional
computer graphics images (i.e. pixel arrays) from three-dimensional scene
databases.
Projection - like casting a shadow
During the rendering process, a 3-D scene database is
projected onto a 2-D virtual image plane defined by a virtual camera.


-
Rasterization and aliasing
-
Improve resolution via:

-
Pixels
-
Colors
-
For n bits, number of colors = 2 to the n power


-
Geometry Calculations - transforming object space coordinates
into screen space coordinates, clipping unseen portions of the database,
tessellating the database, determining vertex colors based on surface definitions
and light falling on objects
-
Triangle Setup Calculations - determining the horizontal
and vertical rates of change in color (in screen space) between vertices
of triangles
-
Rasterization - generating pixel-based data from the results
of the above steps
-
Frame buffer - display memory into which pixel data is written
and from which the display is refreshed (alternatively can render to a
disk file)


Software, hardware and the rendering pipeline:
-
The core application is implemented in software
-
The frame buffer by definition is implemented in hardware
-
The intervening steps in the rendering pipeline can be handled
in either hardware or software
-
Increasingly, they are being handled in hardware, which is
one of the key forces that drives increasing price/performance in graphics
systems
Various algorithms then may be employed for converting
the 2-D image to a pixel array appropriate for a given display, and determining
the colors for each pixel in that array. Pixel colors are derived from
the interplay of various elements of a 3-D scene. The color of each pixel
in the rendered image potentially is influenced by:
-
Position and orientation of scene geometry
-
Postion and optical characteristics of the camera
-
Material and surface definitions
-
Number, color, type and position of light sources
-
Environments, Atmospheres, etc.
-
Rendering algorithm(s) employed
What constitutes realism?
-
the rigorous simulation of the physical phenomena of light
bouncing through an environment, in which an attempt is made to mimic the
workings of reality, usually more accurate, but slower
-
the illusion of realism by empirical approximations, in which
an attempt is made to represent an impression that is sufficiently similar
to reality to serve a particular purpose, usually faster, but ``good enough''
Why not always strive for maximum ``realism''?
Because higher fidelity feedback usually has a cost. Satisfactory
performance may require:
-
More sophisticated graphics hardware ($)
-
Longer time to render (decreased interactivity, increased
production time)
Factors affecting rendering efficiency:
-
complexity of geometry (number of entities/polygons)
more geometric detail = more calculations = more time
to render
-
complexity of surface representation (shading models, surface
mapping, etc.)
richer surface descriptions = more calculations =
more time to render
-
complexity of lighting
more lights or more complex lights = more calculations
= more time to render
-
complexity of rendering algorithm
In general, the more a rendering method approaches the simulation
of physical phenomena, the more computationally expensive it becomes (e.g.
ray tracing, radiosity).
When do we render?
Constantly, at various levels of fidelity, at various
stages in the 3-D process, depending on the needs of the moment.
A pragmatic approach to rendering requires that we determine
what level of interactivity will be required and what level of representation
is ``good enough'' for a given case, and then tailor the rendering approach
to those requirements.
Back to 3-D Color outline
This file was last modified on September 23, 2002.