07.01.2013 Views

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Reflection 156<br />

Glossy Reflection<br />

Fully glossy reflection, shows<br />

highlights from light sources, but does<br />

not show a clear reflection from<br />

objects.<br />

Reflection mapping<br />

In computer <strong>graphics</strong>, environment mapping, or reflection mapping,<br />

is an efficient Image-based lighting technique for approximating the<br />

appearance of a reflective surface by means of a precomputed texture<br />

image. The texture is used to store the image of the distant<br />

environment surrounding the rendered object.<br />

Several ways of storing the surrounding environment are employed.<br />

The first technique was sphere mapping, in which a single texture<br />

contains the image of the surroundings as reflected on a mirror ball. It<br />

has been almost entirely surpassed by cube mapping, in which the<br />

environment is projected onto the six faces of a cube and stored as six<br />

square textures or unfolded into six square regions of a single texture.<br />

The sphere on the left has normal, metallic reflection. The sphere on the right has the<br />

same parameters, except that the reflection is marked as "glossy".<br />

An example of reflection mapping.<br />

Other projections that have some superior mathematical or computational properties include the paraboloid<br />

mapping, the pyramid mapping, the octahedron mapping, and the HEALPix mapping.<br />

The reflection mapping approach is more efficient than the classical ray tracing approach of computing the exact<br />

reflection by tracing a ray and following its optical path. The reflection color used in the shading computation at a<br />

pixel is determined by calculating the reflection vector at the point on the object and mapping it to the texel in the<br />

environment map. This technique often produces results that are superficially similar to those generated by<br />

raytracing, but is less computationally expensive since the radiance value of the reflection comes from calculating<br />

the angles of incidence and reflection, followed by a texture lookup, rather than followed by tracing a ray against the<br />

scene geometry and computing the radiance of the ray, simplifying the GPU workload.<br />

However in most circumstances a mapped reflection is only an approximation of the real reflection. Environment<br />

mapping relies on two assumptions that are seldom satisfied:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!