Matthew Wilde's profile

Shaders - Powerstar Golf (XBox One)

Some of my latest shader work, as featured in Zoe Mode's Powerstar Golf - a launch title for XBox One published by Microsoft Studios.
 
I joined the Zoe Mode team, Headstrong's Kuju stable-mate, in order to enhance the visuals of the golf title they were working on. I was given an open brief to identify the areas I thought I could improve the most effectively. There was a very talented art team, and a highly skilled technology code team, but they were missing someone who could work between the two disciplines on the shader side.
 
I worked mainly in HLSL and collaborated with the code team in order to specify the support required for the shaders, and with the art team in order to ensure the shaders would suit the requirements and style of the game. The art direction could be described as the Pixar look - an idealised and somewhat exaggerated and colourful version of reality. In the end it became a two way process, with what was successful in the shaders feeding back into the ultimate art style.
 
As well as writing the shader code I produced supporting textures and set up parameters to deliver final quality results.
 
Credit is due to the rest of the team at Zoe Mode for additional art assets, art direction, course design and code support (particularly the technology team with whom I worked closely and whose work I built upon).
 
I recommend viewing these videos in full screen and best quality.
The skies originally consisted of bitmaps mapped to a dome. I designed and produced a new shader which enabled a large variety of skies to be produced quickly and easily, with a multitude of parameters including 5 separate colours, sun settings and various options pertaining to cloud -  coverage, detail, sharpness, lighting, animation etc.
 
The shader features multiple layers, normal mapping, back-lighting, sun rays, horizon fogging and more. Parameters were designed to be interpolatable, and work with a time of day system so that values can be modified smoothly at run time. User textures for the clouds are supported, but the single texture set I produced was ultimately sufficient for all the skies used in the game.
 
The shader was complemented by a separate crepuscular rays post process shader.
The water shaders consist of a group of shaders for lakes, rivers and seas. There was originally a single simple shader which I built upon adding a variety of effects - normal and parallax mapping, white-caps/foam, soft edge blending, caustics etc.
 
For the river shader flow mapping was added, allowing the river flow direction/speed to be defined by a texture produced with the level editor (code team produced these maps - I implemented in the shader).
 
For the sea shader I also added vertex and normal displacement using a height and normal map.
The lava shader used a similar system for the water to allow user defined flow direction and speed. It features normal, specular and parallax mapping etc. The speed of flow determines how hot and viscous the final effect appears, ranging from slow moving dark rock lava, through red/orange fissures of increasing width, up to white hot free flowing molten lava.
 
The lava was complemented by a separate post process shader for glow and heat haze. 
The original terrain shader used attributes from the level editor to determine the material at any point on the map, rendered using a texture atlas. I built upon this to add features such as rim lighting, normal, specular, parallax and detail mapping, improved blending between attributes etc. All of these have parameters that can be specified per attribute allowing the effect to range from smooth, shiny greens, to very rough, rocky areas all within the same shader. The shader maps definable slopes angles so that rocky cliff faces appear automatically, and snow is added to definable height ranges.
 
In the later canyon based level, the cliff mapping was enhanced to allow much better vertical slope mapping with normal and diffuse textures applied and blended in 3 directions.
 
The code team produced a feature to create geometry grass only around the camera. The grass didn't blend out very well and so I rewrote the shader to closely match the terrain lighting, such that the blending was much less noticeable. This resulted in features such as rim lighting and specular mapping on the geometry grass as well as the terrain. 
Shaders - Powerstar Golf (XBox One)
Published:

Shaders - Powerstar Golf (XBox One)

Shader work 2015

Published: