Website powered by

Rigs shaders - Misc

These a selection of shaders I made for Rigs (2016). I was the lead on environment shaders over the course of the project. However we did have a full time shader artist for around half the duration of the project - Roel Coucke. I generally split my time between lighting and shaders depending on which was higher priority at the time.
Part way through the project we started transitioning to a bulk of our texturing being done in substance designer but a large amount of tiling textures were still created with more traditional techniques.

I created the shield shaders for the endzone goal, the floating shields, the shieldome around the level and the shield impact decals. These all had different requirements but had to be as optimal as possible due to full screen transparency.

I created the shield shaders for the endzone goal, the floating shields, the shieldome around the level and the shield impact decals. These all had different requirements but had to be as optimal as possible due to full screen transparency.

This is one of the generic ceiling trims I made that was used throughout the game. We found that we could get away with quite good relief mapping if we reduced the settings gradually over distance. Generally this was cheaper than adding more polygons.

This is one of the generic ceiling trims I made that was used throughout the game. We found that we could get away with quite good relief mapping if we reduced the settings gradually over distance. Generally this was cheaper than adding more polygons.

This is a low contrast light panel shader that was used game wide. The brightness and colour are tweakable.

This is a low contrast light panel shader that was used game wide. The brightness and colour are tweakable.

This is another generic ceiling detail shader.

This is another generic ceiling detail shader.

This is the pits floor shader that was designed to look expensive and high tech. However it was hard to view it at the right angle to pick up the subtle glossy reflections. There was a similar version of this for the frontend.

This is the pits floor shader that was designed to look expensive and high tech. However it was hard to view it at the right angle to pick up the subtle glossy reflections. There was a similar version of this for the frontend.

This is a ceiling shader designed for the front end. There were lots of unusual shaped ceilings that needed filling so we needed to use a geometric pattern that was quite forgiving if it didn't line up perfectly with geometry edges.

This is a ceiling shader designed for the front end. There were lots of unusual shaped ceilings that needed filling so we needed to use a geometric pattern that was quite forgiving if it didn't line up perfectly with geometry edges.

I created the majority of shaders for the frontend environment. This includes the floor, white panels, glass, plaster, ceiling and room interiors.

I created the majority of shaders for the frontend environment. This includes the floor, white panels, glass, plaster, ceiling and room interiors.

This is an example of a decal shader. It's a custom deferred shader which partially modifies the RGH and RFL of the underlying material. It also reads the RGH and NMT to mask out the decal from areas that wouldn't make sense.

This is an example of a decal shader. It's a custom deferred shader which partially modifies the RGH and RFL of the underlying material. It also reads the RGH and NMT to mask out the decal from areas that wouldn't make sense.

This is a close up which shows how the decal is automatically masked in recesses. Also we use SDF alpha to get the edges as sharp as possible when excessively scaled up.

This is a close up which shows how the decal is automatically masked in recesses. Also we use SDF alpha to get the edges as sharp as possible when excessively scaled up.

One of the types of shader that took a lot of iteration time to get right was glass. We had a lot of it and forward rendered transparency was generally pretty bad for performance.

One of the types of shader that took a lot of iteration time to get right was glass. We had a lot of it and forward rendered transparency was generally pretty bad for performance.

What we decided to do was actually make all gameplay level glass transition out to be opaque at a distance. This let us LOD out the interior geometry and swap to a cheaper opaque shader.

What we decided to do was actually make all gameplay level glass transition out to be opaque at a distance. This let us LOD out the interior geometry and swap to a cheaper opaque shader.

As you get close the glass gradually gets more transparent. At this point the crowd models are unanimated static models.

As you get close the glass gradually gets more transparent. At this point the crowd models are unanimated static models.

As you get closer the static crowd get swapped to skinned entities.

As you get closer the static crowd get swapped to skinned entities.

This is probably the maximum transparency we see through the glass. We also put a fog sheet behind the crowd so that they are silhouetted more againt the room interior.

This is probably the maximum transparency we see through the glass. We also put a fog sheet behind the crowd so that they are silhouetted more againt the room interior.

As you start getting very very close the shader gets slightly more opaque again so that the slightly harsh crowd LOD models aren't as visible.

As you start getting very very close the shader gets slightly more opaque again so that the slightly harsh crowd LOD models aren't as visible.