A computer graphics program for research in realistic
portrait of real scenes using pseudo random functions
`` the quest for visual realism''
This research started following the class "cs174"
``Computer graphics lab''
that the author took while attending the
California Institute of Tecnology;
the program was built originally as homework; it was an image
processor with a renderer that could work as a graphic pipeline or a
raytracer.
This led start to a more important line of research : the
basic idea is that when a geometrical object is displayed on a
computer, it usually looks too ``tidy'' to seem real; there are two
complementary ways to solvethe problem:
the first is to use more complex geometrical primitives, and the
second is to study a better model for the ``material definition''.
Given where the lights are in the
virtual world we put the geometrical primitive in,
a ``material definition'' is the way the light
shades and colors the object's surface; physical studies have been
done on the subject to try to find functions that would give to
objectsrendered on the screen a real look.
Even if a function that perfectly computes the shading of an object
is implemented (to have it look, say, as if it were made of gold),
still the object would not seem real. The reason is that the virtual
object are too perfect to be true; this is where pseudorandom functions
help.
To perform this research, the graphics program has been transformed into
a
``programmable raytracer'' : when an object is put in the virtual world,
it is possible to specify a function the program will use when it
will compute the lightining of the object; in doing so,
pseudo random functions can be used.
A few technical words:
a tecnique called ``bump mapping'' has been used; the basic idea is
that to speed up things; when we want to draw an object that should look
like a bumpy sphere , the best answer is to drawa perfectly flat
mathematical sphere, but to alter the normal to the surface used to
compute the lighting, as if the surface was really bumpy; the effect is
quite astonishingly the same .
To conclude, a few words on
the example
and on the reason all this work
has been done for;
in the example you see , the tree surface has been ``bump mapped''
using a pseudo random
function called ``hilly function''; in the ground, the water is
bump mapped using a fractal obtained summing sinusoidal functions,
while the terrain is a ``bumpy function''; even the decision of where
to have water and where to have terrain was left to a ``bumpy
function''.
The reason why all this work is carried on is :
to study better computer visualization; and also to study better the
way we see: understanding how a ``real looking'' object can be drawn
tells us a lot on how the brain sees; moreover it is a good way to
build images to test computer vision ideas and systems: real looking
computer images are a much more controlled type of test for a robotic
viewer than any real image.
Maybe a good idea in studying
these subjects could be to study a better computer graphic
and a better computer vision together.