Category: 

What Is Sphere Mapping?

Article Details
  • Written By: Eugene P.
  • Edited By: Angela B.
  • Last Modified Date: 04 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Built at the request of Dag Hammarskj√∂ld, the United Nations Headquarters has a meditation room dedicated to silence.   more...

October 1 ,  1890 :  Yosemite National Park was established.  more...

In computer graphics, sphere mapping can refer to either of two methods that are used to apply an image or procedural texture to a three-dimensional (3D) sphere. Generically, sphere mapping is used to apply a two-dimensional (2D) rasterized image to the surface of a sphere, distorting the flat image to match the polar coordinates of the shape. Sphere mapping also is used to describe a form of environmental mapping that uses a pre-rendered image of the scene that is mapped onto the surface of a sphere in a way that makes the sphere appear to be reflecting the environment around it, like a ball made from perfectly reflective metal. Both types of sphere mapping result in a three-dimensional sphere that has a texture applied to its surface, although the environmental mapping distorts the image in a different way than spherical projection mapping.

Ad

When used to apply a texture to a sphere shape, sphere mapping takes a 2D image and projects it onto the surface of the sphere being textured. The image follows the coordinate system of the sphere, where each vertex on the surface aligns much like the intersections of longitude and latitude lines on a globe. This means that, as the image reaches the poles of the sphere on the top and bottom, the image will start to compress toward a single vertex, effectively distorting the image. In many cases with a properly created texture image, this gives a more natural appearance to the sphere as opposed to using cube mapping or cylinder mapping. This technique is used to create graphics and animations of textured spheres such as the planet Earth with satellite images of the oceans and continents.

When used in environmental mapping, sphere mapping is a fast way to create an object that seems to have a mirror surface. The process calculates the vectors of light from the surface of the sphere, and that vector is then translated into coordinates that are used to find the color within a 2D image. Unlike projection sphere mapping, the reflective version distorts the image in a slightly different way.

One advantage to using environmental sphere mapping is that it is very fast compared to other methods, such as ray tracing, which dynamically calculates the reflection based on the objects in the scene. The method is fast because the reflection actually is a pre-rendered image. This leads to some complications with the technique, because dynamic changes to the environment, or objects that are moving in the scene, will not be shown in the reflection. Additionally, because the perceived reflection is static, concave shapes that receive the mapping will not reflect themselves, causing a sometimes confusing visual effect.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}