Claims
- 1. In a system having a rendering pipeline for rendering an image that includes a primitive to which texture maps can be applied, wherein the rendering pipeline includes one or more texture units, a method for applying data obtained from texture maps to a pixel of a frame using the one or more texture units, the method comprising the acts of:
storing destination pixel data in a destination frame buffer; passing at least a first set of texture coordinates associated with the pixel to a texture unit, wherein said first set of texture coordinates is associated with a first texture map; obtaining first texture data from said first texture map, wherein said first texture data corresponds to the pixel; passing a second set of texture coordinates associated with the pixel to a texture unit, wherein said second set of texture coordinates is associated with a second texture map; obtaining second texture data from said second texture map, wherein said second texture data corresponds to the pixel; and modifying said destination pixel data to obtain composite texture data that is used to refresh a display screen.
- 2. A method as recited in claim 1, further comprising the act of storing said first texture data in a first frame buffer.
- 3. A method as recited in claim 2, wherein said act of modifying said destination pixel data comprises the act of blending texture data with said destination pixel data to obtain composite texture data that is used to refresh a display screen.
- 4. A method as recited in claim 3, wherein said texture data blended with said destination pixel data comprises said first texture data blended with said second texture data.
- 5. A method as recited in claim 3, wherein said texture data blended with said destination pixel data comprises one of said first texture data and said second texture data.
- 6. A method as recited in claim 3, further comprising the act of storing said second texture data in a second frame buffer.
- 7. A method as recited in claim 6, wherein said second frame buffer is created by dividing one of said destination frame buffer and said first frame buffer.
- 8. A method as recited in claim 6, further comprising the acts of:
passing a third set of texture coordinates associated with the pixel to a texture unit, wherein said third set of texture coordinates is associated with a third texture map; and obtaining third texture data from said third texture map, wherein said third texture data corresponds to the pixel.
- 9. A method as recited in claim 8, wherein said texture data blended with said destination pixel data comprises said third texture data.
- 10. A method as recited in claim 9, wherein said texture data blended with said destination pixel data further comprises at least one of said first texture data and said second texture data.
- 11. A method as recited in claim 1, further comprising the acts of:
creating a second frame buffer by dividing one of said destination frame buffer and a first frame buffer; storing said first texture data in said first frame buffer; and storing said second texture data in said second frame buffer.
- 12. A method as recited in claim 11, further comprising the acts of:
passing data associated with the pixel from one or more previous passes to a texture unit; and obtaining third texture data from a third texture map.
- 13. A method as recited in claim 12, wherein said act of modifying said destination pixel data comprises blending said destination pixel data with at least one of said first, second and third texture data.
- 14. In a system having a rendering pipeline with one or more texture units for rendering a three-dimensional object on a display screen, a method for using a plurality of frame buffers for preserving texture data, the method comprising the acts of:
storing destination pixel data in a destination frame buffer; storing first texture data obtained by a first texture unit in a first frame buffer, wherein said first texture data corresponds to a pixel of the display screen; storing second texture data obtained by a second texture unit in a second frame buffer, wherein said second texture data corresponds to said pixel of the display screen; determining whether third texture data corresponding to said pixel is to be obtained; and if said third texture data is not to be obtained, modifying said destination pixel data with at least one of said first texture data and said second texture data to obtain a composite texture data that is used to refresh the display screen.
- 15. A method as recited in claim 14, further comprising the act of creating said second frame buffer by dividing one of said destination frame buffer and said first frame buffer.
- 16. A method as recited in claim 14, wherein if said third texture data is to be obtained, performing the act of storing said third texture data in a third frame buffer, wherein said third texture data corresponds to said pixel of the display screen.
- 17. A method as recited in claim 16, further comprising the act of creating said third frame buffer by dividing one of said destination frame buffer, said first frame buffer and said second frame buffer.
- 18. A method as recited in claim 16, wherein at least one of said first texture data and said second texture data is utilized to obtain said third texture data.
- 19. A method as recited in claim 16, further comprising the acts of:
determining whether fourth texture data corresponding to said pixel is to be obtained, and if said fourth texture data is not to be obtained, modifying said destination pixel data with at least one of said first texture data, said second texture data, and said third texture data to obtain a composite texture data that is used to refresh the display screen.
- 20. A method as recited in claim 14, wherein said first texture unit and said second texture unit are the same texture unit.
- 21. A texture system for applying multiple texture maps to a primitive, wherein the texture system is included in an image rendering system having a rendering pipeline, the texture system comprising:
at least one texture unit for obtaining texture data for a pixel during texture passes, wherein during each texture pass a texture value is obtained from a texture map; and at least two frame buffers for separately storing destination pixel data and texture data.
- 22. A texture system as recited in claim 21, further comprising a texture map repository having a plurality of texture maps therein.
- 23. A texture system as recited in claim 22, further comprising a texture blender for blending texture data from multiple texture passes.
- 24. A texture system as recited in claim 23, further comprising a texture address modification unit for interpolating texture coordinates.
- 25. A texture system as recited in claim 24, wherein said texture data includes data obtained from multiple passes and blended together.
- 26. A computer program product for implementing within a rendering system a method for applying texture data from a plurality of texture maps using one or more texture units, the computer program product comprising:
a computer readable medium carrying computer program code means utilized to implement the method, wherein the computer program code means comprises executable code for implementing the acts of: storing destination pixel data in a destination frame buffer; passing at least a first set of texture coordinates associated with a pixel to the one or more texture units, wherein said first set of coordinates is also associated with a first texture map; obtaining first texture data from said first texture map, wherein said first texture data corresponds to the pixel; storing said first texture data in a first frame buffer; passing a second set of texture coordinates associated with the pixel to the one or more texture units, wherein said second set of coordinates is also associated with a second texture map; obtaining second texture data from said second texture map, wherein said second texture data corresponds to the pixel; and modifying said destination pixel data with at least one of said first texture data and said second texture data to obtain composite texture data that is used to refresh a display screen.
- 27. A computer program product as recited in claim 26, wherein said act of modifying comprises the act of blending at least one of said first and second texture data with said destination pixel data to obtain said composite texture data that is used to refresh a display screen.
- 28. A computer program product as recited in claim 26, wherein the computer program code means further comprises executable code for implementing the act of dividing at least one of said destination frame buffer and said first frame buffer to create a second frame buffer.
- 29. A computer program product as recited in claim 28, wherein the computer program code means further comprises executable code for implementing the act of storing said second texture data in said second frame buffer.
- 30. A computer program product as recited in claim 29, wherein the computer program code means further comprises executable code for implementing the acts of:
passing a third set of texture coordinates associated with the pixel to the one or more texture units, wherein said third set of coordinates is also associated with a third texture map; and obtaining third texture data from said third texture map, wherein said third texture data corresponds to the pixel.
- 31. A computer program product as recited in claim 30, wherein said third set of texture coordinates includes at least one of said first texture data and said second texture data.
- 32. A computer program product as recited in claim 31, wherein the computer program code means further comprises executable code for implementing the act of blending said third texture data with at least one of said first texture data and said second texture data to obtain blended texture data.
- 33. A computer program product as recited in claim 31, wherein the act of modifying further comprises the act of blending said blended texture data with said destination pixel data to obtain said composite texture data that is used to refresh a display device.
- 34. A computer program product as recited in claim 31, wherein the act of modifying further comprises the act of blending said third texture data with said destination pixel data to obtain said composite texture data that is used to refresh a display device.
Parent Case Info
[0001] 1. RELATED APPLICATION
[0002] This application is a continuation-in-part of U.S. patent application Ser. No. 09/822,659, filed Mar. 30, 2001, entitled “Applying Multiple Texture Maps to Objects Using a Single Texture Unit,” which is incorporated herein by reference.
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
09822659 |
Mar 2001 |
US |
| Child |
09939130 |
Aug 2001 |
US |