View Full Version : rendering paint fx grass in MR

06 June 2010, 10:29 AM
Firstly, I know it can't be done directly. What I was thinking was I could render just the grass in the software renderer and composit it into the final; and to get shadows, I'd just convert the paint effects to polys and render out the shadow layer from that, but the problem is, the polycount needed is insane and crashes Maya (this is about 20sq m of grass). If I lower the poly count in the convert options box, it only converts so much of the grass. Note that I have the paint fx themselves casting shadows, but wanted to convert to poly so I could render them on a separate layer.

Does anyone have any suggestions as to how one would achieve paint fx grass for a mental ray scene?

06 June 2010, 02:34 PM
You could create several smaller patches of PaintFX grass tailored to work well as tiles of grass. Density feather them at the edges to prevent obvious seams. Then convert these to polygons and instance/binary proxy the crap out of them to cover the larger area.
You'll be surprised how much geometry you can render quite easily through the various proxy methods.
Might also be worth to tweak your PaintFX brush to see if you can optimize the polygon count per blade of grass. Even if you can reduce it only marginally it could lower the total polygon count for the scene quite substantially.

06 June 2010, 12:32 AM
Create a nice square patch of grass, then simply instance it to fill the space you need. RAM usage and poly-counts won't be an issue, so long as you're using 64-bit Maya. I've rendered 5 billion polys worth of grass with little effect on RAM usage, as opposed to just using one instance. BSP2 makes for very efficient instancing.

There's no reason not to use mental ray for the grass, unless you're going for non-realistic (cartoon shading), but even so I'd just use MR for the BSP2 feature.

You can read more about this in the Forests for mental ray ( thread, around page 15 there's a ton of gloriously-rendered examples.

06 June 2010, 05:12 PM
easiest way >

paint some grass Fx (ie grassClump) so it forms small area (like 1x1 m2)
modify>convert paintfx to polygons (choose quads and poly limit to 0)
assign new shader to the converted mesh
instance the meshgroup zillion of times (place instances so they resemble big covered area)

The advantage of this is it doesnt take much ram and its still connected to the original brush stroke > it has wind animation and creation parameters alive! One can play with different settings on the whole grass land via one node.

You can hide duplication efect by different master strokes or just by position/orientation/scale of the instances > make it more chaotic - natural looking


CGTalk Moderation
06 June 2010, 05:12 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.