Textured sphere and spherical environment map rendering using texture map double indirection
First Claim
1. A method for rendering views of an image projected onto a sphere from a predetermined projection orientation with respect to a viewer, said views being capable of manipulation along multiple axes, said method comprising the steps of:
- a) providing a texture map comprised of a plurality of pixel shading values, said texture map providing an image to be viewed;
b) generating a screen look-up table comprised of look-up addresses, said screen look-up table corresponding to a display window having said predetermined projection orientation with respect to a viewer;
c) generating a parametric look-up table comprised of texture map indices, said parametric look-up table being of the same size as said texture map, said texture map indices in said parametric look-up table corresponding to information in said screen look-up table being rotated N degrees;
for each look-up address in said screen look-up table;
providing a first offset to said look-up address to identify a corresponding entry in said parametric look-up table, said first offset causing rotation of said image projected onto a sphere from a predetermined projection orientation with respect to a viewer along a first axis;
providing a second offset to said identified corresponding entry in said parametric look-up table to create an index value into said texture map, said second offset causing rotation of said image projected onto a sphere from a predetermined projection orientation with respect to a viewer along a second axis, said second axis being different than said first axis;
retrieving an entry in said texture map based on said index value, said entry being a pixel shading value for said look-up address in said screen look-up table.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for rendering textured spheres and spherical environment maps. The method of the present invention provides for real time rotation of a textured sphere and panning of the view into a spherical environment map, along multiple axes without the need for special rendering hardware. A two-level indexing scheme for accessing pixel data in a texture map, is used to identify shading values for pixels in a display window. The two-level indexing scheme is comprised of a screen look-up table and a parametric look-up table. The screen look-up table has the dimensions of the display window, whereas the parametric look-up table has the dimensions of the parametric spherical environment map (wherein the pixel addresses are rotated 90 degrees from the origin). The method for the present invention is comprised primarily of the steps of: providing a parametric spherical environment map of the image to be viewed, generating a screen look-up table comprised of look-up addresses, generating a parametric look-up table comprised of index values into the parametric spherical environment map, and for each look-up address in the screen look-up table, mapping to an entry in the parametric look-up table, retrieving the value in the entry, and using the value to retrieve pixel values from the parametric spherical environment map. Rotation or movement of the view being seen is accomplished by adding offsets to the look-up address and/or the index values.
-
Citations
22 Claims
-
1. A method for rendering views of an image projected onto a sphere from a predetermined projection orientation with respect to a viewer, said views being capable of manipulation along multiple axes, said method comprising the steps of:
-
a) providing a texture map comprised of a plurality of pixel shading values, said texture map providing an image to be viewed; b) generating a screen look-up table comprised of look-up addresses, said screen look-up table corresponding to a display window having said predetermined projection orientation with respect to a viewer; c) generating a parametric look-up table comprised of texture map indices, said parametric look-up table being of the same size as said texture map, said texture map indices in said parametric look-up table corresponding to information in said screen look-up table being rotated N degrees; for each look-up address in said screen look-up table; providing a first offset to said look-up address to identify a corresponding entry in said parametric look-up table, said first offset causing rotation of said image projected onto a sphere from a predetermined projection orientation with respect to a viewer along a first axis; providing a second offset to said identified corresponding entry in said parametric look-up table to create an index value into said texture map, said second offset causing rotation of said image projected onto a sphere from a predetermined projection orientation with respect to a viewer along a second axis, said second axis being different than said first axis; retrieving an entry in said texture map based on said index value, said entry being a pixel shading value for said look-up address in said screen look-up table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for generating texture map indices for rotating the view of a textured sphere along a first axis and a second axis while rendering said textured sphere, said method comprising the steps of:
-
a) generating a screen look-up table representing an orthogonal view of a first sphere in a display window, said screen look-up table having a plurality of entries representing first sphere parameters (u,v); b) generating a parametric look-up table representing a mapping of said first sphere parameters (u,v) to a second sphere, said second sphere rotated by N degrees about an axis perpendicular to the poles of said first sphere, where N is not zero, said parametric look-up table having a plurality of entries representing second sphere parameters (u'"'"',v'"'"'), and c) for each entry (u,v) in said screen look-up table, combining a first offset with said entry (u,v) to create an index into said parametric look-up table, therein causing rotation of said textured sphere along said first axis, retrieving an entry (u'"'"',v'"'"') from said parametric look-up table based on said index, and combining a second offset with said entry (u'"'"',v'"'"') of said parametric look-up table to create a texture map index, therein causing rotation of said textured sphere along said second axis. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for generating texture map indices while rendering a view of a spherical environment map projected on a sphere with the viewing position at the center of said sphere for panning along a first axis and a second axis, said method comprising the steps of:
-
a) generating a screen look-up table representing a view of a first sphere having a viewing position at the center of said first sphere, said screen look-up table having a plurality of entries representing first sphere parameter (u,v); b) generating a parametric look-up table representing a mapping of said first sphere parameters (u,v) to a second sphere, said second sphere rotated by N degrees about an axis perpendicular to the poles of said first sphere, where N is not zero, said parametric look-up table having a plurality of entries representing second sphere parameters (u'"'"',v'"'"') for each entry (u,v) in said screen look-up table, combining a first offset with said entry (u,v) to create an index into said parametric look-up table, therein causing panning of said projected spherical environment map along said first axis, retrieving an entry (u'"'"',v'"'"') into said parametric look-up based on said index, combining a second offset with said entry (u'"'"',v'"'"') of said parametric look-up table to create a texture map index, therein causing panning of said projected spherical environment map along said second axis. - View Dependent Claims (16, 17, 18)
-
-
19. A method of accessing texture map information for rotating the view of a textured sphere along a first axis and a second axis while rendering said textured sphere, said method comprising the steps of:
-
a) generating a screen look-up table representing a first sphere having a first orientation, said first sphere having a plurality of first sphere parameters (u,v), u corresponding to a position along the equator of said first sphere, v corresponding to a position between the poles of said first sphere, said screen look-up table having a plurality of first storage locations, each of said plurality of first storage locations corresponding to one of said plurality of first sphere parameters, each of said plurality of first storage locations for storing values corresponding to one of a plurality of second sphere parameters (u'"'"',v'"'"'); b) generating a parametric look-up table representing a second sphere having a second orientation rotated 90°
from an axis perpendicular to an axis between the poles of said first sphere, said second sphere having said plurality of second sphere parameters (u'"'"',v'"'"'), said parametric look-up table having a plurality of second storage locations, each of said plurality of second storage locations corresponding to one of said plurality of second sphere parameters, each of said second plurality of storage locations for storing one of a plurality of indices to said texture map, andc) for each of said first sphere parameters (u,v), performing the following steps, providing a u offset, said u offset representative of a translation in a first direction, generating an address corresponding to (u+u offset, v), accessing a parametric look-up table index corresponding to said (u+u offset, v), said parametric look-up table index corresponding to one of said plurality of second sphere parameters (u'"'"',v'"'"'), providing a u'"'"' offset, said u'"'"' offset representative of a translation in a second direction, said second direction being 90°
from said first direction,generating a texture map index corresponding to (u'"'"'+u'"'"' offset, v'"'"'), and accessing said texture map at a location corresponding to said texture map index. - View Dependent Claims (20, 21, 22)
-
Specification