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.