Texturing of the Polygons ..

Next comes texturing of the polygons to add surface color and characteristics. In this stage the triangles are converted to pixels so they can be understood by the rendering unit.  The polygons are fed to the rendering pipelines, and depending on the number of texture per pixel and the number of pipelines of the hardware, a certain quantity of these pixels can be rendered per cycle. Every triangle sent by the geometry engine will be rendered and that includes polygons that are going be covered by nearer polygons. Now comes the time to decide which pixel is going to be covered by those pixel closest to the observer, to determine which which pixels should be displayed. This is where the process gets crude. The z-coordinate of the rendered pixels are set into the z-buffer which is the unit responsible for storing the depth of the pixels. The z-buffer needs to be accessed for every pixel to determine if it will be the closest pixel to the viewer, or if it has to be blended with another aligned pixel (used for transparencies). If a new pixel turns out to have a closer z-value than the previous stored pixel in the z-buffer it is rejected or if there is already another pixel that has the closer z-value, that pixel will be rejected and the previous is stored.

Traditional hidden surface removal. Hidden surfaces are actually rendered. 

So you may have guessed by now that all these extra accesses to the z-buffer can be quite uneconomical. The fact of the matter is that it's the main source of a lot of unnecessarily lost rendering power in even today's most powerful video cards. This redundant read and write the z-buffer is known as overdraw and it can be quite straining on the memory bandwidth. In a nut shell, there are two main disadvantages for this "immediate mode rendering" style: firstly being the rendering of hidden surfaces and secondly the clogging of the memory bandwidth due to accesses to the z-buffer. In today's video card market, having the highest pixel pushing graphics chip doesn't mean jack unless coupled with a sufficient memory bandwidth. There is a limit to how much we can push DDR SDRAM, and as we saw in this generation of video cards, DDR certainly isn't a viable solution for the next generation of video cards. Even at the moment the memory bandwidth of the fastest video cards on the market such as the Geforce2 are barely able handling half of the chip's fillrate. So now we are reaching the point that using brute force will not go a long way. It's unavoidable for video card companies to start using smarter technology implementations and a more economical approach. 

previous page home next page

trans468x15.gif (182 bytes) right.gif (163 bytes)