Microsoft Research Asia’s Guo Discusses the Future of Graphics
By Rob Knies, Managing Editor, Microsoft Research
Microsoft Research Asia, celebrating its 10th anniversary, recently presented its annual Computing in the 21st Century academic symposium, held over two days, Nov. 4 in Beijing and Nov. 7 in Singapore. For the second consecutive year, Baining Guo, assistant managing director of the lab, served as chair of the event. “We’re very excited,” Guo said of the anniversary festivities. “It’s a big celebration.” The morning after the Singapore portion of the symposium, Guo took a few moments to discuss the event, his work, and the innovations to come over the next 10 years.
Q: This year marked the 10th anniversary of your Computing in the 21st Century conference. Did you achieve your goals for the event?
Guo: Yes. Computing in the 21st Century is the biggest academic conference in the Asia Pacific region. The goal of the conference is to reach the academic community, mainly students, to influence the next generation, the upcoming workforce—undergrads in their junior and senior years, graduate students, young faculty members. It has been wildly successful.
The main attractions of the conference are the keynote speakers. The lectures are visionary, looking forward to the future of computing. That is helpful to the audience, and the feedback has been extremely good. We’ve reached out to the Chinese academic world and the Asia Pacific region.
But the conference also has to change, because China is changing. We will continue to do this kind of event, but maybe in a different format, to connect the scientific world in the Asia Pacific region, which is growing and dynamic, with the academic world in the West, which is super-strong and has a lot of sophisticated, visionary people. We want to foster exchange, collaboration, and dialogue between the two.
Q: You’re renowned for your research in computer graphics. How did you get interested in this kind of work?
Guo: My background is in mathematics. I got my math degree at Peking University, which has by far the strongest math department in China. At Cornell, I continued to study math under the guidance of John Hopcroft, a Turing Award recipient. Even though John’s a theoretician by training, he has always had an eye for applying theory to solving problems. I was like that, too; that’s why we were a good match. But I wasn’t working on mainstream graphics. I was doing geometrical modeling. That’s my main thing: geometry.
Before, when we studied geometry, we were just looking at an abstract. I was always imagining and drawing pictures, but with a computer, we actually look at complicated surfaces. Sometimes, it’s intriguing how the surfaces intersect, interesting in incredible, unimaginable ways. With computer graphics, you can fly around the virtual surfaces and see how they intersect. I found this an extremely powerful tool.
Later, I went to the University of Toronto. Another of Hopcroft’s students was there, so I went to visit him. I ended up spending there for three exciting years. I was working with Demetri Terzopoulos, and he turned out to be the mentor of Harry Shum [former managing director of Microsoft Research Asia and currently Microsoft corporate vice president of Search Product Development]. That’s where I taught myself to do graphics.
There’s always the story about people doing scientific work: Once they get involved, they start by saying, “I’ll solve this problem, and then I’ll go back to my old problem.” But that’s never the case. You solve that problem, you get involved, you are exposed to more problems, and you get lured into a bigger field. I never regretted it.
Q: Since you decided to concentrate on graphics, what have been your proudest achievements?
Guo: One area in which we have made significant contributions is appearance modeling. People try to make graphics rendering more realistic by shading. When you have a surface, you have a complex shape. Lighting will cause the shape to change. The traditional way to add shading is called Gouraud shading, which computes the shade at different points and interpolates in between. For real-time graphics, people were happy with Gouraud shading for a long time.
This changed when the GPU came out, because the GPU has pixel shaders that can compute the color of individual pixels on the screen. Because it’s in the hardware, it can compute so fast it works in real time. But while you can write a program for each pixel, you don’t have a scientific principle for how you compute it: how light strikes a surface, enters it, scatters around, and then comes out somewhere else, or directly bounces off. That optics, the light-scattering propagation process, is known in physics, but how does it apply to the case of graphics rendering?
We have done a lot of work in this area, continuously. At least a third of Microsoft Research Asia graphics-based papers address this topic.
In ’99 I joined Microsoft Research China. In 2001, I used the principle of the 3-D texton to solve the problem of bi-directional texture functions, and in 2002, that was published at SIGGRAPH. Since then, we have been continuously working in this area, because the problem is not solved. We’ve made a lot of scientific discoveries though, and we are one of the leading groups working on this.
We always want to transfer these technologies into our products. Bungie Studios, which developed Halo, was looking for a partner for research, The Bungie people are very proud; they want to set the bar significantly higher. Halo is high-impact; whatever Halo does, everybody else follows. Bungie was very excited about us, and we were very excited about them. It was a win-win situation both for us and them.
We developed water-rendering technology, and it was very successful. We shipped this technology with XDK, the Xbox Development Kit. Anybody who has the XDK has the source code. In Halo 2, there’s water everywhere. By Halo 3, we already had a bit of trust built with Bungie. When they planned Halo 3, they specifically planned the features to use our technology. We upgraded to modeling rivers and streams. Also, now, you can interact with the water. You can actually jump into the water and make it splash. With Halo 3, Bungie had made so much investment in our technology that it became the cornerstone of the game engine.
Other Microsoft Research Asia contributions to Halo 3 include UVAtlas, which helps make a two-dimensional image represent a 3-D model; light-map compression, which enables irradiance-like effects at a reasonable data size; and fast rendering of bi-directional reflectance-distribution functions, to make objects look different when viewed from varying angles.
Q: What other key projects is your group pursuing?
Guo: All our work is around the GPU. A group should be focused, and a research group should focus on its own area. It’s just like business. Focus doesn’t mean a business can’t diversify; it just means it should explore in nearby areas.
For example, we’ve done work on the virtual GPU. This is a crucial technology, and we are the only group in the company that knows how to emulate the GPU. It could have a big impact. If a GPU becomes more important, the value of our investment in this area will have a bigger return.
Another project related to GPU is GPU programming. Some companies in the industry are pushing GP GPU, general-purpose GPU. That GPU is so powerful that’s it’s more than just for graphics. It could be powerful enough for general-purpose applications.
Other companies prefer a powerful multicore CPU, essentially all parallel processors. In that scenario, you can just use the CPU cores to replace some of the things you used to do with GPU.
Our position is that the best computer is a multicore CPU with a whole bunch of GPUs attached to it. You can make a CPU perform like a GPU, but there’s a cost issue, and the GPU is intrinsically low cost. But it’s limited in its programmability. So we have been studying how to make the programming of such an overall integrated system easy. At SIGGRAPH this year, we introduced a new program language, BSGP, Bulk-Synchronous GPU Programming. With our language, you can program GPU with not too much more difficult than programming a CPU. Before, you had to write assembly-like language. Now, you write C-like language. It’s easy to read, easy to write, and easy to maintain. It received a good response in the graphics community. We made the code available for download, and many people downloaded it. And because of the good compiler design of the language, we don’t lose any performance.
Our eventual goal is that we want to offer the best technology for an integrated system with a many-core CPU and many GPUs. We want to develop a program language, and system and debugging tools to make it as easy to program as possible.
Q: How has your Microsoft Research career progressed?
Guo: When I was at Intel, I was fairly senior, more or less comparable to our senior researchers. I was hired because I was fortunate enough to know Harry, and he gave me this wonderful opportunity to go to Beijing. He said, “You go there for two or three years, and if it doesn’t work out, you can always come back.” He also said, “If we are successful, we can publish a SIGGRAPH paper every year.” At the time, that was a big goal to graphics researchers, because it’s highly competitive. That was our goal.
I thought it was very attractive, so I went. Harry was the manager of the Visual Computing Group, and I was a researcher in that group. We were successful, we expanded, and in 2001, Harry said, “Go ahead and start a graphics group.” So that’s what we did. I started and managed the Internet Graphics Group. That’s when I started to take a management role.
In 2003, I was promoted to principal researcher. In 2005, I started managing the Visual Computing Group, as the acting manager for Harry, who had become the lab’s managing director and had too many responsibilities. And in 2007, when he was promoted to corporate vice president and Hsiao-Wuen Hon became the managing director of the lab, I was promoted to assistant managing director. I then began managing the Internet Graphics Group, the Visual Computing Group, and the Internet Media Group. All these groups are very strong. I also started the lab’s Theory Group. Another is called the Media Communication Group, doing work in media, as well as in systems and networking.
Q: Hon has mentioned that he admires your ability to take on big bets and have the patience to nurture them until they are able to bear fruit. Would you agree with that assessment?
Guo: Hon is always overpraising me. I think I’m very patient, but, of course, I don’t just stand there and wait. I’m still, without hesitation, advancing the basic state of the art. For example, we started this new area of GPU programming, and we are pushing that area forward. We want to be a world leader in that area. For each area in which we do research, we want to be a leader, and we don’t look back.
Q: You have just celebrated Microsoft Research Asia’s 10th anniversary. What is your vision for what Internet graphics could be 10 years from now?
Guo: I hope we’ll have tremendous growth. The world of computing will change completely. In terms of research, I think we are at the point of a big breakthrough, if not in the next 10 years, maybe the next 20.
One of the trends is multidisciplinary. We increasingly are looking at collaborations across different branches of science. We should foster a culture of collaboration for people to make big bets, do fundamental work, and achieve fundamental breakthroughs—without having to worry about failure.
The thing that has made me most proud is that we have grown people. Looking at the next 10 years, I think our trend will be not to grow dramatically in numbers, but to grow in quality. If you look at Microsoft Research Asia now, it’s dominated by junior people. In the future, that will no longer be the case. We’ll have more and more senior people. Junior people will grow up to be world-recognized leaders in their fields.
That will be a good thing for the lab, and it will change the way we collaborate with universities. That will be a very important change, and we should make sure it happens, that we get the best senior people. But we will always add key new talent to our ranks, as well.