What are you up to?
by David Walters » Sat Mar 06, 2010 12:44 pm
Here is an example of a ZeoGraph that creates a mask heightfield. I'm using this to attenuate vegetation density between two altitudes.
This is a regular heightfield - the greys represent heights in meters from -63.35 to 537.62 m
Here is the generated mask - it has values from zero to one representing a mask to modulate with a vegetation density.
Here is the graph - there are two (probably badly named) 'constants' on it. TREELINE specifies the maximum altitude that any vegetation will grow, and PEAK ALTITUDE represents the highest point where all vegetation can grow. It generates a new map in your project called 'VEGMASK'
http://www.hiddenasbestos.com/share/VEGMASK.zgraph
It's quite simple, but I hope it is useful as a demo.
-
David Walters
- Doyen
-
- Posts: 129
- Joined: Fri Apr 24, 2009 1:10 pm
by David Walters » Sat Mar 06, 2010 1:52 pm
Finally, here's a more complex one.
http://www.hiddenasbestos.com/share/VEG.zgraph
The idea here is to create a simplistic density map (as in, with no real relation to actual botany) for vegetation. Starting from a noise base:
We add the specular map (using the scalar product filter to get a luminosity) to bias growth on the 'sunny side' of the terrain.
and the salinity map, raised to a power - to remove vegetation from underwater areas.
Finally modulated with my mask from the previous post.
The final result looks like this:
In the future I might expand this to remove vegetation from rocks, etc. based on what additional vegetation support is added to L3DT in future.
-
David Walters
- Doyen
-
- Posts: 129
- Joined: Fri Apr 24, 2009 1:10 pm
by Telarus » Sun Mar 07, 2010 8:54 pm
Awesome stuff.
-
Telarus
- Doyen
-
- Posts: 112
- Joined: Mon Jun 01, 2009 12:34 am
-
by David Walters » Mon Mar 08, 2010 9:34 am
Telarus wrote:Awesome stuff.
Thanks, it's fun to put these together
I'm half expecting (and hoping) this particular example will be redundant soon, when Aaron comes along with a better thought out system incorporating type assignments -- I'm glad that my example is helping to drum up a bit of support though.
I also thought this morning that maybe you could make a different graph for underwater plants like kelp and such - probably I'd just use the Salinity map directly instead of inverting it. You'd need a bit of a modulation on water depth too, to keep it out of the shallows.
-
David Walters
- Doyen
-
- Posts: 129
- Joined: Fri Apr 24, 2009 1:10 pm
by demi » Tue Mar 09, 2010 12:40 am
I must have missed this somewhere but I though this project was inactive for awhile. I wonder how this will work with my idea. Can this data be read from outside L3DT?
-
demi
- Oracle
-
- Posts: 227
- Joined: Thu Nov 24, 2005 4:56 am
-
by David Walters » Tue Mar 09, 2010 9:57 am
demi wrote:I must have missed this somewhere but I though this project was inactive for awhile.
I think that Aaron recently mentioned this was an area he was looking into now. I for one am very keen as vegetation is the next thing I want to add to my terrain engine. demi wrote:Can this data be read from outside L3DT?
Yeah, you can export the output of this graph to any file format that L3DT can write a normal heightfield to and use it in your own code.
I haven't though -- I don't have a vegetation renderer in place yet.
This is more of a theoretical exercise at this stage, and a demo of some potential things you can do in ZeoGraph.
-
David Walters
- Doyen
-
- Posts: 129
- Joined: Fri Apr 24, 2009 1:10 pm
by Aaron » Mon Mar 15, 2010 9:21 pm
Hi David,
Excellent work!
The only recommendation I would make would be not to use the salinity map, but instead to use the water depth from the water map. This would cover the case of freshwater lakes, which will have zero salinity and would therefore not properly mask the vegetation in your graph. However, this would require a few more filters, and it's probably not worth your while, as I am currently testing and algorithm to generate vegetation masks in just this manner.
At this time, I have L3DT generating vegetation masks based on the land altitude, gradient, water depth (inc. water table), and salinity. These masks are created as 8-bit mask map layers in the project, with one mask layer for each vegetation type. As the masks are stored in the project, you may modify them using ZeoGraph (to add random noise, or light map dependency, for instance). Since the masks are byte maps, we will require 'Heightfield.ConvertToByte' and 'ByteMap.ConvertToHF' ZeoGraph filters, which I will add presently.
The ultimate plan is to use the vegetation masks in a 'game of life' style simulation, as I think you suggested some time ago. The output of this would be a map of vegetation instances, which would then be used to render trees/grass in Sapphire or other rendering engines.
I'll let you know when I've got something ready to test.
Cheers,
Aaron.
-
Aaron
- Site Admin
-
- Posts: 3696
- Joined: Sun Nov 20, 2005 2:41 pm
- Location: Melbourne, Australia
-
by demi » Mon Mar 15, 2010 9:37 pm
Looking forward to this ^
Demi
-
demi
- Oracle
-
- Posts: 227
- Joined: Thu Nov 24, 2005 4:56 am
-
by David Walters » Tue Mar 16, 2010 9:32 am
Great stuff Aaron,
Thanks for pointing out the problem with the salinity map -- I think it was just corner cutting on my part, reusing that instead of trying out the new WM -> HF conversion filter. My test map doesn't have any lakes either so I definitely missed it!
It's great to hear about the work on vegetation masks, and having the tools to work with them in ZeoGraph is going to be great to apply application specific adjustments.
-
David Walters
- Doyen
-
- Posts: 129
- Joined: Fri Apr 24, 2009 1:10 pm
by demi » Thu Mar 18, 2010 9:58 pm
Wow those look awesome. Nice job.
-
demi
- Oracle
-
- Posts: 227
- Joined: Thu Nov 24, 2005 4:56 am
-
by Rummy » Sat Mar 20, 2010 1:03 pm
Excellent pictures. Wish I could achieve that with our old crappy engine.
-
Rummy
- Contributing member
-
- Posts: 49
- Joined: Wed Jan 31, 2007 2:28 pm
by David Walters » Tue Mar 23, 2010 1:54 pm
demi wrote:Wow those look awesome. Nice job.
Rummy wrote:Excellent pictures. Wish I could achieve that with our old crappy engine.
Thanks very much for the kind words, much appreciated!
-
David Walters
- Doyen
-
- Posts: 129
- Joined: Fri Apr 24, 2009 1:10 pm
Return to Users' projects
Who is online
Users browsing this forum: No registered users and 26 guests
|