Graphics Reference
In-Depth Information
importon map is used to guide the construction of the photon map. For example,
when rendering a room inside a building, photons from the sun hitting the out-
side walls of a building can be discarded. In practice however, the importon map
may not correspond well to areas that a human observer would see as visually
important.
The main problem in effective photon mapping is how to predict where and
how many photons to shoot so that the map is sufficiently populated to capture
enough detail in visually significant areas. Graphics hardware can help with this.
The sheer speed of hardware rendering provides quick feedback, and has the po-
tential to allow a user to visually check and update the photon map at interac-
tive rates. This does, however, still require human intervention. The problem of
automatically predicting good photon distributions remains for future work, al-
though a recent paper by Toshiya Hachisuka and Jensen contains an interesting
approach [Hachisuka and Jensen 09].
2.5 Programmable Graphics Hardware and GI
2.5.1 Programmable Graphics Hardware
The graphics hardware is the part of computer hardware responsible for actu-
ally controlling the pixels on the display. The simplest graphics hardware merely
maintains a segment of memory that stores the pixels to be displayed, which is
known as a framebuffer , and then constructs the corresponding electrical signal
sent to the display device. Modern graphics hardware has become much more
complex. The central component is the graphics processing unit (GPU), a spe-
cialized microprocessor designed for graphics. Early GPUs were capable only of
executing hard-wired instructions for drawing graphics primitives, such as lines
and polygons with basic shading effects. They also handled hardware storage and
manipulation of texture maps , which are essentially just small images to be drawn
onto graphics primitives. Basic graphics hardware typically includes auxiliary
framebuffers and related data objects. For example, a stencil buffer is a grid of
integer pixels often used to mask parts of a texture or graphics primitive.
Recently programmable graphics hardware has emerged—GPUs can now ex-
ecute programs in a specialized instruction set much like the central processing
unit (CPU) of the computer. The first programmable GPUs had limited capabil-
ities: there were restrictions on program lengths, and constructs for conditional
execution and looping were restricted when they were even available. But each
generation of hardware came with fewer limitations and now GPUs have about
as much programming flexibility as CPUs; in fact, GPUs have become more
Search WWH ::




Custom Search