Project – Killshot Bravo
I helped out on killshot bravo towards the end of the soft launch period, just before it was released worldwide and continued to work on the visuals after worldwide launch as well. My major contributions to killshot were implementing Physically Based Shading with support for image based lighting using rgbm encoded hdr lat-long maps, Sub surface scattering using blended normals with support for diffuse softening, distance and height fog with pseudo light scattering, post process effects such as light shafts, color grading, sharpening, pseudo image based lens flares and tonemapping. The biggest challenge I faced was implementing Physically based shading as it is quite gpu intensive and I spent a lot of time optimizing this. We made some clever optizations to get the image based lighting working and it works efficiently across android and iOS. Below are some screenshots of the physically based shading working on the guns and characters. Please note all of this runs on mobile and hence the textures are 512×512 and may look a little blurry.
You can download killshot bravo from the app store to check out all the goodnesss:
Sub surface scattering using blended normals with diffuse softening:
The faces uses physically based shading along with sub surface scattering, the uniform and the environment also utilizes physically based shading. The background environment uses directional lightmaps to sample the dominant per pixel light direction. This direction takes into account both direct and indirect lighting when calculated giving direct and indirect specular highlights.
Physically Based Shading on the guns:
The body of the gun utilizes physically based shading, the attachments (scope, ammo etc.) were still utilizing an old school standard lambert-blinn shader.
Note: the gloves and the scope do not utilize physically based shading yet
The killshot moment with light shafts and other post fx
Killshot bravo trailer: