Guerilla Tactics Logo

Aaron Aikman

Lead Technical Artist, Graphics

Relumine

Relumine Banner

Summary

Created shaders, made vfx, profiled scenes, improved performance, and provided general troubleshooting support

Duration

2 years on and off (side project)

Shader Work

Below are some examples of shaders I made for Relumine. I was responsible for every shader in the game. Some are as simple as color, emissive, color based upon surface normal, or gradient based upon bounding box. Others are stylized effects to describe complex surfaces like a few of those pictured below.

Shader Examples

The shader for Relu’s light picks a color based upon the pixel normal.

Relumine Crystal Gif

Shaders for key characters and environment assets stay saturated during camera rotation, but everything else becomes desaturated in order to emphasize importance. In order to avoid the cost of post process, this is done by writing out a global shader variable in a C# script while the camera is rotating, and using that variable in a shared function at the end of every shader that desaturates the object if it’s not marked to remain saturated. This gif also shows the waterfall shader in the background.

Relumine Rotate Gif

The water shader does a depth comparison to add foam along the edges. The vert shader samples a low frequency noise texture for some movement. A couple textures drive the color, and one texture is used for ripples in various locations.

Relumine Water Gif

For speech bubbles and images, each corner of the UVs is animated using some semi-random math to add a certain “wiggliness.”

Relumine SpeechBubble Gif

We use an angular wipe for this fade shader to match the 2d effect.

Relumine Wipe Gif

The crystal shader has a subtle Fresnel effect and a texture sample to be able to pick from a few specified colors. We do most of the complex math in the vertex shader and interpolate the data to the pixel shader, which trades some smoothness for better performance. Overall, the effect still holds up.

Relumine CrystalLarge Gif

I fractured a crystal in Houdini to help achieve this effect.

Relumine CrystalBreak Gif

This ghastly shadow has a vertex shader which applies noise to vertex position that increases when moving.

Relumine CrystalBreak Gif

Materials can be selectively desaturated for effect.

Relumine PlatformChange Gif

The same effect is used for the look below.

Relumine Darkening Gif

More

Trailer

For more project details, please visit the Relumine Official Website or see the Apple App Store Feature

Return to Portfolio

Recent Posts

Category

About

Aaron Aikman is a Lead Technical Artist, Graphics with over a decade of experience. He focuses mainly on shaders, pipeline, and problem-solving.