Procedural Foliage

Started by moodflow, December 06, 2007, 01:15:52 PM

Previous topic - Next topic

moodflow

I am not sure what the long term plans are for TG2, but I think procedural foliage would bring it up to yet another level.  There, I said it!  8)

http://www.moodflow.com
mood-inspiring images and music

peejay

sorry, I think that's a computationally (is that a word?) intensive dead end. Pandromeda tried it with Mojoworld, various folk attempted to play with the idea, but the bottom line was render times (already slow) went through the roof. I think Planetside went in the right direction by allowing instancing of imported objects - it's way faster to implement, and you can model whatever plant life you like - plus there's tons of great stuff out there already. There, I argued with you  ;D
adamans rebellis quod iustus nos

old_blaggard

I'm all for it if Matt can figure it out, but I would frankly have him working on some other stuff like SSS and (I know it's extremely hard, everyone ;)) procedural erosion first.  As peejay said, there's plenty of stuff out there now that does the trick for almost anyone.
http://www.terragen.org - A great Terragen resource with models, contests, galleries, and forums.

Sethren

I don't understand why render times would get worse considering the procedural flora would still be instanced so it would still be like rendering only 1 object as far as computer memory is concerned. At least trees and the like can be variations of colors, branches and leafs can be entirely random.

If memory serves me right there was at one point Matt wanting to have a simple tree/grass generator limited for distance renders only but still it would have been interesting to see were this could have evolved to.

I seem also to remember a stone generator concept as well which looked pretty darn good. This was back in 2004 with just one teaser image.

sonshine777

The fact that foliage is instanced doesn't change the fact that each instance has to have the lighting calculated for the location that it inhabits in the scene. The shadow it throws is different that the original and other shadows may be casting shadows onto it. If all instances were rendered exactly as the original it would look odd to say the least.

Sethren

I am well aware of this. If i can render a complex scene full of tens of thousands of flora in an application like Vue Infinite for example with minimal render time increase then why not for Terragen in the future.

sonshine777


Sethren

No Worries. This is honestly the only aspect of Vue i like concerning procedurals, other then that Terragen 2 rocks.     ;D

Cyber-Angel

#8
A different method (World Construction Set been a real world example) is to achieve the same type of result using 3D L-Systems.

If Terragen, in the future has its own plant system then please make sure that they responded to Subsurface Scattering or they will look dead, also please have a look at the literature out there on things like:

Leaf Shape

Leaf Vain Generation (Species Specific)

Bark Generation

And Plant Hairs (Those tiny translucent hairs you find on the stems and some time leafs of certain species of plant)

All of this detail would be created automatically and handled by the LOD System to minimize CPU load.           

Regards to you.

Cyber-Angel 

moodflow

#9
I should have stated this in the original post, but this would be something that would come well after all other aspects of TG2 are dialed in, such as water transparency, SSS, most bugs fixed, etc.

For procedural foliage, it shouldn't take any longer to render than would instanced foliage, and in fact, may not take long at all as it may not require instancing at all.  Fake stones aren't instanced are they?  And the benefits would be smaller file sizes, less memory required (I would think), as well as truly diversified foliage.  Of course instanced foliage import would still be an option. 

I keep seeing TGTP images featuring foliage (including my own), where the populations end up looking like a foliage nursery.  To work around this, I've had to use 3 or more different models of a foliage type instanced through 3 separate populations with different placement parameters, and sizes.  This works well, but in order to get true diversity, I think the procedural method is the way to go.  This would especially work well for high-density populations, like grass, weeds, bushes, and plants.
http://www.moodflow.com
mood-inspiring images and music

Sethren

Quote from: Cyber-Angel on December 06, 2007, 07:03:39 PM
A different method (World Construction Set been a real world example) is to achieve the same type of result using 3D L-Systems.

If Terragen, in the future has its own plant system then please make sure that they responded to Subsurface Scattering or they will look dead, also please have a look at the literature out there on things like:

Leaf Shape

Leaf Vain Generation (Species Specific)

Bark Generation

And Plant Hairs (Those tiny translucent hairs you find on the stems and some time leafs of certain species of plant)

All of this detail would be created automatically and handled by the LOD System to minimize CPU load.           

Regards to you.

Cyber-Angel 


Leaf Shape: Seen this in several applications. Mostly could be done by path handles. Xfrog has this down very well.

Leaf Vain Generation (Species Specific): This would require uni-directional l-systems. Also a sub-pixel displacement procedure.

Bark Generation: Probably a rigid perlin and stretched voronoi noise being mostly uni-directional. Displacement for the bark to stick out realistically.

And Plant Hairs: Very fine sub-pixel micro detail, probably something like a procedual fur system i would imagine. I think i might have seen something like this in Houdini which had a killer l-system approach.

just thinking here.    ;D

Sethren

Quote from: moodflow on December 06, 2007, 07:49:30 PM
I should have stated this in the original post, but this would be something that would come well after all other aspects of TG2 are dialed in, such as water transparency, SSS, most bugs fixed, etc.

For procedural foliage, it shouldn't take any longer to render than would instanced foliage, and in fact, may not take long at all as it may not require instancing at all.  Fake stones aren't instanced are they?  And the benefits would be smaller file sizes, less memory required (I would think), as well as truly diversified foliage.  Of course instanced foliage import would still be an option. 

I keep seeing TGTP images featuring foliage (including my own), where the populations end up looking like a foliage nursery.  To work around this, I've had to use 3 or more different models of a foliage type instanced through 3 separate populations with different placement parameters, and sizes.  This works well, but in order to get true diversity, I think the procedural method is the way to go.  This would especially work well for high-density populations, like grass, weeds, bushes, and plants.


Indeed, this can wait. I can imagine were all looking forward to SSS real soon here.

I am almost positive Fake Stones are not instanced. To me it just seems like an isolated form of displaced noise that is clamped off to look like stones.   ???

One plus for true diversity is to imagine having a huge forest and each tree slightly varies in it's tone of green just like in the real world. it's nice to think about. Some day.   

dhavalmistry

if this is to be added to TG2...it would be a huge step for TG2 and Vue should be scared!!
"His blood-terragen level is 99.99%...he is definitely drunk on Terragen!"

Oshyan

I for one am very much interested in pursuing this kind of thing, but remember to do it "right" is a *huge* undertaking. Entire companies - Greenworks (Xfrog), Onyx, etc. - devote *all* their resources to this one specific area and still they have limited products to offer (Xfrog represents far less than even 1% of the most common species on Earth). So for Planetside to tackle this any time soon is probably unrealistic. But as I said it's something I'm very interested in and I agree it is still one of the great problems of natural scenery visualization that is yet to be fully solved.

- Oshyan

JimB

#14
To be perfectly honest, if there were a way to just vary hue and brightness for a percentage of an object's instances (thinking particularly of trees), I think that would increase the realism immediately by a significant factor. It doesn't have to be by much, but I imagine that's actually rather tricky.

added: Or could there be a way of doing that by making two versions of a population automatically; where Instances2 won't encroach on the positions of Instances1, and the materials and textures of Instances2 are regraded slightly before rendering? Does that make any sense?
Some bits and bobs
The Galileo Fallacy, 'Argumentum ad Galileus':
"They laughed at Galileo. They're laughing at me. Therefore I am the next Galileo."

Nope. Galileo was right for the simpler reason that he was right.