![](/Content/images/logo2.png)
Original Link: https://www.anandtech.com/show/350
AnandTech, along with a
number of other online and print magazines, were recently invited down to 3dfx
headquarters in San Jose, CA for a look at "something new." We weren't
told exactly what, and hopes of a hands on preview of 3dfx's next generation
product were quickly squashed as we were informed that it would be a technology
demonstration rather than a product announcement. But that's ok, because we
still got to see one of the key technologies planned for that next generation
product that 3dfx says will be available "this Fall."
That technology is known as the T-BufferTM, named for 3dfx's CTO and brain behind the technology, Gary Tarolli. The T-Buffer solves a number of problems involved with 3D computer graphics that are caused by the more general problem of aliasing. As defined by 3dfx, "aliasing is the under-sampling of a source image that causes errors in the image finally drawn on the computer screen." The T-Buffer solves aliasing issues in space, time, and focus.
Wait a second!
3dfx talking about improving image quality? The same guys that brought us the Voodoo3 with largely the same core as the original Voodoo Graphics? The same Voodoo3 that fought in the trenches of the 16-bit vs. 32-bit and frame rate vs. image quality battles all over the net?
At first glance, it seems like 3dfx, the company that has traditionally said that image quality means nothing if the frame rate is compromised, are now jumping on the image quality bandwagon. However, 3dfx maintains the position that "frame rate is king" and that 60 fps is necessary for the best gaming experience. They view 1024x768 as the new standard resolution for gaming and intend to deliver all of their new effects without compromising that goal.
The T-Buffer - blurring the line between PC's and reality
In the most basic sense, conventional accelerators render a frame to a frame buffer, which is then displayed on screen. Double and triple buffer techniques allow for additional frames to be rendered while the current frame is being displayed.
3dfx's T-Buffer technology works unlike any other conventional accelerator currently on the market by allowing multiple frame buffers to be rendered to simultaneously. The output is then the accumulation of these multiple renderings.
With all accelerators, less image data can be stored than would be in a perfect world due to memory, bandwidth, etc. limitations. Thus, some data is lost in each render and this process of discarding data can result in visual artifacts, including aliasing. The T-Buffers solves this problem with these multiple renderings that effectively increase the sampling rate by supersampling.
Spatial Anti-Aliasing
We've all probably seen aliasing rear it's ugly head, even if you don't use any 3D graphics and that's because it's a problem even in the world of 2D computer graphics. This can be seen in the "jaggies" found in computer graphics around diagonal lines and round edges as shown below. This is usually what comes to mind when thinking about aliasing issues, and it's just as much of a problem in the 3D world, if not more. To get technical, this is known as spatial aliasing, where, as the name implies, the problem occurs in space.
Image courtesy 3dfx Interactive
Anti-aliasing is a technique that removes these "jaggies" by filling in with intermediate shades to smooth things out. This is relatively easy to implement in 2D and is even available from Windows 98 display properties for screen fonts. But in 3D, things become exponentially more complicated and no consumer solution can implement true anti-aliasing in hardware. Further, in 3D there's the additional problem of pixel popping certain distant objects end up being less than a pixel wide on screen and are sometimes shown, but other times not. This is known as pixel "popping," and is a potentially larger problem than just "jaggies."
Images Copyright 1998, Mango Grits, Inc.
Many cards claim support for anti-aliasing by implementing "edge" anti-aliasing or anti-aliasing through "oversampling." Edge anti-aliasing is accomplished by tagging which polygons are an edge and then going back and letting the CPU perform anti-aliasing on these edges after the scene is rendered. In order for a game to support this, it has to be designed with this in mind as the edges have to be tagged. The extra steps cause serious latency issues and sucks up all the CPU power. Oversampling is simply rendering a scene at a higher resolution than the final output and then scaling it down. This technique is implemented by the PowerVR architechure. Of course, it takes a lot more power to render at 1600x1200 and then scale down to 800x600. In other words, they're useless for games, but are implemented for OEM "checklists" and improving 3D Winbench quality scores.
The T-Buffer provides true full scene anti-aliasing that solves both pixel popping and jaggies. Perhaps the best thing about the T-Buffer is that it is simply turned on in the driver and is then automatically applied to any game ever written for any API. As a complete hardware solution, there is no software or driver overhead.
At 3dfx's headquarters, we got the opportunity to check this out on Need For Speed 3 on special T-Buffer emulation hardware/software. No special modifications to the game were made as it was installed straight from the CD to a system with a Voodoo3 and a second system with the T-Buffer emulation in place. Two LCD monitors, one for each system, were placed side by side and we were allowed to watch 3dfx employees drive around in shiny new Corvettes.
The resolution was 640x480 for both machines, but the anti-aliased setup looked as if it were running at much higher resolution. The wires connecting telephone poles appeared disconnected on the Voodoo3, but were continuous on the T-Buffer machine. Distant objects ceased to shimmer and pop and previously obvious jaggies on the car were completely gone.
A similar effect can be seen in the custom demo by 3dfx, who was kind enough to supply us with this 2.4MB MPEG video showing the effect in split screen. Anti-aliasing is disabled on the left and enabled on the right. The movie shows the player zooming in and out on a fence off in the distance - the effects of aliasing are extremely clear. Below are a couple of screenshots from a different portion of the demo, showing anti-aliasing in action on the sign. Enlarging these images and viewing them full screen gives the most dramatic representation of the effect. Spatial anti-aliasing has been disabled on the left and enabled on the right.
Image courtesy 3dfx Interactive
Temporal Anti-Aliasing - Motion Blur
Ever notice how 3D graphics on a computer are always razor sharp, regardless of how fast things are moving? In fact, from a still screen shot, you can't tell whether or not something is moving at all. In the real world, if you take a picture of a fast moving object with a typical camera, you don't get anything near that crisp and can tell that the object is moving by the blur the image has. This effect is known as motion blur and is one of the biggest reasons that a movie at 30 fps can look quite smooth, yet 30 fps in a game is nowhere near as fluid.
Image Copyright ?1984, the
Association for Computing Machinery
This is just another instance in which aliasing gets in the way of photorealistic 3D graphics. This time, the 3D image is simply not being sampled often enough, so time based aliasing occurs. The solution provided by the T-Buffer is to render the the object to be blurred multiple times in slightly different positions, and then blending those multiple renders into a single frame. This single frame has a slightly blurred version of the desired object and simulates motion blur.
This time, 3dfx had their own demo to show us since motion blur is not something that can be turned on, but rather lets the game determine how the effect is applied. The demo was known as "rocket burger" and featured two Jetsons style cars in a drag race. 3dfx provided us with a 4.7MB MPEG video showing the demo we saw, with standard rendering on the left, and T-Buffer effects enabled on the right. Below are a few screenshots from the demo with motion blur in action - the effect is disabled on the left and enabled on the right. You'll need to enlarge the images to get a good idea of the effect.
Images courtesy 3dfx Interactive
You'll notice that the motion blur occasionally looks like four, distinct, translucent copies of the object in slightly different positions. This occurs primarily with fast moving objects, just where motion blur is most necessary actually. According to 3dfx, this is a result of the way the demo was written, and that developers could easily compensate and generate a more realistic effect.
Focal Anti-Aliasing - Depth of Field
Another effect found in film is the ability to draw attention to specific characters or objects by focusing to a specific distance. Once again, current 3D graphics are always razor sharp and completely in focus, regardless of depth. This just isn't how the eye or a camera works in real life.
In the example below, your attention is immediately drawn to the bug in front by the foreground focus. In the second image, the focus has shifted to the background and your attention follows. This is an extremely important cinematic effect that is constantly used in the world of film, but has never before been seen on a PC.
Images from "A Bug's Life,"
Copyright 1998, Pixar Animation Studios
The biggest use for depth of field effects will be in adventures games, RPG's, and any cut scene that's not pre-rendered. Another possibility is a double-vision effect that could be applied to any game. Once again, we have a couple of screen shots from 3dfx's "rocket burger" demo that shows off depth of field, with the effect disabled on the left and enabled on the right.
Image courtesy 3dfx Interactive
|
Other Effects
The T-Buffer can also be used for soft shadows and reflectance blur. Take a look at your shadow on the floor - you'll notice that it doesn't have abrupt, clearly defined edges like those generated by computers. Even the fabled volumetric shadows produced by Unreal in conjunction with a Stencil Buffer have these hard edges. A similar situation exists with reflections off surfaces that are not 100% reflective, such as stainless steal or semi-glossy surfaces. The T-buffer solves these problems yet again through supersampling.
Support Issues
As mentioned above, spatial anti-aliasing can simply be turned on in the driver and will automatically be supported by every game ever written, regardless of API. Unfortunately, motion blur, depth of field, and any other T-Buffer techniques will require specific coding by game designers as well as API support. Support in OpenGL and Glide are essentially guaranteed - OpenGL has support for extensions and 3dfx controls Glide completely. 3dfx is currently making efforts towards having T-Buffer support in DirectX 7, but Microsoft has generally shied away from vendor specific extensions to their API. And make no doubt, 3dfx is not planning to share the T-Buffer technology with the rest of the world - it's definitely a proprietary 3dfx technique.
As such, 3dfx was forced to write their own demo to show off the motion blur effects and depth of field effects. By far the easiest way to see this in action is to download the 4.7MB MPEG video of the demo. It's a split screen demo with standard rendering on the left and all T-Buffer effects enabled on the right. You'll notice the anti-aliasing effects immediately on the sign that appears at the start of the video. Next, the racers rev their engines as a cop watches from behind the sign. As the racers cars bob up and down, a subtle motion blur effect is applied to the cars. Then, you'll see depth of field in action as first the camera focuses on the cop, and then switches to the racers. Motion blur can be seen again as the cars take off with the cop chasing after them.
Note that this demo was written by 3dfx in a very short time simply to show the T-Buffer in action. You'll notice that at times, especially with fast moving objects, that the motion blur looks more like a set of distinct images blended together, rather than the intended single blurred object. Well, that's exactly what they are, but 3dfx claims that if written carefully, the effect is much more impressive. Further, this demo was shown using a Voodoo2 based Quantum 3D emulation box and was thus limited to 16-bit rendering. An actual product with T-Buffer support will have true 32-bit external rendering available to it and would actually look even better.
Developer Quotes
3dfx actually debuted the T-Buffer technology to a variety of software designers back at The Game Developer's Conference (GDC) a few months ago. Apparently, many of them were impressed as the following quotes show.
"3dfx has always taken the lead in delivering compelling features to the gaming community without compromising performance. The T-Buffer technology will allow us to deliver yet another major leap in visual quality at the usual raging-on frame rates from 3dfx."
-Scott Cronce, vice president of technology, Electronic Arts
"Today"s games heavily rely on the ability to differentiate themselves through their intelligent use of 3D graphics and graphics effects. This will become more apparent in the future. While frame rate and resolution are important to running smoothly and delivering crisp images, the digital effects that 3dfx enables will greatly improve our ability to create immersive gameplay. We intend to use this new technology from 3dfx to its fullest."
-Malcolm Johnson, director of technology, Lucas Arts
"Epic Games is known for it's innovative games and special effects. Motion blur and depth of field are cinematic effects employed by the film industry for years. The ability to achieve real-time effects such as these on a consumer graphics product is exciting indeed. Unreal Tournament will look amazing with full-scene anti-aliasing."
-Tim Sweeney, director of technology, Epic Games
Conclusion
The T-Buffer is a solution that 3dfx has come up with for the general problem of aliasing. All of the effects are generated by the use of multiple frame buffers that that are the heart of the T-Buffer. Spatial anti-aliasing, the ability to remove jaggies and pixel popping, is probably of the largest benefit to gamers, and will provide the most impact when products are released since it can be enabled for all games from the driver.
Expect the T-Buffer in 3dfx's next generation product "this Fall at consumer friendly prices." 3dfx wasn't willing to disclose many other details about such a product. When questioned about the status of the product, they did mention that for a fall release to be possible, the silicon must "either almost be done or already exist." Extrapolating a bit more, we should be able to expect a press release on such a product within the next month or so. Further, 32-bit external rendering will definitely be supported at long last. Finally, T-Buffer is supposedly only "one of the big things" for this next generation product. The possible inclusion of Transform & Lighting would neither by confirmed, nor denied, but our impression was that it would not be included - only time will tell. The key here is that 3dfx is promising 60fps at 1024x768 for any game - they view anything less as unacceptable for real gamers.
Regardless, with NVIDIA's next generation product, code named NV10, just over the horizon, this fall should be extremely interesting, with the consumer as the real winner.