Title: Signature
Thanks guys. This gives me some leads to follow.

To answer Ed's question: we are using distance limit (since we clearly don't want to be sampling the enviro). We're not needing the enviro to cast AO on the models, but rather that they cast AO onto themselves. They consist of multiple animated meshes and need to cast AO on other meshes in the same asset. The environment is actually in a partition with a black-alpha mat on it.

We thought about translating the whole scene closer as you suggest Ed, and may do so yet.

As far as accuracy is concerned, the renders look good consistently. They just take for frickin' ever to render.

If anyone thinks of anything else, lemme know!

-Tim


On 4/19/2012 1:47 PM, Matt Lind wrote:

You might be running into some precision errors in the math causing more work to be done in the shader than necessary.

 

As you move away from the world origin the precision of the numbers involved in calculations get less precise.  Ambient occlusion is a very involved process in that probe rays are cast all over the place to determine what is surrounding a given point on a surface.  In some cases, there is logic to cast additional rays along paths if certain conditions are found such as a probe ray hitting the backside of polygon.  When math is less precise, there may be situations where the continuing probe ray may be positioned in such a way that the ray is recast along the same path and hit the same intersection point again causing recursion until a different terminating condition is met.

 

First thing to check is to see if you get consistent and expected results.  If so, you may be hitting a recursion issue due to precision problems.  If you get inconsistent results, then there’s something else going on.

 

One test to try is to freeze transforms of your objects and flatten hierarchies as much as possible so they are horizontal instead of vertical.  This will reduce the amount of calculations necessary to determine the position of a polygon, for example, and therefore also reduce any precision errors that may possibly be occurring.

 

While working on past projects it was determined that anything outside of [-4000…4000] units away from the origin will start to show artifacts from precision issues in mental ray.  For example, edge of a shadow falling in an incorrect location.

 

 

 

Matt

 

 

 

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Tim Crowson
Sent: Thursday, April 19, 2012 11:18 AM
To: [email protected]
Subject: Trouble with Mental Ray AO on objects which are very far from the origin

 

We have some scenes that are rather large, with objects that are needing AO shading, but which are very far from the origin (15,000-20,000 units away). The environment is enormous.

Anyway, the further the object is from the origin, the longer it takes MR to render it's AO. We can even take a simple scene with a couple of primitives, move them way out, and see the same slow rendering.

1) is this unique to MR?
2) is there a known solution? (apart from scaling the whole scene down, which is not an option)

--

 

Tim Crowson
Lead CG Artist

Magnetic Dreams Animation Studio, Inc.
2525 Lebanon Pike, Building C. Nashville, TN 37214
Ph  615.885.6801 | Fax  615.889.4768 | www.magneticdreams.com
[email protected]

 


--
Signature

 



 

Reply via email to