Procedural Craters Again

Started by WAS, October 22, 2020, 11:33:52 PM

Previous topic - Next topic

WAS

Procedural craters again. I really liked Hetzen's idea for craters, however it was just really slow even with one iteration let alone scaling for multiple sizes. So I made a new one from the ground up using all I've learned in the last year or so and came up with this system.

Just look at that sweet render time! I am super excited. That "Crater Phases" you see is the number of times it includes scaled down and randomized (translated) craters. Can use 0-6, where 0 is only the base craters at maximum scale.

Dune

Looks good. I think it's indeed important to get as much detail and still keep rendertime low. The more (and expensive) shaders are used the slower it renders, and I also always try to keep that to a minimum. Good work!

WAS

#2
Yeah definitely. I spent some time adding in RGB vector which produces 3 masks, crater skirt, crater floors, and crater ejecta masks. However, utilizing all three with test colours definitely impacts render time like a dump truck load of bricks (though probably helps if I disable the base scale fractal breakups being viewed at a planetary scale). Luckily using this masks shouldn't always be necessary as using surface layer alt retrictions should be enough, but using the floor mask alone for some coverage of another colour shouldn't be too bad. I imagine it's the ejacta mask doing the most damage.

Also added a function based crater warper, so a person could use that and it should be *proportional* with different scales, or use a manual warper and define scales themselves.

Hannes

That looks amazing already! I hope you can keep rendering times low. Good luck!!

Dune

I remember from Jon's setup that it was quite some nodes. Have to dig it up some time again...

WAS

Quote from: Dune on October 23, 2020, 07:03:19 AMI remember from Jon's setup that it was quite some nodes. Have to dig it up some time again...

It was... Mine was smaller, until adding the masks, as those require 3 seperate branches to output the seperate parts of the shader. Now I think it's possibly twice the size. Though thankfully displacement still renders super fast.

RichTwo

Mighty fine result and good that it's not long in the render. Is that a "full size" (Earth) planet?
They're all wasted!

WAS

Quote from: RichTwo on October 24, 2020, 01:50:02 PMMighty fine result and good that it's not long in the render. Is that a "full size" (Earth) planet?

Yeah it's a full sized earth. Max crater scale 2e+06 which is then scaled down from there depending on phases used. Unfortunately using the ejecta map slows things down considerable for masking colour, but it doesn't slow down displacement all too much. Crater rim and floor masks don't seem to slow things down much. Using masks is optional anyway, can get good results with just colour, altitude, and distort by normal.

Dune

I was wondering if the ejecta math can be used to derive a mask for foam trailing behind a wave.... something else to experiment with....

WAS

Quote from: Dune on October 25, 2020, 02:29:53 AMI was wondering if the ejecta math can be used to derive a mask for foam trailing behind a wave.... something else to experiment with....
That's a good idea too. I was wondering last night if I could make a hero crater, position it, and use the eject warp to warp haze like low gravity dust from a fresh impact. The warping seems to be radial pushing outwards.

Dune

That should be possible. I don't know if the mask is 3D or flat, possibly the former. In that case it might well be used to mask 'fake rock debris from thick cloud', along with finer dust.
A pop of randomly floating 'some-object' (dispered like cloud in a cube-shaped distribution) would be interesting to have in TG. Not having to sit on something, but masked in 3D.

DocCharly65

Very interesting project. 

I played around with Hetzen's procedural craters some months ago but gave up because of the (for my skills) too complex node structure and the crazy render times.
At last I used BigBen's moon but of course this has other disadvantages.

Nevertheless great project. Curious where it goes or for the final results.

WAS

Quote from: Dune on October 26, 2020, 02:41:56 AMThat should be possible. I don't know if the mask is 3D or flat, possibly the former. In that case it might well be used to mask 'fake rock debris from thick cloud', along with finer dust.
A pop of randomly floating 'some-object' (dispered like cloud in a cube-shaped distribution) would be interesting to have in TG. Not having to sit on something, but masked in 3D.

Good ideas. Got lots flowing here. I'm not sure if the mask is 3D but the vector displacement definitely is. Though its doubtful clouds will read vector displacement, but could be used to warp the cloud fractal.

Quote from: DocCharly65 on October 26, 2020, 03:03:08 AMVery interesting project.

I played around with Hetzen's procedural craters some months ago but gave up because of the (for my skills) too complex node structure and the crazy render times.
At last I used BigBen's moon but of course this has other disadvantages.

Nevertheless great project. Curious where it goes or for the final results.

Yeah planets kind get slow fast when you start displacing, adding colour, etc, and then throwing in a complex node system can slow not only work pace due to how TG handles lots of nodes, but also render time with it mixed into displacement.

Dune

On the flat surface it is just a white/black mask, so I'd think it would be that way in 3D, and you can use it as a mask for the cloud, just like any noise.