Transformation in Hardware
Providing polygon pushing power
As most of our readers know, in most situations today, the speed of a 3D application depends on two things - the complexity of the geometry, and the complexity of the effects layered on top of that geometry. At higher resolutions, many more pixels must be placed over a given polygon in order to fill it up, hence the term
fill rate. However, in lower resolutions, fewer pixels are required, and the 3D accelerator has no problems supplying the graphics pipeline with a steady flow of texture detail. However, this transfers the bottleneck to whatever component cannot keep up with the accelerated pipeline, and in most cases, it's the CPU.
The Pentium III is able to push out roughly 3-6 million triangles per second, which is fine for today's games only because of the limitations it has imposed on game developers. Many programmers and artists concerned with speed try to limit their in-game models and entities to 1000 polygons or less, and must pay attention to how much of their 3D scene is visible from any point - a large discrepancy can cause a game to grind down as the processor attempts to calculate the necessary polygons to feed down the 3D pipeline.
What's it for?
Nvidia claims an incredible 15 million sustained, fully lit and filtered triangles per second for the GeForce 256. This is an incredible number, rivaled so far only by Sony's year-away Playstation 2, and Bitboy's as-of-yet-still-vapor Thor geometry unit for their Glaze3D. All of this power can be harnessed to perform the task of scene transformation faster than any general purpose CPU is capable of.
What is transform? It basically involves interpreting between different 3D coordinate systems. Traditionally, this includes the "world space," where all 3D objects and entities are held, "eye space" which is used for lighting and culling objects that are out of view, and screen space, which assembles the scene for viewing and stores the result in the frame buffer. A transform engine also takes care of the nitty gritty of 3D, real-time manipulation. Translations, rotations, and the like much also pass through here. With the brunt of this work falling on the host CPU, it's amazing that there's any room left for processes outside of graphics!
![Nvidia GeForce 256 at IDF [ Low vs. high polygon count @ 640 x 480 ] > View Full-Size in another window.](images/geometry1-s.jpg) Low vs. high polygon count
|
How about more?
Offloading this onto the GPU frees the CPU for many other chores, and has a side benefit of vastly accelerating older machines with less powerful processors as well. In addition, the GPU on the GeForce 256 is so powerful that it can handle many times the polygonal load of the CPU. As game developers begin to take advantage of it by creating high-geometry scenery, The GeForce should really start leaving unaccelerated systems in the dust.