Before reading this tutorial, please read my Anisotropic Reflections
tutorial, which discusses the theory of what makes an anisotropic
reflection.

Figure 1
Here's the direction of the grooves.

Figure 2






Here's the example of a CD or the bottom of a pot...

Figure 9
Here's the direction of the grooves that causes the pot picture above.

Figure 10
As you can see, the grooves always go in the perpendicular direction
to where the highlight is stretched.
Here's the standard anisotropic Highlight, which looks like Figure 3.

The orientation is defined in object space, so it defaults to the
grooves traveling along the x axis of the object, which of course
produces a highlight that goes straight up and down (again, the
direction of the highlight is always perpendicular to the direction of
the grooves). Changing
the orientation parameter from 0 to 90 will change the direction of
your
non-existent
bumps, and hence change the look of the highlight to something similar
to Figure 1.

To achieve the pot example, you need to provide the shader with a more complex direction. That's where the orientation map slot comes in handy, which bases the orientation of the anisotropy off of a black and white map.
In the orientation map slot, place a gradient ramp and set it up like this...
Setting it to spiral creates the following pattern.

Make sure to apply a UVWMapping modifier on your object, and set it to planar. Then apply the material, and we get the result we're after...

Here's the max file that made the image above, max5: max_aniso.zip
3dsmax's
Brazil Advanced Material Rendered in Brazil 1.0 or 2.0
Brazil has an anisotropic highlight as part of the Brazil Advanced's
Blinn Highlight Shader. It's basically identical to the max highlight,
although the Anisotropy amount goes from 0 to 1 instead of from 0 to
100.

Also, to get the pot example, you need a variation on the trick
above. Assign a gradient ramp to the Angle, however, make the gradient
look like this...

So have the gradient go from black to white. Set it to Spiral. Also,
note that the
Output Amount is set to 360. This is because, in Brazil the Angle is
from 0 degrees to 360, so you need to set the gradient ramp to go from
a value of 0 to 360, which is achieved by multiplying the black to
white gradient by a value of 360. So the color black remains 0, and the
color white, which is usually 1, is now 360. And we get the correct
highlight...

3dsmax's Darktree Shader Rendered In Scanline
Another anisotropic shader comes with Darktree. This
anisotropic shader allows for a compressed highlight, but at first
glance has no way to control the direction of the highlight. Well,
turns out while there's no control in the main properties page of the
shader...

There is a hookup for it in the connections, allowing you to hook up
other darktree functions to specify the direction of the anisotropy,
for example Gradient - Absolute Shells (which will let you do the
compact disc type highlights such as the one in Figure 9...


So for those darktree users out there, you may wish to check into
using this for anisotropic highlights. Thanks to Paul Gulianelli
for the tip and shader example.

However, because it's meant for hair and not geometry, it has a "translucence" component, which plays havoc with lights. For example, adding more lights to your scene will make the diffuse component get brighter and brighter...



This can cause all sorts of problems on non hair geometry, for
example, if I placed a light entirely behind the sphere, and
applied a hair shader, I'd still get a specular highlight on the
surface
even though the light was not facing the surface I was looking at. A
newer
version of the hair shader gives the user some control over the amount
of translucency, but in general I'd still only recommend this shader
for
hair, not geometry.
BMRT's Ward Anisotropic Shader
The standard ward anisotropic renderman shader works fine in PRMAN and BMRT. I rendered the images below through Animal Logic’s Maxman translator in max and rendered in BMRT. The top of the cylinder doesn't require any gradient to tell the renderer the direction, because the cylinder is a nurbs cylinder, and so the spun direction on top comes built into the cylinder.
Maya's
Anisotropic Shader Rendered In Maya Software Renderer
Maya's Anisotropic Shader is pretty similar to the others, but as
with every 3d app, there are some variations you need to know.
Here's the shader's interface...

Notice that instead of an anisotropic amount, it has SpreadX and
SpreadY. This lets you explicitly define how tall and how wide the
highlight is. These settings give you the following result...

To get the opposite direction, invert the spread. So instead of a
spread of 15 by 1, try 1 by 15. This changes the direction of the
grooves, giving you vertical grooves, which gives a result similar to
Figure 1...

The easiest way to get the bottom of a pot effect is to use a nurbs
cylinder. Here's the results...

So why does this work? In maya the anisotropy is based on uvs, not
object space (like max's and brazil's anisotropic shader). And the
nurbs cylinder automatically has uvs that travel the top of your
cylinder in a spiral pattern. To prove this, lets take the sphere we
had above...

And now lets assign it a planar uvset from the front...

Notice how it totally changes the pattern on the sphere. So if you
want to define the direction of the grooves using maya's Anisotropic
shader, you can apply new uvs to your object.
While more flexible than the object space method, the uv method in
maya's shader is not without its problems. Lets convert our nurbs
cylinder into a polygonal cylinder (using maya's Modify -> Convert
-> NURBS to Polygons command). Notice how the highlight is now all
crooked...

This is because maya's shader doesn't do proper interpolation
between uvs. The nurbs cylinder works because the nurbs cylinder is
diced into tiny polygons before its rendered, the polygonal cylinder is
rendered as is. The anisotropic direction is based off the uvs, and so
there aren't enough uvs to get a smooth result.
Ideally, maya's shader would have proper interpolation built in, but
since it doesn't, the only way to fix this problem is to smooth the
cylinder, i.e., add more faces to it. Here's the cylinder after I use
the Mesh -> Smooth command, which adds more faces. The highlight is
smooth again.
