Sunday, December 13, 2009

Making it large, beautiful, fast and consistent – Lessons learned developing Just Cause 2



My name is Emil Persson and I'm working as a graphics programmer at Avalanche Studios. This article (with potentially the longest title in the book) covers some of the rendering technique we used in Just Cause 2. Some of highlights include:

Our dynamic lights - Instead of moving to deferred shading we come up with a solution for having a large number of dynamic lights without multi-passing or increasing the draw calls.

Our shadowing system - A shadowing solution that scales well to large distances. The practical problems we tackled and the extra features we added.

A cross-platform interface for rendering. The advantages of having one, and how we crammed DX10 into a common interface with DX9 consoles and maintained good performance.

Ambient occlusion volumes - Our solution to ambient occlusion from dynamic objects.

Particle trimming - How we doubled performance of particle and cloud rendering at no visual loss.

Cross platform consistency issues and how we dealt with them.

Floating point precision problems we experienced due to our huge world and how we fixed it.

Hope you the enjoy article and hope you play the game when it is released on March 23.

2 comments:

  1. So many good articles in this first GPUPro book... March 23 is too far away...

    ReplyDelete
  2. 一個人的際遇在第一次總是最深刻的,有時候甚至會讓人的心變成永遠的絕緣。.........................

    ReplyDelete