Method and system for providing texture using a selected portion of a texture map
First Claim
1. A computer graphics raster subsystem for providing texture from a texture pattern to an image to be rendered for display in real-time comprising:
- texture memory for storing a select portion of a texture map representation of said texture pattern, said select texture map portion containing texture data at multiple levels of detail to substantially cover said image in a display view;
texture mapping means for mapping texture data from said select texture map portion stored in said texture memory to corresponding pixel data defining said display image; and
clip-map updating means for updating edges of said select texture map portion to track changes in the location of the eyepoint in real-time.
3 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for quickly and efficiently providing texel data relevant for displaying a textured image. A large amount of texture source data, such as photographic terrain texture, is stored as a two-dimensional or three-dimensional texture MIP-map on one or more mass storage devices. Only a relatively small clip-map representing selected portions of the complete texture MIP-map is loaded into faster, more expensive memory. These selected texture MIP-map portions forming the clip-map consist of tiles which contain those texel values at each respective level of detail that are most likely to be mapped to pixels being rendered for display based upon the viewer'"'"'s eyepoint and field of view. To efficiently update the clip-map in real-time, texel data is loaded and discarded from the edges of tiles. Attempts to access a texel lying outside of a particular clip-map tile are accommodated by utilizing a substitute texel value obtained from the next coarser resolution clip-map tile which encompasses the sought texel.
-
Citations
28 Claims
-
1. A computer graphics raster subsystem for providing texture from a texture pattern to an image to be rendered for display in real-time comprising:
-
texture memory for storing a select portion of a texture map representation of said texture pattern, said select texture map portion containing texture data at multiple levels of detail to substantially cover said image in a display view; texture mapping means for mapping texture data from said select texture map portion stored in said texture memory to corresponding pixel data defining said display image; and clip-map updating means for updating edges of said select texture map portion to track changes in the location of the eyepoint in real-time. - View Dependent Claims (2)
-
-
3. A computer graphics processing system for providing texture from a texture pattern in a display image, comprising:
-
first texture memory for storing a texture map, said texture map having multiple level of detail maps for storing texels representing the texture pattern filtered at successively coarser resolutions; clip-map selecting means for selecting a clip-map within said texture map, said clip-map consisting of a set of tiles corresponding to regions of said level of detail maps substantially covering the display image; second texture memory for storing said clip-map; texture processor means for retrieving texels from said clip-map which map to pixel data forming the display image; and clip-map updating means for updating texels at edges of said tiles stored in said second texture memory to track changes in the location of an eyepoint. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer graphics processing system for providing texture from a texture pattern in a display image, comprising:
-
first texture memory for storing a texture map said texture map having multiple level of detail maps for storing texels representing the texture pattern filtered at successively coarser resolutions; clip-map selecting means for selecting a clip-map within said texture map, said clip-map consisting of a set of tiles corresponding to regions of said level of detail maps substantially covering the display image; second texture memory for storing said clip-map; and texture processor means for retrieving texels from said clip-map which map to pixel data forming the display image, wherein said texture processor means comprises; texture coordinate generator for generating at least one texture coordinate identifying where a pixel in the display image maps to the texture pattern, LOD generator for generating a LOD value, and a memory controller for retrieving at least one texel from said clip-map stored in said second texture memory based on said at least one texture coordinate and said LOD value, wherein, said LOD generator includes; LOD identifying means for identifying an appropriate level of detail representing the level of detail map amongst said multiple level of detail maps where texel dimension is closest in size to said pixel, texel determining means for determining whether a texel at said at least one texture coordinate is included in a first tile at said appropriate level of detail, said LOD value being set to said appropriate level of detail when said texel is included in said first tile, and substitute texel determining means for determining a substitute texel in a second tile which includes said at least one texture coordinate, said LOD value being set to the level of detail of said second tile.
-
-
15. A computer graphics processing system for providing texture from a texture pattern in a display image, comprising:
-
first texture memory for storing a texture map, said texture map having multiple level of detail maps for storing texels representing the texture pattern filtered at successively coarser resolutions; clip-map electing means for selecting a clip-map within said texture map, said clip-map consisting of a set of tiles corresponding to regions of said level of detail maps substantially covering the display image; second texture memory for storing said clip-map; and texture processor means for retrieving texels from said clip-map which map to pixel data forming the display image, wherein said set of tiles comprises a cubical part and a pyramidal part; said one or more tiles in said cubical part comprising one or more arrays of texels, respectively, within said regions of said level of detail maps, and said one or more tiles in said pyramidal part comprising one or more arrays of texels, respectively, said one or more arrays texels in said pyramidal part consisting of said level of detail maps which are equal to or smaller than said one or more tiles in said cubical part.
-
-
16. A method for providing texture from a texture pattern in a display image comprising the steps of:
-
storing a texture map in a first texture memory, said texture map having multiple level of detail maps for storing texels representing the texture pattern filtered at successively coarser resolutions; selecting a clip-map within said texture map, said clip-map consisting of a set of tiles corresponding to regions of said level of detail maps, said set of tiles being centered in a field of view extending from an eyepoint location of the display image to substantially cover the display image; storing said clip-map in a second texture memory; retrieving texels from said clip-map stored in said second texture memory which map to pixels forming the display image; and updating texels at edges of said tiles stored in said second texture memory to track changes in the location of the eyepoint location. - View Dependent Claims (17, 19, 20, 21, 22)
-
-
18. The method of 17, further comprising the step of checking whether a texel to be accessed is located in a fringe portion of a tile, said fringe portion including the edges where texels are updated, and using a substitute texel when said texel is located in said fringe portion.
-
23. A method for providing texture from a texture pattern in a display image comprising the steps of:
-
storing a texture map in a first texture memory, said texture map having multiple level of detail maps for storing texels representing the texture pattern filtered at successively coarser resolutions; selecting a clip-map within said texture map, said clip-map consisting of a set of tiles corresponding to regions of said level of detail maps, said set of tiles being centered in a field of view extending from an eyepoint location of the display image to substantially cover the display image; storing said clip-map in a second texture memory; and retrieving texels from said clip-map stored in said second texture memory which map to pixels forming the display image, wherein said retrieving step includes the following steps; generating at least one texture coordinate identifying where a pixel in the display image maps to the texture pattern, generating a LOD value, and retrieving at least one texel from said clip-map stored in said second texture memory based on said at least one texture coordinate and said LOD value, wherein, said LOD value generating step includes; identifying an appropriate level of detail representing the level of detail map amongst said multiple level of detail maps where texel dimension is closest in size to said pixel, determining whether a texel at said at least one texture coordinate is included in a first tile at said appropriate level of detail and setting said LOD value to said appropriate level of detail when said texel is included in said first tile, and when said texel in not included in said first tile, determining a substitute texel in a coarser second tile which includes said at least one texture coordinate and setting said LOD value to the level of detail of said second tile.
-
-
24. A texture processor for mapping texels from a clip-map to corresponding pixels, wherein the clip-map consists a set of tiles representing a selected portion of a texture MIP-map which substantially covers the pixels, said texture processor comprising:
-
a texture memory storing the clip-map; a texture generator; and a texture memory manager coupled between said texture generator and said texture memory, wherein said texture generator includes a texture coordinate generator for generating texel coordinates for each pixel and a LOD generator for generating a LOD value for each pixel, said LOD value identifies the tile which covers the pixel and has texel dimensions closest in size to the pixel, said texel coordinates and LOD value being output for each pixel to said texture memory manager; and said texture memory manager retrieves texels from the clip-map stored in said texture memory for combining with said pixels to form a textured display image. - View Dependent Claims (25, 26, 27, 28)
-
Specification