Page 1:Was It Worth The Wait?
Page 2:Food For Thought: Reasons For This Design
Page 3:Meet The Entire Family
Page 4:Command Processor (CP)
Page 5:Setup Engine
Page 6:Ultra-Threaded Dispatch Processor
Page 8:SIMD Arrays
Page 9:Texture Units
Page 10:Memory Read/Write Cache
Page 11:Render Back-Ends - AA To Z
Page 12:Z Buffers And HiZ
Page 13:Memory Interface And Distribution
Page 14:Tessellation - Needed Or Preemptive?
Page 15:Real World For Games
Page 16:AVIVO-A Lot Of New Hardware
Page 17:AVIVO-A Lot Of New Hardware (Continued)
Page 18:Show Me The Benchmarks!
Page 19:Test Setup
Page 20:Benchmarks Results
Page 21:F.E.A.R. - XP Pro
Page 22:Dude! Where's My Driver?
Page 23:3DMark05 - Vista Ultimate
Page 24:Doom 3 - Vista Ultimate
Page 25:Pricing, Game Bundles And Availability
Tessellation - Needed Or Preemptive?
Natalya Tatarchuk from ATI's 3D applications research lab gave several addresses during the Tunis event. One of these sessions was strictly on tessellation. I wondered then how it could be possible to devote an entire hour and a half to a presentation on making more polygons.
Source: "Subdivision for Modeling and Animation," Zorin and Schröder, 2000 http://www.multires.caltech.edu/pubs/sig00notes.pdf (Warning: This is a 27 MB download)
The concept of tessellation involves the breaking down of polygon meshes into higher poly meshes. From the image above, taking a simple polygon mesh and breaking each polygon down into smaller units allows the surface of the object/model to become smoother and lifelike. So what is the cost of amplifying a model's surface via tessellation instead of just rendering the high-poly mesh? Well, that is what kept me in my seat for the rest of the presentation. The following example used a frame from "Shrek."
Source: ATI [Yee04, PDI/Dreamworks]
The differences between trying to render "Shrek" using a high poly and a low poly with tessellation and displacement mapping are startling! While the movie industry has plenty of time on their hands to render one frame, those of us in the gaming arena want at least 60 of them in one second or less. The following chart shows the differences between typical game models and the CG animated characters we see in movies.
|Pre-Frame||Shrek||Typical Game||Hollywood vs. your PC|
|Content Size||100 M polygons||200-500 K polygons||200x to 500x more|
|Animation Quality||350 bones skinned on the CPU||32-40 bones skinned on the GPU||Up to 10x more|
|Rendering Time||8,000 seconds a frame on a P4||0.015 seconds or less per frame||533,333x more|
The two scenarios are amazingly different. A lot of research has looked into better methods for subdividing polygons. Do a search for the following items: N-Patches, Catmull-Clark, B-Spline and NURBs. The fact that a lot of the work required in a high-poly mesh can be done in a lot less time utilizing the power of a GPU is amazing. The only way tessellation could be done with DX9 hardware was to pass it over and over through the pipeline or just cram a high-poly mesh through it.
- Was It Worth The Wait?
- Food For Thought: Reasons For This Design
- Meet The Entire Family
- Command Processor (CP)
- Setup Engine
- Ultra-Threaded Dispatch Processor
- SIMD Arrays
- Texture Units
- Memory Read/Write Cache
- Render Back-Ends - AA To Z
- Z Buffers And HiZ
- Memory Interface And Distribution
- Tessellation - Needed Or Preemptive?
- Real World For Games
- AVIVO-A Lot Of New Hardware
- AVIVO-A Lot Of New Hardware (Continued)
- Show Me The Benchmarks!
- Test Setup
- Benchmarks Results
- F.E.A.R. - XP Pro
- Dude! Where's My Driver?
- 3DMark05 - Vista Ultimate
- Doom 3 - Vista Ultimate
- Pricing, Game Bundles And Availability