During the last few weeks I managed to refresh myself on HLSL and hope to use this to produce a good surfing wave for myself.
I have been following an excellent series of tutorials on shader programming. It is actually a free e-book called "The CG Tutorial: The Definitive Guide to Real-Time Graphics" and is obtainable at http://developer.nvidia.com/object/cg_tutorial_home.html
Although it is based on Cg, which is a high-level shader language developed by Nvidia in close collaboration with Microsoft,it is very similar to Microsoft's HLSL.
I've taken a number of the examples and ported them to 3DRad HLSL format. You can pick them up from here.