This year, several of the coworkers and I at Trimble SketchUp attended ACM Special Interest Group in Graphics (Siggraph) conference. It is my first time attending such a big gathering. The week is exciting, exhaustion, and also extremely rewarding for me.
This year the conference location is Los Angeles, so we had the chance to have a tour to the pier, taste different seafood, and watch the sunset. We also had nerdy jokes about the pier floor is just a displacement map, and the sunset can be rendered by some shader hack.
Ray Tracing on Sunday
The spotlight of this year's Siggraph is still ray tracing after Nvidia announce their Geforce RTX GPUs with ray-tracing capacity a year ago.
As a ray-tracing fanatic, I am glad to see the technology I like becomes more and more popular. It is said that "ray tracing is not slow; it is the computers." Fortunately, we are just entering this revolution that, for the first time, computers are fast enough to do serious ray tracing works in real-time. I spent the whole Sunday on Ray-tracing related sessions. The session on the morning is Are We Done With Ray Tracing? Spoiler alert, as you may expect, the answer is no. The area is still a warm bed of new researches. Further, with the advent of real-time ray-tracing, new challenges arose like denoising on images generated by very-low sample size, effectively updating of acceleration structures.
Different speakers had different vision of how fast the ray-tracing adoption will be. Morgan McGuire of Nvidia thinks that ray-tracing pipeline will become mainstream in real-time graphics in 5 years. By contrast, Colin Barré-Brisebois for EA is much more conservative, considering rasterization/ray-tracing hybrid rendering-pipeline will be the future for a long time. I am more aligned with the latter opinion because ray-tracing are still much more expensive, and the hybrid approaches are already producing amazing results. To be honest, as long as we do not adopt a full-blown path-tracing approach (which still have prohibitive cost for current large real-time applications), I don't think produced graphics quality of single real-tracing pipeline or rasterization will have a big difference. However, ray-tracing may decrease maintainance gain, especially for small teams and projects, since a completely ray-tracing pipeline will drastically decrease the complexity of current beastly graphics pipeline. By contrast, AAA shops' graphics pipeline will be more complicated because they need to support both hybrid ray-tracing and fallbacks. I attended Introduction to Real-Time Ray Tracing afternoon, which was on the same topic but covered more basic and detailed material, from Peter Shirley's ray tracing introduction to how to write a simple DirectX ray-tracing program.
Monday: Advances in Real-Time Rendering, and Animated Shorts
My colleges and I spent most of the Monday attending "Advances in Real-Time Rendering in Games" part 1 and 2. It is astonishing how many crazy new methods in real-time rendering get developed, from strand-based hair rendering to ocean wave simulation. There are just too many goodies for me to justify them all.
The Electronic Theater at night was a fun event. We saw a lot of great works of animation artists this year. However, All of us felt that this year's demos have overly depressing and emotional themes in general. There were excessively too many aminations focuses on the loneliness in an industrial society or the evil side of human nature.
Tuesday: Vulkan, Ray Tracing Roundtable
On Tuesday we went to Best Practices for Using and Contributing to the Vulkan Validation Layers and Vulkan SDK Update and Community Feedback from LunarG on Vulkan SDK. I am still very new to Vulkan, but I am impressed about how much work LunarG folks put into the SDK to make using Vulkan a better experience.
I also went to the Ray Tracing Roundtable organized by Eric Haines. People interested in ray tracing gathered in small groups and talked about news and advancement of ray tracing. It was an astounding experience that people like me could chat with heroes in the field face to face.
Wednesday and Thursday
I have an ambition of making the CU Computer Graphics Group a Siggraph chapter, so I went to ACM SIGGRAPH Chapters Fast Forward and Startup Meeting Wednesday morning. I then went to An Introduction to Physics-Based Animation afternoon, which compressed semester-worth materials into three and a half hours. On Thursday morning I went to Differentiable Graphics With Tensorflow 2.0. The idea of Differentiable Rendering sounds exciting, and it is always good to see applications of machine learning in graphics beyond denoising. Nevertheless, I felt that it is hard for me to come up with a useful use case for it. Maybe I need to delve into this technique more in the future.
Various companies have exhibitions and live demos in Siggraph. As with everything else, a lot of excitement around the exhibition is related to real-time ray-tracing. There were a lot of companies that demonstrated their motion capture techniques and streamed the results into a game engine. One of the particularly striking shops implemented a VR avatar that will always have eye contact with you after you move.
Conclusion: An inspiring year to learn Graphics
The conference itself is just five days, but it leaves me with year-worth materials to learn. I took notes on several new technologists and libraries to play and more than ten papers that I want to read. Also, due to time conflict, I can't attend all the sessions that I am interested in. There are still several intriguing talks and workshops I want to watch afterward, including A Fast Forward through Ray Tracing Gems, Optimizing and Deploying Ray-Traced Dynamic Global Illumination, Open Problems in Real-Time Rendering, Path Tracing in Production, Ray Tracing Gems 1.1, and My Favorite Samples.