This is the slide deck from the Siggraph talk "Populating A Massive Game World" that my colleague Joel de Vahl and I presented at Siggraph 2013. It covers some of the issues related to filling a massive game world with meaningful content, as well as bringing it to life, as well as some rendering techniques used in Just Cause 2.Practical Clustered ShadingSunday, July 28, 2013 | Permalink

This is the slide deck from my talk on Siggraph 2013 titled "Practical Clustered Shading". It covers some of the adaptations we did to clustered shading for a real game engine. The original technique was covered by Ola Olsson from Chalmers at the same session. His slides are available here.

A similar topic was previously covered on Nordic Game 2013. The slide deck here is the latest version, as presented on Siggraph.Low-Level Thinking in High-Level Shading LanguagesWednesday, April 3, 2013 | Permalink

This is the slide deck from my GDC 2013 presentation titled "Low-Level Thinking in High-Level Shading Languages". This talk highlights how low-level thinking can help you write faster shader and shows examples of how high-level constructs map to GPU hardware instructions.Graphics Gems for Games - Findings from Avalanche StudiosMonday, August 20, 2012 | Permalink

This is the slide deck from my presentation titled "Graphics Gems for Games - Findings from Avalanche Studios" at Siggraph 2012. It covers a set of unrelated but useful techniques, namely Particle trimming, Merge-instancing, Phone-wire Anti-Aliasing and Second-Depth Anti-Aliasing.Creating Vast Game Worlds - Experiences from Avalanche StudiosMonday, August 20, 2012 | Permalink

This is the slide deck from my presentation titled "Creating Vast Game Worlds - Experiences from Avalanche Studios" at Siggraph 2012. It covers all sorts of issues you encounter when creating large game worlds, such as floating point precision issues, memory, optimizations, culling etc.

This article goes through the whole process of creating fragment level phong illumination lighting. Both the theory and implementation is explained in detail. Pixel and vertex shader version 2.0 in DirectX 9 is used for the implementation.

This article was also published in the Shader X II book.Mandelbrot set renderingThursday, February 13, 2003 | Permalink