The shader now has defaults for different metals and different finishes of the metals including: gold, copper, brass, bronze, silver and chrome in aged, dull and polished finishes. The buttons change the diffuse and spec colors depending on which metal is chosen and changes the diffuse and spec intensity, highlight angle and scratch/denting options depending on which finish is chosen.
It occurred to me that I'd lots of lovely renders for SIGGRAPH but never actually posted them online. This is what functionality the shader is capable of so far.
$amount += 1 - smooth(0.0, 1.0, (pow($fx, 2.0) + pow($fy, 2.0) + ($fy * $fx) * 6));
The last bit of xy * 6 turns the ellipses into hyperboles apparently.
Image 3 and 4 are the same settings, but instead of using:
float $newx = $fx * cos($rad) - $fy * sin($rad);
float $newy = $fx * sin($rad) - $fy * cos($rad);
to modify x and y, this was used:
float $newx = $fx * cos($rad) + $fy * sin($rad);
float $newy = $fx * sin($rad) + $fy * cos($rad);
The layer that was on "top" changed!