DaJuice Posted October 30, 2003 Share Posted October 30, 2003 Hello folks. I've noticed that ambient occlusion is extremely slow when I have displacement mapping in a scene. For example, rendering a poly-modeled character as Subdivision-Surfaces is not a problem, but as soon as I apply a displacement shader it won't even finish a single bucket. How do you get around this? Just render a non-displaced version and comp it later? I don't imagine that would look very good. Do any other micropoly/GI capable renderers have this issue or is just a mantra thing, or is this even a problem for anyone else?? Thank you. Quote Link to comment Share on other sites More sharing options...
Jason Posted October 31, 2003 Share Posted October 31, 2003 Yeah, the tessellation of your mesh for raytracing is a very slow process. One optimisation you could try is to turn down your Level Of Detail on your character. This will make Mantra do less tessellation, which might or might not make your ambient occlusion worse. Quote Link to comment Share on other sites More sharing options...
DaJuice Posted October 31, 2003 Author Share Posted October 31, 2003 Thanks for the suggestion Jason, I didn't think of that, but still no go. I set the Shading Quality to 0.1, the Level of Detail to 0.1, and the Sampling Quality for the GI to 8, but after 30 minutes no buckets had been rendered. Quote Link to comment Share on other sites More sharing options...
Jason Posted October 31, 2003 Share Posted October 31, 2003 Hey Da Juice, Unfortunately mantra can be a black box at times.. How heavy is your model? If you use straightfoward reflection against it, does it work? i.e put it on a mirrored floor in just direct lighting. If it never renders, I reckon you should post it up to Side Effects and ask them to examine it. Or post it here too, and maybe one of us will find a moment... Quote Link to comment Share on other sites More sharing options...
DaJuice Posted October 31, 2003 Author Share Posted October 31, 2003 Hmm, that works...well...sorta. The reflection doesn't actually show the displacement correctly. Below is a piccy, I'm using the Vex Metal shader. Argh, I just want the GI to work, I don't even care about the reflections right now. thx for helping out btw! Quote Link to comment Share on other sites More sharing options...
DaJuice Posted November 3, 2003 Author Share Posted November 3, 2003 OK, I think I fixed it. Looks like the displace bound was the culprit. It was set unnessicarily high which was resulting in the insane render times. I turned it off alltogether and Ambient Occlusion works fine now. Still pretty slow, but at least not unusable. Peace! Quote Link to comment Share on other sites More sharing options...
Stremik Posted November 3, 2003 Share Posted November 3, 2003 That's a nice set of walking stiks there! Quote Link to comment Share on other sites More sharing options...
DaJuice Posted November 3, 2003 Author Share Posted November 3, 2003 Hehe, thank you! I don't really wanna post the whole thing until I got all the textures finished and a decent light set up going. Quote Link to comment Share on other sites More sharing options...
stevenong Posted November 3, 2003 Share Posted November 3, 2003 Hey DaJuice, You can channel reference the object's Displace Bound parameter to the Displacement Shader's Amplitude/Height/foo parameter. This removes the need to guess what the Displace Bound is plus you only have to adjust one parameter. I hope the above helps! Cheers! steven PS The legs of the model looks great! Quote Link to comment Share on other sites More sharing options...
DaJuice Posted November 3, 2003 Author Share Posted November 3, 2003 Glad you like it. You're right of course, I'll keep that trick in mind. Right now there isn't any cracking evident so I left it off. Quote Link to comment Share on other sites More sharing options...
stevenong Posted November 4, 2003 Share Posted November 4, 2003 Oh, one thing to take note of with channel referencing is when the Displacement value is negative. To fix this, you use an abs() function together with the ch(). Easy peasy! Cheers! steven Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.