It's not a big problem anymore to get some sinuslike 'surf' in a restricted coastal zone in a procedural terrain (with a blue displacement to scalar, etc... ), but I am trying to figure out how to get these waves to slant towards the beach, surflike, everywhere. You can of course redirect or vector displace a region, but that wouldn't work everywhere, as redirect or vector displace is usually unidirectional. There must be a way to translate the slope/angle of the beach to a function that steers the vector displace. There you have it.
A vector displacement map can be made from a terrain (there are threads and tutorials about it), resulting in RGB values steering displacement in another app. But I think these values could be used within TG as well. But how? Build vector, and use that to vdisp waves?
I will do some experimenting if time permits, but if anyone has any bright idea.......
Be careful here, waves are wind driven in sweeping curves that represent the gusts of wind. When they meet the shore they are subject to many forces not just the shape of the land. Small bays will have different effect to large ones the slope of the sea bed and the slope of the shore all have an effect. Some careful study of photos will clarify this. Your idea of an rgb map perhaps fed though colour adjust shaders will be a good start but not the whole answer!
Yes, of course there's much more to it, but even the problem I sketch hasn't been tackled yet. Deriving a roughness map (how much displacement within X meters square), may also be a nice feature to have as a mask, but well, we must start somewhere ;)
I've been working on this for a while now. Mhaze has got it right. There's a hell of a lot of factors to work out, but what you're saying Ulco can be done.
Below is the result of a set of functions that rely on one value, which as you point out can be elevation. At the moment I've got flipping normals at the crest to sort out. But it's not far off.[attachimg=1]
This is one hell of a thread!!!! Fantastic, Ulco and Jon!
This is a few frames on. You can get vector displacements to overlap....
[attachimg=1]
Very interesting thread.
Quote from: Hannes on August 31, 2016, 01:52:24 PM
This is one hell of a thread!!!! Fantastic, Ulco and Jon!
Yo o o u said it Hannes
I know you've been working on this, we had 'a thing going on' a few years back ;) and I hoped you'd chime in. I haven't looked at the old setups, but had some new ideas to work out. I was just about to post that I can't get it to work. I can some sort of vector like displacement in the waves based on the slope of the seabed under it, but it's very irregular and is just based on a minmax slope. Doesn't work like it's needed.
I can also most likely (haven't tried yet) get a sinuslike rib sequence in a sideline on the seafloor where the surf is, which can be (after a compute normal) displaced laterally, and then translated to the sea object through displacement to vector and flattened in the Y again (if that works), but that would be the opposite direction of surf :(
The normal of the seafloor should somehow be translated into a vector.... well that's all I can think of.
So your renders look very interesting. Does this indeed work in every direction, based on the terrain? That would be the first of a complex of factors solved.
This is the actual landscape, btw. on which I tested.
B****y hell Dune -that's some network! The waves look good. The problem with your last image is the waves would not follow the shore like that in real life. They would most likely be much straighter in the bay and rough up at the edges. Nice work Hetzen looks very close!
Yeah, I included a bit of the network to show how I even get crazy sometimes. I know about the wind direction, steepness of seafloor, obstacles, etc, etc. but you have to start somewhere. Small breaking waves will probably be kind of everywhere anyway.
With your node setup how are the render times guys?
Very fast, no problem. The latest render took about half an hour, I think, detail 0.6, AA6 soft shadows. I don't use a compute terrain (just one compute normal), so that saves a lot.
Quote from: Dune on September 01, 2016, 09:43:33 AM
Very fast, no problem. The latest render took about half an hour, I think, detail 0.6, AA6 soft shadows. I don't use a compute terrain (just one compute normal), so that saves a lot.
Nice.
Quote from: Dune on September 01, 2016, 09:43:33 AM
Very fast, no problem. The latest render took about half an hour, I think, detail 0.6, AA6 soft shadows. I don't use a compute terrain (just one compute normal), so that saves a lot.
where do you put the Compute Normal Ulco? Bottom of the Shader network just hooked on?
That's a great landscape Ulco. Have you tried using a Get Normal through a surface shader to render out an image you can re-project and use to steer your vector displacement?
Fixed the overlapping normals and plugged it into a water shader and surface layer to see how long it would take to render which ended up being 1:08. I think that can be shaved down quite considerably once I start texturing this properly.
[attachimg=1]
WOW!
Can you animate it by the way ?
Thanks Kadri.
Yes it does animate, but not properly. The curl does crash and it will be reasonably straight forward to apply an up splash to the displacement too. But there's some structural thinking to work out.
Keep it up :) This is the first time i see a surface displaced in such a highly curved and close to a real wave in Terragen.
Yes, this is amazing!!
Wow indeed! Terrific result Jon. And great that you can keep the masking. And thanks for the get normal idea, have to try that, though I'd prefer not to have to render something and reproject; it should all work in one go, preferably.
I think if you can keep the water shader out of the foam part, it will reduce render time considerably.
@Bobby; the compute normal was actually only used to do some lateral displacement to the rocky hills, so right after the first upward displacement and a displacement to scalar function + displacement shader. Then a surface shader with min slope and min height and some additional displacements, masked strata and an offset in the surface shader there. Then the seabed lowering, twice, through 2 sets of smooth steps (in which you can set the heights form the initial terrain displacement (after the displacement to scalar) to use for the areas where the seabed needs to lower, both leading to the water line to get the masks for the coastal and deeper waves (with a sinus multiplied to get the 'surf').
Thanks Ulco...
Great stuff! 8)
Impressive results so far.
Wow and again Wow!
I never studied mathematics, but when I see this I wished I had. Sigh...