Forests in maya mental ray.


#401

A take on short grass, aiming for the lawn-type kind. I made it about 7 cm high (the tallest blades), 68 million poly (instances):

Link to higher rez: http://www.nicz.net/shortgrass.jpg


#402

That’s very impressive visua.

How would you achieve the transition between modeled grass (with proxies) and textured floor with textured grass? (for covering wide range of grass, like a landscape, when you want modeled grass in the foreground but not in the mid/background).


#403

Hey Visua,

How did you apply that much grass and spread it out so evenly and fast?


#404

Nice visua! Any chance you could post a screenshot of your shader network? Is it mia_material_x with transluceny mapped? Or did you plug in an SSS shader into additional color or anything like that?

Also…is your lighting MR sun and sky with raytraced shadows…or did you do something else?

Keep up the good work! :thumbsup:


#405

Thanx guys,

@joie: Well dunno really, haven’t tried it myself, but I would probably just make the grass gradually thinner by painting the transition with the spPaint-tool.

@Kinematics: That is just a 1x1 meter patch instanced like a trillion times.
Actually I made the actual blades for this particular patch in max (I use max at work), with a nifty little scatter-script, I got bored painting all those tiny blades in maya :smiley:

@Redsand: No I wouldn’t mind, here you go, nothing fancy, yeah translucency only no real SSS. The lighting-setup for this one was a sphere with a mia_light_surface hooked up to a mia_material_x (ibl):

Shading network


#406

Hi Visua,

Your grass looks great, first class!

I was wondering, if you have the time that is, would you mind rendering the same shots but only using a phong with just the texture and maybe a very slight amount of transparency?
It would be great to see them side by side to compare the difference. :bounce:


#407

gorgeous looking grass!


#408

@visua: Thanks man! Way cool to see the setup that produced that. Great looking stuff.


#409

thanks syna,
Took a look at your rendering . You are getting some flickering, and at the same area where I was getting it.
I am also no interested in a still. want to know how to make it feasible for an animation. for now the rendertimes and visual quality are decent enough. but I cant use it with the flickering. Any idea about how to get rid of it.
here is my file
http://rapidshare.com/files/349454693/scene_instances.mb.zip.html
see for your self people.


#410

What a nice grass visua.

How long took your render?
I’ve seen you grass shader and i was wondering why do you have bump and glossy reflections and refractions.
Have you tried with 2higlights only" turned on, without bump and lower samples in the refraction to see the time/quality diference?
I think that maybe, if i’s not a close up, you would have better render times without lçoosing your great quality.

mehran: I wiull look at your scene today and see the diferences. Your right it flickers a little, but also the camera movement is too fast, and i didn’t made a great fg map… maybe that will fix it.


#411

FYI, I just maxed out a scene on my system using instances, not binaryproxy.
I have screen shots of wire frame, ram usage,polycount and managed to get a render out of it.
Notice after polycounts are in the hundreds of millions the HUD does not work that well. So I used the polyEvaluate -r; command on selected polys.

So I have 8 gigs I was getting close to it before rendering(like 7.96). And the rendering seemed to free a little because now the system is idling at 7.09gigs after the render.
In Total I have 148,376,931 Polys or 241 million Triangles. I was able to Render in render view with bsp2 and raytrace render settings. I had FG and GI activated too.

I am sure I could push a few more if I had too, but that helps me and I hope some of you for scene planning.
Will turning all of my instances into binary proxy result in the use of the same amount of ram upon render? Will it take into account, that which is only visible in the render(that would be nice)?
Am I capped at a scene of 148million polys no matter what method I use? Without getting more Ram.

Any tricks?

Im going to be rebuilding my scene now, so any advice would be great.

If someone really wanted I would post the boring screen shots.

Oh yah the render took 17minutes.

R.


#412

So I have 8 gigs I was getting close to it before rendering(like 7.96). And the rendering seemed to free a little because now the system is idling at 7.09gigs after the render.
In Total I have 148,376,931 Polys or 241 million Triangles. I was able to Render in render view with bsp2 and raytrace render settings. I had FG and GI activated too.

I am sure I could push a few more if I had too, but that helps me and I hope some of you for scene planning.
Will turning all of my instances into binary proxy result in the use of the same amount of ram upon render? Will it take into account, that which is only visible in the render(that would be nice)?
Am I capped at a scene of 148million polys no matter what method I use? Without getting more Ram.

I don’t believe RAM usage depends entirely on poly count. Indeed, the point of using instancing is that multiple instances require almost the same amount of RAM as their individual sources, with a RAM hit due to raytracing, GI, and FG usage.

Here’s a scene I’ve been working on, screenshot taken awhile back, which is 91M polys here and is currently closer to 200M:

In Maya, the scene’s RAM usage varies between 2-3GB or less depending on which elements are hidden and which are set to Bounding Box. I can only eek out a meager 1M polys in my viewport before it slows to a crawl, so every element has it’s on Display Layer which is easily set to BoundingBox before I save, so when I open the scene it’s quick to respond.

The scene is siting stable at between 3-4GB at rendertime, and that’s at 300dpi (3300x2550). The only difference between 100dpi and 300dpi is time; the RAM usage doesn’t change. Here’s how it looks at low-res, currently:

I’ve made many changes since that screenshot, obviously, and really pushed the polys. Most of the architecture is exported straight from Mudbox hi-poly, no displacement maps here.

Anyway, my point is that I don’t believe poly count itself pushes the RAM up, I mean once you start instancing the RAM doesn’t change much for me more than the original being loaded in. I’m not certain what you’re scene is like, but I’ve done a couple like this recently and had 100M or more, still under 4GB at rendertime.

Any other thoughts? I’d love to have some kind of working equation to help determine RAM limitations with heavy, hi-poly instancing…


#413

LOL

That’s a serious viewport, what GFX card are you on? I couldn’t even display something like that let alone in textured mode.


#414

Infernal, please tell me about the rendertime for this image (high/low res).


#415

I had posted more screenshots and wrote a bunch about RAM usage last night, as well as rendertimes, but then I got overzealous and clicked, “High Quality” in the Viewport. Bad idea! Should have posted it all first, then tried blowing up my GPU… Hamburger makin’ fun of my GPU had me trying to make it really rock!

Anyway, here’s a quick rehash of the epic essay I wrote last night.

Launching the scene, Maya hits 1.3GB of working RAM usage, and loads up in about one minute:

Switching to Full Detail (instead of Bounding Box) increases my working RAM to 2.1 GB, and takes about 30 seconds:

And the Flat Shaded mode increases the RAM to 2.3, takes about five seconds to kick over:

And here’s the Texture Shaded mode, which brings the RAM up to 2.9GB. I find this to be consistent with the Geforce 7950GT’s 512MB of onboard RAM, which is mirrored by the system:

In this mode, the Viewport is unusable for anything other than a visual reference. I almost never work like this, unless I’m checking my composition real quick. Usually it’s Bounding Box on all layers I’m not working on, for example. This keeps the Viewport snappy and the RAM usage down.

At rendertime using Batch, the scene still takes under 4GB to render.

Infernal, please tell me about the rendertime for this image (high/low res).

At 1100x850, it takes about 6 hours on my Athlon X2 4600 / 6GB / Win7 machine. The same render takes just over 2 hours on my Phenom X4 9850BE / 6GB / Win7 setup. It was nice to find that my workstation scaled up so well, too. Not twice as fast, but literally three times as fast.

At 200dpi (2200x1700), it takes just under 24 hours on the Athlon X2, and my guess is that it would take around 8 on the Phenom. At 300dpi (3300x2550) I’ll just render it on the Phenom. Should take around 16 or 18 hours, is my guess. Not quite done with detailing yet.

Note that the RAM doesn’t change much if at all when rendering to higher resolutions in Batch. Only the render time increases.

Been working on this scene since before this thread began, almost two years, and have redone it from scratch maybe 20 times. Vue failed utterly to keep up with the level of detail I desired, so this thread has been paramount in my shift entirely to Maya here. There’s a great deal of high-poly meshes here, as all the architecture is sculpted out in Mudbox and then imported high-poly, no displacement maps. Even the foreground water is high-poly Mud sculpting. Also, the middleground shown in my previous post is a separate scene using the same source plants/trees/rocks, etc., and then composited in Photoshop. I matched up the cameras and distances and scale so that they would look proper in the composition. The Mt. Rainier object is simply a distance reference; it will most likely not appear in my final, unless as a very distant, hazy element. I live right under Mt. Rainier now and love to see it, even on my screen!

Hope this helps with others working on similar projects. Perhaps I’ll finish this one this year, sometime. But thanks to all who’ve posted here; you’ve been a huge help and I’ve learned a lot from you guys!


#416

@InfernalDarkness: Great info! Good stuff to know. I’ve never pushed my system that hard before, but it’s cool to see someone doing that. Scene is looking pretty cool by the way. Keep up the good work and informative posts! :thumbsup:


#417

Consistent scene settings:

  Maya 2010x64
    1 light(Sun&Sky with the regular MIA Exposure Simple)
    Grass Mound=21469 Triangles(saved to HD as 1.5MB mi file)  =One Proxy, which is two Polys.
    Grass Mound Texture= mia_material_x_passes w 1k Texture, bump, and translucency like 
    described previously in thread. Plus AO with 32 samples.
    
    Render settings:
    Primary Renderer:Raytracing
    SecondaryRenderer: Raytracing, FG, AO checked.
    Raytrace/Scanline: -1,1
    MultiPixelFiltering:Box
    RayTracing:Refl 8, Refr 8, MaxTrace 4, Shadows 4
    AccelerationMethod:BSP2
    FG: Accuracy 100, Point Density 1, Point Interpolation 10
    BatchRender Settings:AUto RenderThreads,AutoTiling,AutoMemory Limit.
    
   No alpha or depth channel in Renderings and Render size is 800x451
    
    Hardware and OS:
    PC
    Music Playing in the background with WMP
    Vista x64
    8gig Ram DDR2-800 CL 4-4-4-12
    IntelCore2 Quad cpu @ 2.34GHz
    ATI Radeon HD 4850

300gig Velociraptor Drives
System Ram is already Running at 2gigs(Before Maya is run)

    Tests:
    
    TestA:
    Proxys: 600
    Faces: 1200
    RenderTriangles: 12,881,400
    Maya.exe Idle scene Ram usage(in wireframe): 1.3 gigs
    RenderView-
    Maya.exe Ram used(highest value displayed during render): 1.6gigs
    Time: 1min 17secs
    Batch-
    MayaBatch.exe Ram used(highest value displayed during render):880mb
    Time: 1 min 30 secs
    Notes: System was idling at 3 gigs
    
    TestB: Maya.exe Ram(idling on a wireframe view): increased 300mb upon creation of  464 new Proxy's(928Faces or 9,961,616 Tris in Render)
    Note: Upon rendering in Maya Render view The Maya.exe Did not change very much.
    
    TestC:
    Proxys:23,333
    Faces: 46,666
    RenderTriangles: 500,936,177
    Maya.exe Idle scene Ram usage(in wireframe):1.2gigs(before render view render and 1.321 gigs after?)
    RenderView-
    Maya.exe Ram used(highest value displayed during render):1.37gigs
    Time: 3min 52sec
    Batch-
    MayaBatch.exe Ram used(highest value displayed during render): 586MB
    Time: 5min 45sec
    Notes: System maxed at 3.7gigs
    
    TestD:
    Proxys: 46674
    Faces: 93348
    RenderTriangles: 1,002,044,106
    Maya.exe Idle scene Ram usage(in wireframe): 1.39gigs
    Notes: Doubled TestC, but became impatient and decided to go larger.
    
    TestE:
    Proxys:140003
    Faces: 280,006
    RenderTriangles: Over 3 Billion.
    Maya.exe Idle scene Ram usage(in wireframe):1.95gigs(before render view render and 2.5 gigs after?)
    RenderView-
    Maya.exe Ram used(highest value displayed during render): 2.7gigs
    Time: 24 minutes(even though render view says 17.45)
    Batch-
    MayaBatch.exe Ram used(highest value displayed during render):1.79gigs
    Time: 1 hour and 19 minutes
    Notes: It took 25 minutes before the MayaBatch.exe showed up in processes.
    
    
    
    Conclusions:

Binary_Proxys versus Instances… I can get a lot more out of my little 8 gigs of ram using BinaryProxy. Downside… creative texturing and you cannot proxy animation data.
Mental Ray Batch time? What is with that last render Batch Render took almost an hour longer? Could anyone offer me an idea why? is it BSP2? Does it take that long to translate the scene from Maya? I am guessing its the translation.
Also Test C took less Ram than Test A of the Batch Render.

    I compared all the renderings to be sure of artifacts etc. They are all identical.
     
    
    3 Billion Triangles Yahhhh! I feel like I have the little system that could lol. Maya is great.
    
    
    Tricks: 
    
    1.Saving in wire frame
    
    2.My binary proxys start off as a cube, then I delete the 4 sides, leaving a top and bottom poly(2 instead of six). This lets me scale the Proxys in 3 axis vs only 2 with a plane.
    
    3.Painting with Sebastien Paviot's spPaint 9.3 using instances(note the keep connections option in Options menu is no longer available in this version?? or atleast mine). I then reconnect binary Proxy Node with Jim Collins Multi Connector. This is a super time saver!!!
    
    If I didnt have to scale my proxy meshes, they could have been one plane... Based on that and the Fact that I only used Half  my available ram. I am thinking I could squeeze out a Max of 12 Billion Triangles.
    
500Billion Polys? How would you do that? I guess hiding parts of a scene would work, so you juggle maya's ram usage visually. If 8 gigs could be 12billion, could 16 then be 24billion and we would need 256gigs of ram for 384 Billion Triangles... So how could vray do 500billionPolys. I'm so curios.
And could they be animated polys?

Moving to MAC or Win7 would offer improvements on Ram too.

    Really really boring snapshots available upon request.
    
    I hope this helps anyone lol. This Burned me out a bit. I had to watch the ram and clock the whole time. Now its time to be creative!
    
    ThankYou.
Thanks for all the great tips. This thread has meant a lot.

I would also like to see someone come up with an equation?!! Hopefully my data helps. I dont want to do it right now. I actually laid everything out in units secs and gigs using Test A,C and E. THings are consistent except the batch render comparisons on RAM and Time.

If we had some similar test on assorted systems… we could get a really ruff equation, but My scene has only one proxy, no other details etc. So there would be other variables too.

My 2 cents.

Rasa

#418

I don’t think RAM would need scale up like that linearly. Just need more efficient renderer/algorithms/code/etc…

V-Ray is extremely efficient at this kind of stuff and uses up much less RAM than mental ray (at least in my own tests with proxies), also yes - they can be animated.

But like you say: 500 billion polys is a lot…I might try and get some tests done too with mental ray. Good post Rasamaya


#419

Thanx man, well I agree that I could probably cut some time off during rendering using highlights only or such. But the short grass version rendered in 10 minutes in 2k rez so I didn’t really bother :wink: And with mapping reflections and gloss you get some nice subtle variations in the specular highlights that I think would be hard to recreate with the “fg highlights only” option.


#420

500Billion Polys? How would you do that? I guess hiding parts of a scene would work, so you juggle maya’s ram usage visually. If 8 gigs could be 12billion, could 16 then be 24billion and we would need 256gigs of ram for 384 Billion Triangles… So how could vray do 500billionPolys. I’m so curios.
And could they be animated polys?

Moving to MAC or Win7 would offer improvements on Ram too.

I’m not certain that RAM and poly-count scale together at all, still. I think there’s a lot more to the equation than straight numbers here. Not sure of all the elements, but textures of course are a huge one too.

Also, moving to Mac OS Ten wouldn’t improve anything currently. There’s no 64-bit version for Apples.

And my experience with Win7 is that it IS much more efficient, but not enough to make a difference once you pass the 4GB mark. One good thing is stability; the crash I mentioned in my previous post is the first time Maya has actually CRASHED my entire system in an entire year now, since I started using Win7 x64. But this crash was GPU-specific, and not Win7’s fault at all.

V-Ray is extremely efficient at this kind of stuff and uses up much less RAM than mental ray (at least in my own tests with proxies), also yes - they can be animated.

But like you say: 500 billion polys is a lot...I might try and get some tests done too with mental ray. Good post Rasamaya

Is that render you posted a Vray render? It’s quite pretty, but also likely intentionally stylized? Looks cool, but a bit of an NPR style…