Outdoor grass system

Community Forums/Showcase/Outdoor grass system

SabataRH(Posted 2003) [#1]
After many many many failed attempts spanning numerous projects, I've finally been able to achieve game-playable performance while using a lush grass system.

These shots are very low poly and the process time needed to maintain onscreen visuals is optimized 10x's. The results are a vivid grassy landscape using very little system resources. These shots were tested on a 466celeron using 32Mb voodoo card, the system reached 71 fps in certain spots.




Anthony Flack(Posted 2003) [#2]
Your grass sprite looks bad, I'm afraid, but no matter - the technology looks good. Manually sorted alpha triangles?


Red Ocktober(Posted 2003) [#3]
71 fps on a 466 celeron voodooed machine is impressive though...

--Mike


SabataRH(Posted 2003) [#4]
Heres a revision, i've reshaped the grass plotter so patches are more tightly packed, resulting in a more realistic growth pattern. Also changed the terrain and added some more grass entites.

This ran at 32fps on my celeron and 104fps on my amd.




Further optimization to the surface-attachment routine should render an additional 10%-20% increase in speed. I also can see room for improving the removal function that effectiently dissovles surfaces out of the camera view-spectrum.


Anthony Flack(Posted 2003) [#5]
Looks very usable indeed! For the actual grass sprite, I think it just needs a bit more definition, stronger highlights etc.


Red Ocktober(Posted 2003) [#6]
Yeah... the latest screengrabs look more like moss instead of grass S Rh... but, it looks as if that's merely a matter of refining the grass to be a lil less transparent and a lil more defined.

--Mike


SabataRH(Posted 2003) [#7]
Ah I see your point(s).. alpha in the TGA may be to strong... I'll see what can be done.. thanks!


Wiebo(Posted 2003) [#8]
I suggest using some more shades of green in the grass texture as well. Maybe a little sideways lit grass would do nicely to break up the 'mossy' appearance. Great stuff btw!


SabataRH(Posted 2003) [#9]
Revision, added random height patterns, random color add to some surfaces and re-worked the placement forumla.





Seems im losing some speed appling color to some surfaces.. I think i'll need to work out the random coloring inside the targa to prevent this.. fun fun


Foppy(Posted 2003) [#10]
Wow this is really impressive. I like the grassy landscapes in the older Delta Force games that are created in their "voxel" 3d engine, but this here is much better. These screenshots are very close to pictures of real landscapes.


HNPhan(Posted 2003) [#11]
very nice grass indeed, whats the FPS on those shots? and around how much 'grass'?


Smurfpuss(Posted 2003) [#12]
yes have to say that last tutch on the grass did it like wow

have you made it so it like only places grass on some places or dose it place it every where like having some grass free zones are not bad

how dose it look if you alter the size of the grass a bit


maximo(Posted 2003) [#13]
Can you post demo of this online, it looks cool on screenshots but I bet it would be even more impressive in real time. Anyways good work!


Red Ocktober(Posted 2003) [#14]
By Jove... He's Got It!!! :)

Yes Sabata, third times a charm, that last group of shots looks great.

Hey, what's the frame rate on the ole Voodoo chugger now... can it handle the latest renderings?

--Mike


SabataRH(Posted 2003) [#15]
Thanks for the comments,

Red - nah the voodoo can't handle the last batch of shots, but I blamed entity coloring and sure enough, did some re-work with random targa files and increased the fps by 30% (omitting random surface coloring).

The latest shots ran at 21fps on celeron 466 w/voodoo 16mb.

69 fps on my amd w/ gf4 ti.

Trimming down the thickness and adding a timer control to the grass locator will render much higher fps. I'm hoping by this time tommorow the lastest screenshots will be game-playable material.

Smurf, grass can be omitted based on height variation... also grass-types can be used in an altitude forumla. As of now I haven't figured out a way to pull the rgb value of a certain terrain segment so I have no real control over where grass is placed. To improve on this a map file could be made with pre-determined grass locations. While this would add to the resource pool, it would allow for control over grass placement. Something to consider I suppose.

EDIT:
Hmm giving this more thought, i suppose a bitmap can be used to determine grass-able areas. As in a black bitmap using 'shade-to-grey' method. Easy enough to determine the 3d coords of an area based off a bitmap pixel location ...Something to play with! fun fun.. :)>>


NobodyInParticular(Posted 2003) [#16]
This is sort of off topic, but how did you make the trees? They look really good...


Space_guy(Posted 2003) [#17]
Looks great :)


Dr Derek Doctors(Posted 2003) [#18]
The first few shots look like someone scribbled over them with a wet felt-tip but the last two are pretty nice. I just think you need a higher-res texture for the grass, really. Something with a bit more definition to it so you can see the blades more cleary instead of it all forming a mouldy mush.


jhocking(Posted 2003) [#19]
"how did you make the trees?"
Those first couple shots in particular look like TreeMagik trees (the trunks look like Alp Stems.) I wouldn't have pointed this out if someone else hadn't brought up the trees first but I actually thought those trees look like a big pixelly mess.


SabataRH(Posted 2003) [#20]
It's all about speed, using 5000 poly trees and 512x512 grass textures won't cut it. Fill-rate comes into play here.

Nobody - yes Treemagik was used... http://www.viszero.addr.com


Anthony Flack(Posted 2003) [#21]
What res is the grass texture you're currently using?

I still reckon it could be better defined, even in low res. Have you tried using a photo of some chunky-bladed long grass?


SabataRH(Posted 2003) [#22]
Ya, played with a few new textures and got a pretty nice low-res shape out of it..

These shots use height placement as well as altitude fading.




This is pretty close to finished, these shots ran on my celeron at playable speeds.. On my amd the fps were almost unchanged from its locked v-sync variable.


Dr Derek Doctors(Posted 2003) [#23]
That looks really nice now. The flower heads are a little oblongey but the overall effect is *very* pleasing.


jhocking(Posted 2003) [#24]
That last shot is astounding. Please tell me you aren't doing this for some stupid first-person shooter. The screenshot needs a kid with a net running around catching butterflies.


SabataRH(Posted 2003) [#25]
lol@jhocking, actually you arent to far off, this isn't for a first-person shooter..

The enviroment is being designed for an arcade-style game.. Robotic wasps, ants, beetles and all those creepy crawling kinda things.. Completely redisgned game play but will resemeble buck-bumble on the N64 to some degree.


Foppy(Posted 2003) [#26]
Or a very realistic HOVVER BOVVER. ;)


SabataRH(Posted 2003) [#27]
Just finished some new formulas to give better control of frail placement.. To test it out I added some carvable paths to the terrain... have a look



next is tree shadowing and water... ( i hope )


jhocking(Posted 2003) [#28]
That looks fantastic. The ground and grass is coming along so nicely that you really should try to improve the trees. Those trees need better textures, for both bark and leaves.


Skitchy(Posted 2003) [#29]
I must say that this is a GREAT effect. Beautifully done. I've never seen realtime grass before (well except on the rare occasions that I go outside :)

I actually like the effect in the first screenshot you posted as well. It looks kind of 'furry'. Reminds me of a film.
Now what was that film called.........


Hmm.........


Oh yeah, Creepshow (I think). It's a terrible B-Movie. One of the 'sketches' in it involves a meteorite that falls to Earth bringing with it a furry alien 'grass' that grows all over everything (including the unfortunate red-neck that discovers it).

Anyway...

[Skitchy decides its time to sleep now]


skn3(Posted 2003) [#30]
Excellent, does it move in the wind ??


mearrin69(Posted 2003) [#31]
That's looking really great. Nice to see your progress. Keep improving the texture and you've got it. Very pretty.
M


Smurfpuss(Posted 2003) [#32]
yes improve the trees and you will have a killer


Anthony Flack(Posted 2003) [#33]
Yeah, now yer getting somewhere with that texture. Looking good.

I agree about the trees tho' - they need better textures, both in leaves and trunk, and they really need a proper "base", ie. the tops of the main roots showing, rather than just coming straight out of the ground like tulips.


semar(Posted 2003) [#34]
I would not be surprised to find that pictures in an art gallery.

Great job indeed, Sabata Rh.

I'm impressed...

Sergio.


jhocking(Posted 2003) [#35]
"including the unfortunate red-neck that discovers it"
I think I've seen that movie. Wasn't the rednack played by Stephen King?


SabataRH(Posted 2003) [#36]
Yup.. got a set of new trees on the way.. As long as they don't kill the speed I'll use them... The above trees are light on textures and polys making them ideal for lush enviroments.. I think the new trees won't do much damage.

Heres a shot of shadowing using the old trees still..



The grass gets shaded and faded slightly when within range of a tree.. Also a dark bevel is added to the 3rd layer of terrain skin allowing it to bring out the 4th layer bump map. Terrain shading is pre-calc'd at load up but grass is altered in realtime.


Mathieu A(Posted 2003) [#37]
it's really beautiful! do you post your code into the code archive or not?? because I'm very interested


SabataRH(Posted 2003) [#38]
Well it's really part of an overall game engine, but I think once the project is finished I could swipe out the grass functions and post em'. I'm also considering using this same engine for a 4-wheeler racing sim.


Skn3 - animation not in yet... but the new trees will have a sway to them... Im considering giving the grass entites a manual rotation value to give them a gentle sway.. I'll have to do some speed tests before committing to it however.


Mathieu A(Posted 2003) [#39]
very cool! I repeat that your engine is very very nice I love flowers!!!


SabataRH(Posted 2003) [#40]
Manual motion sway to the grass has not influenced the fps much, thats great news!


jhocking(Posted 2003) [#41]
I don't really like the shading. It looks a little too heavy handed.


mearrin69(Posted 2003) [#42]
The shadowing does look a little dark but it's hard to tell without seeing it in motion. Still, it's looking damn good!
M


SabataRH(Posted 2003) [#43]
Shadowing needs some touch up I agree. I'm putting in the new trees atm and then i'll give the shade some intention..

Thanks for the comments and suggestions!


SabataRH(Posted 2003) [#44]
Ok, in order to get full tree detail I had to use many many more polys then Treemagik put out. So i designed some new trees in 3dmax. The results are good, but the poly count is trippled. In order to compensate for this I've created a tree_control() routine that does several things. It uses a template model for each tree ranging from 10% to 100% poly count based on camera distance..

The end results allow for high poly trees up close while using 10 to 50 poly trees in the distance (based on the actual trees base model).

Have a look, this is the same tree spaced throughout the background being reduced as the camera drifts further away.

tree_shot


Wiebo(Posted 2003) [#45]
Yeah, I think the grass is a bit too dark , like it's in the shade or something, i don't know. it just doesn't look right to me, compared to the rest of the terrain. Play a bit with the brightness, Sabata...


Zephar123(Posted 2003) [#46]
wow nice to show off what blitz3d is capable of. I look forward to seeing more. I would love to see that grass code. :-)