🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Convincing trees

Started by
95 comments, last by VanKurt 20 years, 9 months ago
Doing a single tree well is easy.

Doing 300 trees even reasonably well, on regular hardware, is really frickin'' hard.

Yann is smart and all, but just because he can put ONE tree on the screen doesn''t mean he 0wnz. Show me 300 trees and real-time frame rates, on a GeForce 2 MX, and I''ll start paying attention.

(oh, that''s with another 40 actors and 20 structures on screen, while running a networked game)
Advertisement
quote: Original post by Yann L
I''m using a similar concept, but for leaves only. I''m pretty sure, that it is the way to go, but I''m not yet happy with my implementation. The problem is the way the larger billboards are procedurally derived from the original model, my system is still suboptimal. There are a few papers about similar techniques (eg. this one, from EG''02), but I don''t really like the visual results either. Too many artifacts, IMO. I will continue to try different approaches in creating the larger billboards, I guess there must be an acceptable solution.


Maybe you are already doing this but are you, as the object moves away, gradually update the tree less and less frequently?

____________________________________________________________
Try RealityRift at www.planetrift.com
Feel free to comment, object, laugh at or agree to this. I won''t engage in flaming because of what I have said.
I could be wrong or right but the ideas are mine.

No no no no! :)
The way i store my trees now is screwed. I thought of using a tree structure to to store them. Basically, there is one trunk node, that works as a list manager, and then attached to that is a head node and from this i can have a maximum of three child nodes, and each child can have a maximum of 3 children.
Each child has a density and a seed value that i use to determine the spread and density of the leaves on the branches, as well as a matrix to animate the contents of each node, a rigidity and a bias modifier.
But it doesnt work and it runs like ass
I don''t have much time right now so I just want to thank you guys for your answers! Especially Yann''s concepts are very interesting and I''ll play around with all those ideas as soon as possible...
Thanks!
Hey, Yann:
I just downloaded the XFrog trial, but I''m having serious problems. Is it possible to export a tree to 3dsMax? I managed to export the mesh (as a .wrl file) but texturing is impossible!
All objects (trunk + leafs) are merged and there are no TexCoords....
quote:
Sounds interesting. How did you create the multi-resolution billboards, by hand or procedurally ?


The tree was hand-modelled. The friend that did it for me is not a professionnal, so it doesn''t look as good as yours; and there''s no lighting; but here''s a shot:

Click here

There''s about 1000 trees in that screenshot.

Y.
quote: When the camera gets even further away, I render the tree into a texture, and use that texture as a billboard. The z-information is preserved as an 8bit bumpmap over the billboard, allowing 3D lighting of the tree. That part works very well, is fast, and pretty realistic.
What is this concept about ? If you have z-information, how can you use it with 2D quad so that DirectX doesn`t care ? Do you then "copy" Zbuffer values of the tree into Z-Buffer directly ?

Also Yann, how many rotations of same tree do you allow per scene ? Because different rotations mean separate quads and that could be even 100 different textures of same tree, just in different rotation - so I assume there might be just some 4 rotations to add to variation, right ?

Yann, those trees you showed us, how many tris do they have actually in your case ? 20.000 would seem as an overkill for just one tree until there is just one in the scene.



VladR
Avenger game

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

You can simply turn zbuffer off or bias.
/M
After spending some time in Dresden I finally found time to work on this thing again. The whole system works almost right (thanks to yourmany hints), but I''m having some trouble with rendering the texture...

This image shows the same tree in 3D and as a rendered texture (not exactly from the same side):



As you can see the texture looks really strange (it is a 512x512 map!), although it is rendered the same way as the 3D one. So why does it look so crappy?

Thanks again, vK
It looks like you're rendering leafs first, then depth test will fail for parts which should be behind the leafs (like the NWN engine), or blending doesn't work.


-* So many things to do, so little time to spend. *-


[edited by - Ingenu on June 6, 2003 7:22:32 AM]
-* So many things to do, so little time to spend. *-

This topic is closed to new replies.

Advertisement