For me, at least, it was relatively difficult to figure out how to align PF noise on the peaks of my water. Formerly, I used the Surface Shader and computer terrain to be able to use the Intersect Underlying (Favour Rises). This was ok, but it took me awhile to really understand what settings would give me the effect I desires, and usually, it was rather hard on the edges and didn't look the best. Though this is just my opinion, and I am by no means that great at Terragen.
With the release of
Terragen 3, we get the addition of two useful functions;
Displacement shader to Scalar, and
Displacement shader to Vector. With this functions it's now a lot easier to capture the displacement in Terragen surfaces to later use for masks, offsets, and other useful stuff.
Here we will use it to simply grab our ocean form and get the peaks in greyscale colour. To do this we use
Displacement Shader to Scalar, and pipe in our
Water Shader. Then pipe your
Displacement Shader to Scalar into a
Convert to Greyscale Colour. This will allow us to simply mask a Power Fractal a node below our Water Shader and mask it with our
Convert to Greyscale Colour output. And look at that! White peaks!
However it's a bit dull, and strong. So lets spice it up a bit, shall we?
First, let's remove our white peaks PF from the node network and put it aside. Now create a
Surface Layer off of your
Water Shader. By, and by; you can take a bit of time to spice up your PF with better coloring. I decided to mix two PFs together for a better color effect.
Next lets add a
Colour Adjust Shader to our
Convert to Greyscale Colour shaders output. You can tweak the intensity of your mask with this to make it harder, or softer depending on your preference.
Now create yourself a
Default Shader (Under Create Shader -> Surface Shader), and pipe in your White Peaks output into the
Colour Function input, and the
Reflectivity Function of your
Default Shader. You can also pipe it into your
Translucency Function and play with that, but I have not had much effect. Now crank your
Default Shader under specular, crank up your
Reflectivity to 1 (or desired reflectivity intensity), turn your
Diffusion Colour up to 1 (or desired diffusion level).
Finally you can plug your
Default Shader into the
Child Node of your
Surface Layer and, the
Colour Adjust Shader into your
Mask Node of your
Surface Shader. You should have something relatively similar to the setup below.
You could further refine this (and I'd love to see them posted below for others), with other ideas. For example you could add another surface layer to further mask with a random PF to give the peaks variance in distance.