Tree leaf geometry instancing

   9293   8   0
User Avatar
Member
16 posts
Joined: Sept. 2010
Offline
Hi All,

(this was also posted on odforce)

I am trying to figure out the best way to go about rendering a big oak tree with 150'000 leaves!
I need to be able to procedurally ‘rustle’ them and have photo realistic shading and lighting, all while keeping memory usage on a realistic level.

I just did a quick test using a particle system, a simple flat poly quad and the ‘Instance’ node to stick the poly onto the particles.
I added one directional light source and used the default ‘leaf’ material.

This worked, just about, but my 12GB machine started swapping and the rendering was very slow, and that is before doing any shadows or motion blur.


Has anyone got any pointers for how to approach a problem like this?
Any thoughts greatly appreciated!

cheers
fred
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi Fred ,

Some ideas :-
1) Set up some sort of system where you can delayed load in sections of tree .

2) Set up a system where you can load in different resolutions of leaf.

3) Set up a way of animating tree branchs , simple lines and deform using chops maybe ? . Explore maybe adapting an l system.

4) secondary movement on leaf . You could add points at the tips of your branches plus a vector run it through a vop sop.

5) Add random curls to leaves

Interesting project keep me posted ! I remember a team in London working on a fighting tree sequence for a show back in the day , although they did it in Maya , it was very very cool !

Rob
Gone fishing
User Avatar
Member
16 posts
Joined: Sept. 2010
Offline
Hi Rob,

thanks for your suggestions, all great ideas!


At the moment I am focusing on investigating your 1) point. How to load the geometry to the renderer in a memory efficient way.

Does anyone know if it is possible to load in geometry as it is required based on bounding box or similar method(ala prman DelayedReadarchive), using Mantra and not writing any HDK code?


P.S Was it the Whomping Willow in Potter 2 you were thinking of?

cheers
fred
User Avatar
Member
217 posts
Joined: July 2007
Offline
Hi i also answer you on ODforce

I think that Mantra can render alot of istance geometry, i am doing some RnD for myself, personal project.

And render forest, with lot of geometry and trees render with PBR, one HDR and one dircet light

some images:









This last image if you calculate all trees and how much geometry they have its around 1250mil polygons

http://img801.imageshack.us/img801/6285/treesistancesyspreview.jpg [img801.imageshack.us]

This is image of my delayed load idea, every box that you see is bounding box of tree that he represent, then you can know wich tree is where.
And on render every box is switch with highres tree.

For now its only random scale and rotation
WEB
http://www.igorfx.com/ [igorfx.com]

Vimeo
https://vimeo.com/igorzanic [vimeo.com]
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi Fred ,
It was for Brothers Grim. Maybe you could use this thread to explore ideas / scene files / tests. One golden rule is keep it as simple as possible and get the effect working in a simple form before layering up the details


CeeGee : -

Very cool work, can you give more details about the palm trees ? They seems to hold up very well at your mid distance shot.

rob
Gone fishing
User Avatar
Member
217 posts
Joined: July 2007
Offline
Thanks circusmonkey

All trees are from evermotion library of trees, i didint make it. I just whant to make first this istance system with preview, this is my frist idea.

THis is original res render 1280*720

http://img10.imageshack.us/img10/2051/forestpbr01.jpg [img10.imageshack.us]

http://img529.imageshack.us/img529/60/forestpbr02.jpg [img529.imageshack.us]

http://img263.imageshack.us/img263/8403/forestpbr04.jpg [img263.imageshack.us]

http://img8.imageshack.us/img8/6233/forestpbr05.jpg [img8.imageshack.us]
WEB
http://www.igorfx.com/ [igorfx.com]

Vimeo
https://vimeo.com/igorzanic [vimeo.com]
User Avatar
Member
16 posts
Joined: Sept. 2010
Offline
Hi again,

(and as I said on ‘od’, great looking renders ceegee! )


I got a bit further with figuring out how the render time instancing could work.
(see attached pic's)

But now I am getting a weird effect where the render will stop after just a few ‘tiles’ have rendered in the center of the image. (see pic)

It suggests to me a bounding box thing but my delayed load procedural is set to ‘No Bounding Box Required’.


Does anyone recognize this problem?

I just noticed that this problem disappears as I switch render mode to ‘ray trace’. So it must be some ‘Micropolygon Rendering’ setting that is not right.

cheers
fred

Attachments:
render.png (3.1 KB)
instance_material.png (7.0 KB)
copy_instance.png (11.7 KB)

User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi Fred ,
Here is my delayed load example . with a little effort you could add some post render code so the file sop will auto reload every time you make changes to your asset and render out the results , maybe even create the folders for you and name of the object. buy hey Id add that last of all

Rob

Attachments:
delayedload.hip (55.3 KB)

Gone fishing
User Avatar
Member
16 posts
Joined: Sept. 2010
Offline
Hi CircusMonkey,

that's really nice of you to post that example!
I will take a thorough look at your setup.

thanks
fred
  • Quick Links