ZaonDude
02-27-2005, 02:07 AM
I'm horribly confused and frustrated by something going on during mental ray rendering that I hope y'all can shed some light on.
First, fact: In a scene with 1 object that has two mental ray rendering overrides set (one for surface approximation and one for displacement approximation), if that object has a maya displacement shader on it then mental ray uses only the displacement override tessellation setting and ignores the surface approximation settings. That is, you can set the nurbs surface approximation angle tessellation settings of min/max to min 0 and max anywhere from 1-4 (for example) and it in no way changes the number of polygons rendered in that scene (as reported by mental ray progress translation log) because the surface is being tessellated according to the displacement approximation override and no longer by the nurbs surface approximation override now that a displacement shader is on the object.
So, why does setting nurbs approximation override angle's max subdivisions one higher to '5' suddenly cause a runtime error and crash? Mental ray shouldn't even be looking at that override, right?
Interesting, if I lower the parametric Displacement UV subdiv override from 4/4 to 3/3, I can keep the surface override angle max subdiv at 5 without crashing.
Strange Memory info:
Have 1.5 physical ram.
Watching total commit charge during repeated memory tests I also get rather bizarre results:
With displace UV override at 4/4 and surface angle override at min/max 0/1 I get about 870megs mem usage.
With displace UV override at 4/4 and surface angle override at min/max 0/3 I get about 920megs mem usage, which stands to reason except that mental ray shouldn't even be affected by this setting!!
Even more strange: With displace UV override at 4/4 and surface angle override at min/max 0/0 I can see total commit charge memory quickly soaring high and sometime after 1.2gigs mem usage I get that same runtime error again. Which makes even less sense to me since even if MR pays attention to this surface override why would 0/0 for min/max tessellation cause memory usage to skyrocket to the point of crashing when 0/1 min/max is fine?
So what's up with all this? LOL.
Thanks guys!!
First, fact: In a scene with 1 object that has two mental ray rendering overrides set (one for surface approximation and one for displacement approximation), if that object has a maya displacement shader on it then mental ray uses only the displacement override tessellation setting and ignores the surface approximation settings. That is, you can set the nurbs surface approximation angle tessellation settings of min/max to min 0 and max anywhere from 1-4 (for example) and it in no way changes the number of polygons rendered in that scene (as reported by mental ray progress translation log) because the surface is being tessellated according to the displacement approximation override and no longer by the nurbs surface approximation override now that a displacement shader is on the object.
So, why does setting nurbs approximation override angle's max subdivisions one higher to '5' suddenly cause a runtime error and crash? Mental ray shouldn't even be looking at that override, right?
Interesting, if I lower the parametric Displacement UV subdiv override from 4/4 to 3/3, I can keep the surface override angle max subdiv at 5 without crashing.
Strange Memory info:
Have 1.5 physical ram.
Watching total commit charge during repeated memory tests I also get rather bizarre results:
With displace UV override at 4/4 and surface angle override at min/max 0/1 I get about 870megs mem usage.
With displace UV override at 4/4 and surface angle override at min/max 0/3 I get about 920megs mem usage, which stands to reason except that mental ray shouldn't even be affected by this setting!!
Even more strange: With displace UV override at 4/4 and surface angle override at min/max 0/0 I can see total commit charge memory quickly soaring high and sometime after 1.2gigs mem usage I get that same runtime error again. Which makes even less sense to me since even if MR pays attention to this surface override why would 0/0 for min/max tessellation cause memory usage to skyrocket to the point of crashing when 0/1 min/max is fine?
So what's up with all this? LOL.
Thanks guys!!
