Guerilla Reveals Secrets Behind Killzone Shadow Fall’s Advanced Reflections, GPU Compute, Volumetric
Guerilla Games on how they overcame challenges while developing on the PS4.
At this year’s SIGGRAPH, Guerilla Games’ Michal Valient gave an in-depth presentation outlining screen-space reflection system and volumetric rendering system used in Killzone Shadow Fall. The entire presentation can be found here but we have broken down some of the information for you.
Guerilla Games used the method of temporal re-projection which is essentially using the some data from the previous frame so that the image quality can be improved further. This method is different from the traditional approach where the developers will throw everything at once, including particle effects and lighting models and that start from the scratch for the next frame. In short, re-projection saves GPU compute time.
This algorithm involves using the motion vector to find where the same pixel popped up on the same screen. You can check via the depth of that pixel in the z-buffer. This can be used in other graphical parameters like anti-aliasing, ambient occlusion and others. Guerilla Games uses a a reflection system that primarily consists of three elements.
Real time ray trace system, which is is used for providing dynamic reflections of the visible scene. This is further divided into three stages. The developers first of all use screen-space ray-tracing to find single reflection color for each pixel. The developers than apply filtering and reprojection to get the desired effect. And finally, the merging of real-time and cubemap reflections happens.
Secondly, Static Localized cubemaps which are pre-rendered [static] reflections. And Pre-rendered background cubemap which provides infinitely distant environment reflections.
Guerilla Games also detailed how they implemented Volumetrics which was used in the game’s lighting. For example sun light and interior lighting. The developers were able to support all types of lighting as they used a shader code for deferred lighting pipeline. Volumetric effect were implemented part of the game’s lighting pass but the more samples the artist added, the more GPU time cost increased. So the developers rendered the volumetrics at the half of the resolution to construction the image in full resolution.
As you can imagine this article is a summary of the methods that Guerilla Games used in their game, so we encourage you to go through the entire presentation.