Tag Archives: needlet

GDC12 – Wednesday

It’s Swag Day!! The Expo Hall opened today along with the starting of the main part of the conference. Although the Math and Physics for Game Programmers tutorial of Monday and Tuesday were over, the math and physics discussions were just getting started!

Normally, the first event of the day on Wednesday is a keynote address from someone who had a significant influence on the industry such as Shigiru Miyamoto or Hideo Kojima. This year, they decided to instead have 100 of the presenters over three days of the conference pitch their talks in 45 seconds or less. This “Flash Forward” concept was interesting, entertaining, and it influenced my session choices, but I still miss hearing a talk from a legend in game development. I’m hoping they go back to the traditional format for next year.

My first session of the morning set a theme for the entire day looking at fluid modelling. Carlos Gonzalez-Ochoa gave a brilliant talk, Water Technology of Uncharted, discussing the various techniques used to generate realistic looking water elements in the Uncharted series of games. This was a surface-mesh modeling technique, not a fluid simulation, but a vector field representing the bulk flow of the water was used to modulate textures and the wave directions. Rather than building a spectrum of wave frequencies and modelling that multi-harmonic wave motion, they instead created a random collection of “wave particles”, pulses that could be tweaked to be as round-topped or as peaky as desired by the artist by adjusting a single parameter. Rather than generating a spectrum of these wavicles, a single set of them is generated and then scaled down and replicated to model the higher frequency components of the total wave motion. Although these wavicles have their own random local velocity, the ensemble is modulated by the bulk flow vector field to generate a more realistic-appearing surface. The final piece of the modelling is to include larger amplitude long-wavelength modes to simulate swells, rollers, and retromotive waves in rivers or channels. Combining all of these together creates some absolutely stunning looking water with very believable dynamics and behaviour.

My next session was actually a talk on a topic that got me first excited about the technical sessions at the GDC when I first attended back in 2007. In my first trip to the GDC, I was blown away by the intense mathematics involved in many aspects of intensity-mapping and lighting. The talk was on the advantages of using radial basis functions as an alternative to spherical harmonics. This year, it was the radial basis functions that were under attack. Spherical harmonics still suck, but the presenters, Robin Green and Manny Ko, argued for the advantages of spherical needlets as an alternative to either spherical harmonics or radial basis functions. The talk itself began with a crash course in Hilbert spaces, overcomplete basis sets, and how to create good basis functions. That was all well and good, and interesting, but I would have preferred that they spent more time on the exact specifics of needlets, their advantages and disadvantages, and a demonstration of their usage. Unfortunately, there was not enough time in their talk for this.

There were a few other talks I attended today, which meant minimal swag-gathering in the Expo Hall. Tomorrow’s schedule of interesting talks looks to be more sparse, so I’ll be in full swag accumulation mode and will have pics then.