Claims
- 1. A 3D graphics processing architecture, comprising:
a rasterization stage which, when active, generates outputs for multiple respective pixels of multiple fragments; a Z-buffering stage which, when active,
performs Z-buffering processes for ones of said pixels to obtain a set of comparison values in a Z-buffer, and then tests said pixels of said fragments against said Z-buffer comparison values to determine which pixels are occluded, and then writes corresponding pixel data, for at least some said fragments, to memory; and at least one further rendering stage which, when active, reads pixel data from said memory, and performs per-pixel rendering operations thereon.
- 2. The architecture of claim 1, wherein said rasterization stage and said Z-buffering stage are integrated on a common chip, and said memory is not on said chip.
- 3. The architecture of claim 1, wherein said rasterization and further rendering stages each have a message-passing pipelined architecture.
- 4. The architecture of claim 1, wherein said memory consists of main system memory.
- 5. The architecture of claim 1, wherein said memory is provided by virtual memory.
- 6. A reconfigurable architecture for processing 3D graphics, comprising:
a rasterization stage which, when active, generates outputs for multiple respective pixels of multiple fragments; and a Z-buffering stage which:
in a first mode, performs single-pass Z-buffering for ones of said pixels, and transmits corresponding pixel data, for at least some said fragments, to at least one further rendering stage which performs per-pixel rendering; and in a second mode, performs multi-pass Z-buffering for ones of said pixels, and writes corresponding pixel data, for at least some said fragments, to memory.
- 7. The architecture of claim 6, wherein said rasterization stage and said Z-buffering stage are integrated on a common chip, and said memory is not on said chip.
- 8. The architecture of claim 6, wherein said Z-buffering and further rendering stages each have a message-passing pipelined architecture.
- 9. The architecture of claim 6, wherein said memory consists of main memory.
- 10. The architecture of claim 6, wherein said memory is provided by virtual memory.
- 11. An architecture for processing 3D graphics, comprising:
a transform/lighting stage which programmably performs lighting calculations and geometric transforms on incoming data; a Z-buffering stage which performs Z-buffering calculations; and a texturing stage which performs at least some per-pixel rendering operations; wherein outputs of said transform/lighting stage are written to bulk memory which is not local to said transform/lighting stage nor to Z-buffering stage, and wherein said Z-buffering stage reads input data from said bulk memory; and wherein outputs of said Z-buffering stage are written to bulk memory which is not local to said Z-buffering stage, and wherein said texturing stage reads input data from said bulk memory.
- 12. The architecture of claim 11, wherein said transform/lighting stage and said Z-buffering stage are integrated on a common chip, and said bulk memory is not on said chip.
- 13. The architecture of claim 11, wherein said Z-buffering and texturing stages each have a message-passing pipelined architecture.
- 14. The architecture of claim 11, wherein said bulk memory consists of main memory.
- 15. The architecture of claim 11, wherein said bulk memory is provided by virtual memory.
- 16. An architecture for processing 3D graphics, comprising:
a transform/lighting stage which programmably performs lighting calculations and geometric transforms on incoming data, and writes resulting fragment data to bulk memory which is not local to said transform/lighting stage; a Z-buffering stage, which performs multi-pass Z-buffering on pixel data corresponding to said fragment data, and writes resulting pixel data to bulk memory; and a texturing stage which reads said pixel data from said bulk memory, and performs at least some per-pixel rendering operations, to thereby generate image data outputs.
- 17. The architecture of claim 16, wherein said transform/lighting stage and said Z-buffering stage are integrated on a common chip, and said bulk memory is not on said chip.
- 18. The architecture of claim 16, wherein said Z-buffering and texturing stages each have a message-passing pipelined architecture.
- 19. The architecture of claim 16, wherein said bulk memory consists of main memory.
- 20. The architecture of claim 16, wherein said bulk memory is provided by virtual memory.
- 21. A reconfigurable architecture for processing 3D graphics, comprising:
a transform/lighting stage which programmably performs lighting calculations and geometric transforms on incoming data, and which writes resulting fragment data, through a respective memory interface, to bulk memory which is not local to said transform/lighting stage; a rasterization stage which, when active, reads said resulting fragment data from said bulk memory, and generates pixel outputs for multiple respective pixels of said fragments; a Z-buffering stage which, when active,
performs Z-buffering processes for ones of said pixels to obtain Z-buffer comparison values, and then tests each of said pixels against said Z-buffer comparison values to determine which fragment-pixels are occluded, and then writes corresponding pixel outputs, through a second respective memory interface, to bulk memory which is not local to said Z-buffering stage; and a texturing stage which, when active, reads said pixel data from said bulk memory, and performs at least some per-pixel rendering operations, to thereby generate image data outputs; wherein, when one of said Z-buffering and texturing stages are inactive, at least one of said memory interfaces is also made inactive.
- 22. The architecture of claim 21, wherein said transform/lighting stage and said Z-buffering stage are integrated on a common chip, and said bulk memory is not on said chip.
- 23. The architecture of claim 21, wherein said Z-buffering and texturing stages each have a message-passing pipelined architecture.
- 24. The architecture of claim 21, wherein said bulk memory consists of main memory.
- 25. The architecture of claim 21, wherein said bulk memory is provided by virtual memory.
- 26. A graphics processing method, comprising the steps of:
performing Z-buffering on pixels of multiple fragments in a frame, selectably in either first or second modes, wherein
in said first mode, said Z-buffering is performed as a multipass operation on each pixel, and resultant pixel data is written to a memory, and in said second mode, said Z-buffering is performed as a singlepass operation, and resultant pixel data is transferred to a further pixel-rendering stage without being first written to said memory.
- 27. The method of claim 26, wherein said Z-buffering and said further pixel-rendering stage are both implemented in a common unit of dedicated graphics processing hardware.
- 28. A 3D graphics processing method, comprising the actions of:
for each frame, performing a Z-buffering process to generate a final depth buffer which defines what fragments are visible, for each pixel of the frame; performing a second Z-buffering process using said final depth buffer to exclude fragments which are not visible; and texturing only those pixels of fragments which have passed said Z-buffering test.
- 29. The method of claim 28, wherein said Z-buffering and said texturing are both performed by a common unit of dedicated graphics processing hardware.
- 30. A computer system, comprising:
at least one central processing unit; at least one main memory which is read/write accessible by said central processing unit; and specialized graphics-processing logic, which performs rendering functions on graphics data generated by said central processing unit, and which includes at least
a Z-buffering stage which, when active,
performs Z-buffering processes for ones of said pixels to obtain a set of comparison values in a Z-buffer, and then tests said pixels of said fragments against said Z-buffer comparison values to determine which pixels are occluded, and then writes corresponding pixel data, for at least some said fragments, to said main memory; and at least one further rendering stage which, when active, reads pixel data from said memory, and performs per-pixel rendering operations thereon.
- 31. A computer system, comprising:
at least one central processing unit; at least one main memory which is read/write accessible by said central processing unit; and specialized graphics-processing logic, which performs rendering functions on graphics data generated by said central processing unit, and which includes at least
a Z-buffering stage which,
in a first mode, performs single-pass Z-buffering for ones of said pixels, and transmits corresponding pixel data, for at least some said fragments, to at least one further rendering stage which performs per-pixel rendering; and in a second mode, performs multi-pass Z-buffering for ones of said pixels, and writes corresponding pixel data, for at least some said fragments, to memory.
CROSS-REFERENCE TO OTHER APPLICATION
[0001] This application claims priority from U.S. provisional application 60/366,127, filed Mar. 19, 2002, which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60366127 |
Mar 2002 |
US |