Presentations from Gamefest 2007

October 14, 2007 at 5:01 pm (Game techniques, Presentations)

Slides and audio from Microsoft’s Gamefest 2007. The presentations cover a gamut of topics.. from art, audio, graphics and researchy-type-stuff from MSR. Check it out here.

Permalink Leave a Comment

New farbrausch demo: Momentum (fr-059)

October 9, 2007 at 2:32 am (Demos)

fr-059

Momentum

 

I really like the use of image-based techniques here. Creating refractions and shadows in the scene by approximating surfaces with planes is cool. Add in tons of fluid looking geometry, good soundtrack and some slick production and you’ve got yourself a hot little demo.

 

Demo and video available at pouet.

 

Permalink Leave a Comment

Eric Lengyel’s Projection Matrix Tricks

October 8, 2007 at 3:15 am (Tips & Tricks)

Eric Lengyel has the slides from his GDC 2007 talk “Projection Matrix Tricks” available online. Included are techniques for formulating a projection with an infinite far plane (useful for rendering distance stuff right by the far plane, such as skyboxes) and clipping against a plane in the scene (useful for things like rendering geometry below a refractive surface).

Link to slides

Permalink 1 Comment

Volumetric particle lighting

October 4, 2007 at 3:33 am (Demos, Presentations, Tips & Tricks)

ruby_snow_small1.jpg

At SIGGRAPH this year, there was a talk by the AMD/ATI Demo Team about the Ruby:Whiteout demo. It was disappointingly attended but it was filled to the brim with GPU tips and tricks, especially in the lighting department. This stuff hasn’t been presented anywhere else and I haven’t seen much discussion on the web so I decided to highlight a few of the key topics.

One of the really impressive subjects covered was volumetric lighting (w.r.t. particle and hair). Modeling light interaction with participating media is a notoriously difficult problem (see subsurface scattering, volumetric shadows/light shafts) and many surface approximations have been found. However, dealing with a heterogeneous volume of varying density, such as the case with a cloud of particles or hair, is still daunting. The method involves finding the distance between the first surface seen from the viewpoint of the light and the exit surface (the thickness), and also accumulating the particle density between those surfaces. Depending on how you decide to handle calculating this thickness and particle density, it could take two passes. They present a method for calculating this in one pass.

By outputting z in the red channel, 1-z in the green channel and particle density in alpha, setting the RGB blend mode to min and the alpha blend mode to additive and rendering all particles from the viewpoint of the light, you get the thickness and density in one pass. This same method can be applied to meshes such as a hair. It should be noted that this information can also be used to cast shadows onto external objects.

The presenters also discuss a few other tricks. These include rendering depth offsets on the particles and blurring the composited depth before performing the thickness calculation discussed above to remove discontinuities. Also, for handling shadows from non-particle objects, they suggest using standard shadow mapping per-vertex on the particles. I think I originally saw this idea mentioned by Lutz Latta in one of his particle system articles or presentations.

I might dredge some other topics from the presentation later on, but eveyone should check out the slides here.

Permalink 7 Comments