This must be a basic question to you guys. I'm new to the work methodology in Terregen, applying shaders in this way, even a nodal system so I need things to be explained in pretty basic terms :) I have a power fractal plain with a single large hightfield terrain on the horizon. I can't seem to figure out how to apply a different texture to the crags. I've applied vertical scale by adding new operators, that seems to work. What would I use to apply different colour and displacement to the hightfiled?
Oh yes, and is there a way to rotate the hightfield terrains on the y axis?
And one other thing, I seem to be losing all my Hightfield data when I quit Terregen. Do I need to save the terrain separately, the way it was in classic? I can't see an option to do that.
I always hit the generate button when I use hieghtfields. But you can save the hieghtfield and then use a heightfield load function.
For getting color and displacement to separate on terrains, I rely on slope constraints and altitude constraints in a Surface Layer. The surface layer is applied in the shaders tab. When you have the surface layer, set the main color, changed the slope and/or altitude constraints, I add a power fractal to the color input. I use this to darken the surface layer color; or de-saturate the surface layer color. I change the scale info to what fits (use the measure tool above the image preview to determine this).
I often use the color power fractal for the first displacement also. Just go to the surface layers displacement tab and assign this power fractal. Then I build on the displacement and/or add more color using more power fractals added as child elements. I keep things simple because my computer is slow to render things.
If you change a displacement of a power fractal so it requires a compute normal, add the compute normal to the input of that power fractal. Compute normals are found in the Other Shaders menu (like when you add power fractals, but lower down)
Thanks for the quick response/ When I add a surface layer it applies to everything in the scene. How do I limit it to the hightfiled and not the power fractal plain?
Ah, I see, you control it with hight limitations. So, if you had two hightfileds how would you give each a separate texture?
That gets you into the subject of Blending Shaders, which are effectively masks. One way of doing this would be through Painted Shaders (search the Forums).
It would be much more complicated to do this (giving two hieghtfields two different textures). You'd have to set up two different shader node groups, one for each hieghtfield, and plug the different hieghtfields into it's own shader node group. A mask would have to be used to constrain the shaders to a particular hieghtfield. Then use a merge function to bring it all back together.
I do not think I would try this. It would be like having two different terrains located next to each other. It would be easier to use separate surface layers (I use stone, rock, sand, and then grasses). Each succeeding layer cover the one before it. By using the altitude and slope constraints, and adjusting the coverage and fractal breakup, you should be able to do nearly anything.
You could always, assuming you have the full version of TG(if not, you won't have long to wait now on the free version release), use a couple of 'simple shape shaders', make them square and the same size as your heightfields and give each the same co-ord's as the HF you want to apply certain shaders to. Use each 'simple shape shader' as the blending shader to each set of surface shaders in your node network. :)
A dirty example...
Top right terrain has my normal grass, bottom left has the same node, duplicated with edited colours. Both are blended by separate simple shape shaders positioned over each HF.
[attachimg=#]
[attachimg=#]
Hope that's of some use to you. :)
I think it might be easier to develop two completely separate node chain. Then directly before the planet, you just merge both using the merge shader. This way both can have distinct surfaces, but you don't have to work with masks.
Frank
Thanks everyone, very enlightening.