View Full Version : Raytrace Artifacts on Large surfaces

08 August 2009, 04:02 PM
So the problem my coworkers and I have been running into are these pesky shadow artifacts that rear their ugly heads when using raytrace shadows on large objects that are being cast by smaller objects.
ex: Plane flying over terrain.

Our line of work requires that real world dimensions are used in our animations, and in most cases requires the vehicle to interact with the terrain. So faking the terrain with just an image doesn’t quite meet our requirements.

Ive attached an image of the type of artifacts were encountering (small poly sphere casting onto a 30x30 mile poly plane)

Have any of you run this type of glitch? Have any of you found a way to resolve this or is there a better way to go about achieving this type of scene?

I have tried changing the light angle within my directional light, this seems to phase out the artifacts. However it does have its negatives. The shadows that this method produces resembles something like a burn mark. its dark up until a point then it has a completely different shade on the outer edge. not quite it.

Thanks guys!

Maya ver. 2009 sp 1a

08 August 2009, 06:14 PM
I'm assuming you're using mr. Try the large grid BSP algorithms, if no luck then it's time to get your hands dirty with the BSP diagnosis tools built into mr.

08 August 2009, 06:42 PM
Ok I'll give the bsp settings a look at. I had completely forgotten about adjusting my bsp settings. Hopefully this will solve this problem that we've been having, i have a good feeling that it will since the scene is quite large. Will be back with an update.

Thanks for the help!

08 August 2009, 08:24 PM
Well, I thought there would be a good chance that it was a simple matter of adjusting the bsp settings but so far no positive results. Here's what I got (yes you're right I'm rendering in mr):

Hopefully not a dead end, just a set back. Any other possible solutions? Thanks!

08 August 2009, 08:46 PM
I noticed that the shadow didn't change the BSP diag colours, I'd have thought it would have since they're raytraced shadows, try selecting the 'Separate Shadow Bsp' checkbox.

08 August 2009, 09:11 PM
Still nothing, having the box for separate shadow bsp checked turned up an identical result to the one before. I also tried different shadow methods, no luck with those either. I'm not sure if this would be the culprit, but I only have raytracing turned on. The only ight i have in the scene is a directional light pointed directly at the ground at a 90 degree angle. No global or final gather. Any ideas?

08 August 2009, 11:45 PM

I use Maya often for real-world measurement-based rendering, although Rhino (my modeler) sets the scale, as Maya's scale is a pain to deal with.

But my first question is regarding your terrain's surface. You said it was 30x30 miles. Is this just the size of the terrain plane you're using? How many subdivisions (polygons) are you working with on this test, just one? Or many, many polys?

I have experienced similar lighting artifacts when using single-poly planes and raytrace shadows. The fix for me was to smooth (subdivide) my meshes. Just an idea. But say the image you've shown us is a single or even 64-poly plane... Try subdividing (smooth: exponential) the plane until you reach a higher resolution, say 64x64 or more?

08 August 2009, 02:59 PM
Well I gave that method a shot but all of the renders I took (after the smooth and after deleting the history) had the same artifacts in the shadow.

Here's a screen of something I think may be related, when I view the entire plane from a distance the poly faces begin bugging out. I know its not my camera clip plane because the far clip plane is set to 900,000 units.

Would it be possible to ask Rhino about his scaling? I've got a feeling that I'm just exceeding what maya will process as far as small scale against large scale objects in one scene. I've also attached my scene for anybody who wants to take a look.

08 August 2009, 03:23 PM
I reproduced your problem and tried several things, which didn't work.

Then I switched the Raytrace Acceleration in the Render Globals from "Large BSP" to "BSP 2". This fixed the problem.

Hope this helps!

08 August 2009, 04:58 PM
I'm shocked , I could've sworn that I ran renders through each of the bsp settings. However, as soon as I flipped it over to bsp2 everything was right with the shadows and render times actually dropped a few seconds. Thankfully this works great. We just tried this on fedora 8 (example was made in osx) using an older project and to our amazement it fixed everything. I really have to thank you for the simple and effective suggestions.

My coworker knows for a fact that he had tried this before and is baffled as to why its working so well now. So he's going to see if he can reproduce the scenario he was encountering before. Until a time comes when it breaks (hopefully not fingers crossed), We'll continue to utilize this approach for our large terrain scenes.

Thanks for the help guys!

08 August 2009, 08:07 PM
The viewport face issue you were having problems with is probably just down to the inaccuracies of the single floating pointing numbers used by the graphics card causing z-fighting effects at large distances i.e. the polygons begin to overlap, but only in the graphics card.

Maya (in fact most 'arty' 3D packages) doesn't handle very large scales, again because of double precision floating point accuracy. It's shame no-one can usefully implement exact arithmetic libraries into Maya (and all the plugins in it....), like MPFR and LEDA.

08 August 2009, 08:22 PM
That's kind of what I was thinking it would be, since it renders just fine. A shame for sure, but at least its only in the viewport and not an actual glitch that affects the rendered image.

CGTalk Moderation
08 August 2009, 08:22 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.