Brutal Legend VFX

Time Lapse Climate

This is a video showcasing the climate system for Brutal Legend. I collaborated with the engineering department (primarily our lead programmer Nathan Martz) to create a system that would seamlessly blend between different regional climates, different times of day, and different weather patterns (rain, snow, thunder, meteors, fog, etc...). For the skies in this sequence, I authored the effects, vortex shader and mesh, lighting, and sky box.

Ink Rendering

This video shows the ink rendering technology I developed for Brutal Legend with our graphics and animation teams. Ink was quite a challenge for us as Ophelia's character is in a constant state of flux between fluid ink and her solid form. The final technique involved rendering the ink to a low-res buffer and performing some thresholding operations on it to extract the most interesting details (seen in the debug mode at the end of the video). Although it is taken in a graybox room, this is the same effect used in the shipping title.

3ds Max HLSL Shaders (2005-2006)

Curved Relief Mapping

This implementation of Fabio Policarpo's Curved Relief Mapping uses a modified version of the CG shader he developed. Like standard relief mapping, but uses a per vertex quadric curvature approximation to "wrap" the height map along the object's profile. This per vertex curvature approximation is calculated via maxscript in a preprocessing step.

Relief Map Blending

Normal map and Relief Maps are blended in this shader.  Depth, Diffuse, Specular and Normal maps are modulated based on a vertex data channel values which allows interactive viewport experimentation. Note the convincing irregularities that occur when the vertex channel has partial opactiy.

Concentric Grass Shells

HLSL implementation of hair/grass using the "concentric spheres" technique. This version uses vertex data channels to control hair length, hair direction and hair color interactively. Procedurally added ambient occlusion on each successive layer is critical to the effect.

Shader Based Physical Fur

HLSL implementation of hair/grass using the "concentric spheres" technique. This version expects a per vertex force component to be passed into the shader via vertex data channels. In a separate max script, I calculate per vertex velocity, acceleration, and a compression factor which each have their own contribution weighting. The results of the calculation are baked into the vertex data channels per frame. Alternate Video.