Referenced by
Claims1. A texture loading pipeline, comprising:
2. The texture loading pipeline of claim 1, wherein the texture storage stores a source texture having one or more levels of detail. 3. The texture loading pipeline of claim 1, wherein the ARQ retrieves requested texture tiles from a remote texture storage. 4. The texture loading pipeline of claim 1, wherein the tile cache comprises:
5. The texture loading pipeline of claim 4, wherein the decompressor operates asynchronously. 6. The texture loading pipeline of claim 1, wherein the tile cache further comprises:
7. The texture loading pipeline of claim 6, wherein the image processor combines two or more texture tiles into a single texture tile. 8. The texture loading pipeline of claim 1, wherein the textures within the region of interest are determined responsive to a toroidal roaming of the texture tiles in the tile cache. 9. The texture loading pipeline of claim 1, wherein the texture tiles stored in the texture storage from a source texture having multiple levels of detail and wherein there is an instance of the texture loading pipeline for each level, further comprising:
10. The texture loading pipeline of claim 9, wherein the pipeline driver outputs the region of interest to the tile cache and the texture cache, and wherein the tile cache provides texture tile requests to the ARQ responsive to the received region of interest and wherein textures are paged from the tile cache to the texture cache responsive to the received region of interest. 11. The texture loading pipeline of claim 9, wherein the tile cache is further adapted to provide texture tile requests to the ARQ responsive to speculative paging based on the received region of interest. 12. The texture loading pipeline of claim 9, wherein the pipeline driver outputs an update time to the texture caches of one or more of the texture loading pipeline instances, wherein the update time specifies an amount of processor time available to a texture cache to page textures within the region of interest from the tile cache to the texture cache. 13. The texture loading pipeline of claim 12, wherein each instance of the texture loading pipeline supports a particular bandwidth and wherein a majority of processing time is devoted to the texture loading pipeline supporting a bandwidth determined responsive to changes in the region of interest. 14. The texture loading pipeline of claim 9, wherein the pipeline driver receives an input value specifying which of the instances of the texture loading pipelines to activate. 15. The texture loading pipeline of claim 1, wherein there are multiple texture loading pipelines and further comprising:
16. The texture loading pipeline of claim 15, wherein the selected textures are in an arbitrary coordinate space and further comprising:
17. The texture loading pipeline of claim 16, wherein there are a plurality of texture matrixes and wherein the texture selector selects a plurality of the texture caches of the multiple texture loading pipelines and applies each selected texture cache to one of the plurality of texture matrixes. 18. A computer-implemented method of using a source texture to render a three-dimensional (3-D) scene, the source texture having a plurality of levels of detail, comprising the steps of:
19. The method of claim 18, further comprising the steps of:
20. The method of claim 19, wherein the texture tiles in the texture storage are compressed and further comprising the step of:
21. The method of claim 19, wherein the updating step comprises the step of:
22. The method of claim 18, wherein the selected textures are in an arbitrary coordinate space and further comprising the step of:
23. The method of claim 18 wherein each texture loading pipeline supports a particular bandwidth and wherein the texture loading pipeline supporting a best bandwidth for rendering the 3-D scene is provided with a majority of the update time. 24. A computer program product comprising:
25. The computer program product of claim 24, wherein the texture storage stores a source texture having one or more levels of detail. 26. The computer program product of claim 24, wherein the ARQ module retrieves requested texture tiles from a remote texture storage. 27. The computer program product of claim 24, wherein the tile cache module comprises:
28. The computer program product of claim 27, wherein the decompressor module operates asynchronously. 29. The computer program product of claim 24, wherein the tile cache module further comprises:
30. The computer program product of claim 29, wherein the image processor module combines two or more texture tiles into a single texture tile. 31. The computer program product of claim 24, wherein the textures within the region of interest are determined responsive to a toroidal roaming of the texture tiles in the tile cache module. 32. The computer program product of claim 24, wherein the texture tiles stored in the texture storage form a source texture having multiple levels of detail and wherein there is an instance of the texture loading pipeline for each level of detail, further comprising:
33. The computer program product of claim 32, wherein the pipeline driver module outputs the region of interest to the tile and texture cache modules, and wherein the tile cache module provides texture tile requests to the ARQ module responsive to the received region of interest and wherein textures are paged from the tile cache module to the texture cache module responsive to the received region of interest. 34. The computer program product of claim 32, wherein the pipeline driver module outputs an update time to the texture cache modules of one or more of the texture loading pipeline instances, wherein the update time specifies an amount of processor time available to a texture cache module to page textures within the region of interest from the tile cache module to the texture cache module. 35. The computer program product of claim 34, wherein a texture cache module returns data to the pipeline module specifying an amount of processor time used by the texture cache module to page textures within the region of interest from the tile cache module to the texture cache module. 36. The computer program product of claim 34, wherein each instance of the texture loading pipeline supports a particular bandwidth and wherein a majority of processing time is devoted to the texture loading pipeline supporting a bandwidth determined responsive to changes in the region of interest. 37. The computer program product of claim 32, wherein the pipeline driver module receives an input specifying which of the instances of the texture loading pipeline to activate. 38. The computer program product of claim 24, wherein there are multiple texture cache modules and further comprising:
39. The computer program product of claim 38, wherein the selected textures are in an arbitrary coordinate space and further comprising:
|