Rust Shader

This is video showing off my procedural rust shader that I created for my GPH-389 (Real-time Graphics Techniques) Final. It is a GLSL fragment shader made for use in the RenderGL program created by Professor John McDonald.

It starts by creating three different variables of fbm noise from a 3D noise map.  One of those is clamped and used to show the paint disappearing/peeling away.  Another is used to mix colors to get the rust colors/texture.  And the final one is used to show the rust bleeding through the paint.  The noise variable used for the paint peel is multiplied by a time variable to show the rust affecting the paint over time.  I also did a bit of a hack to the normal of the paint in the area before it would disappear.  This added a bump map effect to it and made it look like it was about to peel away.

It is my plan to remake this in HLSL so I can learn more about shaders in XNA.