This past weekend Graphics Programmer/Software Engineer, Mauricio Vives attended the 2010 Symposium on Interactive 3D Graphics and Games, known more simply as "I3D." It is sponsored by ACM SIGGRAPH, and was held this year in Bethesda, Maryland, just outside Washington. He went to gather information on behalf of the company. As such he shared his experience.
I3D is a small conference of about 100 people which covers computer graphics and interaction research, principally as it applies to games. I also attended the conference in 2008 near San Francisco, when it was co-chaired by Autodesk’s own, Lead Software Engineer, Eric Haines.
About half of the attendees are students or professors from universities all over the world, and the rest are from industry, typically game developers. As far as I could tell, I was the only attendee from the design software industry. NVIDIA was well represented both in attendees and presentations, and the other company with significant representation was Firaxis, a local game developer most well-known for the Civilization series.
The program has a single track, with all presentations given in the same room. Unlike SIGGRAPH, this means that you can literally see everything the conference has to offer, though it is necessarily more focused. I was impressed with the quality and quantity of material presented, and I found a few especially noteworthy items that could be directly applied to Autodesk projects, or that were just cool.
Since this conference is mostly about games, all of the presented research had a focus on a real-time implementation, often for games running at 60 frames per second. Games have a very low tolerance for low frame rates, but they often have static environments and constrained movement which allows for precomputation and hence high performance and convincing results. Conversely, customers of design software like Autodesk's products produce arbitrary and changing data, and want the most accurate possible results, so precomputation and approximations are less useful, though a frame rate as low as 5 or 10 fps is often tolerable.
An emerging trend in graphics research for games is to remove limitations while maintaining performance, and that was very evident at I3D. The papers and posters generally made a point to remove limitations, in particular so that scenes and views can be fully dynamic, without lengthy precomputation. This is great news for leveraging these techniques in Autodesk software, where the incoming data is generally arbitrary.
In terms of technology, most of the focus is on doing work on GPUs, preferably with parallel algorithms. NVIDIA's CUDA was very well-represented for "GPGPU" techniques that could not use the normal graphics pipeline. With the wide availability of CUDA, a theme in problem-solving is to express as much as possible with uniform grids and throw a lot of threads at it! As far as I could tell, Larrabee from Intel was entirely absent from the conference. Microsoft’s Direct3D 11 was mentioned only in passing; almost all of the papers used D3D9, D3D10, or OpenGL for rendering.
Mauricio's report got me to thinking about GPUs. So I talked to Software Engineer, Norbert Jeske. In terms of GPU utilization by Autodesk design applications:
Getting quite graphic is alive in the lab.