Community
Arnold for 3ds Max
Rendering with Arnold in 3ds Max using the MaxtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Adaptive Subdivision on Object Space

10 REPLIES 10
SOLVED
Reply
Message 1 of 11
Andrew_Wilkins1
1199 Views, 10 Replies

Adaptive Subdivision on Object Space

Hi everyone,

Quick question here on Adaptive subdivision.

According to the docs it's better to use "Object" space instead of "Raster" for anything instanced (like standins?)
From Docs:
"
Adaptive subdivision in raster space is problematic when instancing: A tessellation that is good for one instance will not be good for another further away. Using object space subdivision will ensure that all instances will subdivide to the proper level."

But either way, when quickly testing with some spheres between Raster and Object. (Catclark, 5 subdiv iterations, 10 Adaptive Error + Edge Length)

I get this:

Left side: "Raster" and Right side: "Object"3180-adaptive-subdiv.jpg

The Object space is not subdividing at all compared to the results from the Raster which is responding as expected.

Does anyone have any advice on what I may be missing?

Thank you,
Andrew

MtoA 3.1.1
Core 5.2.1.0
Maya 2018.2

10 REPLIES 10
Message 2 of 11

With raster space, you're getting instances with different tesselation, which might matter sometimes (displacement mabye?).

With object space, every instance has the same tesselation.



// Stephen Blair
// Arnold Renderer Support
Message 3 of 11
teddude75
in reply to: Andrew_Wilkins1

Message 4 of 11

Thank you for the info and suggested script!

I see...so on "Object" one would have to manually (or script such as above) to set either the iterations or adaptive error for the desired result for specific cameras?

Then my question would be for a high amount of standin assets which vary greatly in distance to camera in multiple shots but share the same Adaptive Subdiv settings. (because they're standins)
What would be the best way to handle that?

ie. to avoid these warnings
[subdiv] Asset_geoShape: instanced multiple times, set 'subdiv_adaptive_space' to 'object' and review 'subdiv_adaptive_error'
[subdiv] Asset_geoShape: instanced multiple times, frustum culling will be ignored

Message 5 of 11

Hi all,

Bumping my last question here. 🙂
Surely most Arnold users would populate their environments with Standin assets and wouldn't want to lose out on Adaptive Subdiv or Frustum Culling render features as they significantly reduce ram usage.

I'm just wondering what the correct way to utilize these features are in a studio pipeline. As assets are published with "Raster" adaptive subdiv but then we get the above mentioned render warnings.

Is it that Adaptive Subdiv is still kicking in, but the results might be undesired? (as in attached video file below) and it's just frustum culling that's completely ignored?

Attached please find mov file showing sphere standins duplicated with various distance to camera and 15 frames rendered with a simple moving camera.

SubDiv settings: Catclark, Iterations: 5, Edge_Length, Adaptive Error: 10, Adaptive Space: Raster

raster-adpative-edgelength.zip


Message 6 of 11

For the warning:
Raster space adaptive subdivision will not work as expected on instances, because a random instance will be used to subdivide for all the other ones. So for instances, use object space.



// Stephen Blair
// Arnold Renderer Support
Message 7 of 11

Thank you Stephen, much appreciated. 🙂

Would it then be safe to assume that we'd lose out on Adaptive Subdiv on those instances unless we:

1) Use something like Target Operators to control Adaptive Error/Iterations for distance to camera? (on Object mode)
2) Create multiple LOD standins with different Subdiv settings for distance to camera?
3) Not use Standins at all?

And no matter what, we lose out on Frustum Culling when using standins?

Message 8 of 11

Well, you can still have object-space adaptive subdivision.

Instances don't have their own subdiv settings, so you get the subdivided master object.

When you load the same standin multiple times, you're effectively using instances (because of the Arnold procedural cache: Arnold knows you're loading the same ass file, so Arnold caches one copy and then instances it).

You could disable the procedural cache, but that has a cost, esp if your standins are big assets.

Frustum culling does not apply to procedurals (aka standins) yet.



// Stephen Blair
// Arnold Renderer Support
Message 9 of 11

Okay cool,
Hopefully my last question...you're helping me a lot!
As from above "With object space, every instance has the same tessellation."

Wouldn't that then mean that if the standins/instances are set to object-space adaptive subdivision—on the master object—that would effectively be the same as disabling adaptive subdivision—as it won't change based on distance to camera?
and you'd be unable to modify the adaptive error value without modifying the master .ass file or attempting to use target operators?

So high-res (geometry) standin assets that are placed in the background of a shot, will remain high-res. (on object space)

Message 10 of 11

All instances are going to share the same tesselation, so you'll have to set the object-space adaptive subdivision parameters in a way that works as best as possible for all instances.



// Stephen Blair
// Arnold Renderer Support
Message 11 of 11

Thank you very much for all the info and taking the time to help.

We'll go forward from here with trying to decide on suitable asset level subdiv choices with a better understanding.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report