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.