Graphics Reference
In-Depth Information
Figure 3.1: Two people using an early “rendering engine” to make a picture of a lute.
of the table can both be changed, so the relative positions of the viewpoint and the
drawing should be regarded as parameters of this scene-rendering engine.
The drawing's fidelity can be attributed to three main factors. First, light trav-
els along straight lines, so the stretched string represents a light path from the lute
to the eye. Second, the drawing of the lute sits in the scene, and when the shutter
is closed, it too sends light to the eye, from a corresponding direction. The points
of high contrast in the scene are represented by marks in the drawing, which are
themselves points of high contrast. Third, our visual system seems to “understand”
a scene largely in terms of high-contrast edges in the scene, so marks on the paper
and the real-world scene tend to provoke related responses in our visual systems.
Notice that the string always passes through the frame. If the first man moves
the pointer to a place that cannot be seen from the screw eye through the frame,
the string will touch the frame itself and bend around it. In this case, no mark is
made on the paper.
We'll now make our description of this “rendering” process slightly more for-
mal, as shown in Listing 3.1.
Listing 3.1: Pseudocode for the Dürer perspective rendering algorithm.
1
2
3
4
5
6
7
8
Input: a scene containing some objects, location of eye-point
Output: a drawing of the objects
initialize drawing to be blank
foreach object o
foreach visible point P of o
Open shutter
Place pointer at P
 
 
Search WWH ::




Custom Search