11 bit studios
Shed some light onto Frostpunk. About global illumination and how it enriches visual experience of the game.
Mateusz Wróblewski is an engine programmer in 11 bit studios. He graduated from Warsaw University of Technology. His main focus concerns graphics and rendering pipeline programming. In his free time he writes his own game engine, and when he goes out for a walk – it’s only with the purpose of admiring god-rays, omnipresent particle systems (like spinning leaves), interesting cloud formations, and other effects like the best implemented global illumination working in real time. Also guitar enthusiast, zouk and salsa dances lover.
The main focus of the presentation is to show how we improved our engine with the aim of delivering much more pleasant visual experience. The talk is targeted mainly for graphic programmers who would like to see the implementation and optimization ideas from the very beginning in shader code to final effect on screen, and also people who would like to have a small sneek peek on our upcoming title. Our GI implementation supports daylight cycle using spherical harmonics with static light information baking. We will also delve into the topic of supporting the artists with convienent GI baking tools. The effect will be presented on pre-final game assets, without showing the game itself.
The talk presents the exact implementation of Global Illumination in Frostpunk, showing the effect on game scene comparing GI turned on/off – game assets will be used without showing the game itself. We don’t use commercialy available GI software because we use our own technology that we constantly improve. Intuitively everyone knows what GI is and what it has to offer – however, it seems there are not many sources of the complex knowledge regarding implementation and possible optimizations. The presentation aims at changing that. Our implementation uses light probes and spherical harmonics for compressing light information propagating through specific space fragment. The indirect lighting itself is computed in one pass by using tiled rendering. The GI information is static, but still supports daylight cycle. The presented solution may not contain many uncommon innovations, but it still is an advanced topic that will be valuable source of knowledge for anyone interested in implementing their own system of global illumination.