Hi,
I'm currently generating a pretty heavy model in SOPs, and rendering that with Arnold in LOPs.
I can bake that SOP geo out to disk as a usd file and that gives me some efficiency gain, but it still need to be translated to .ass format at rendertime.
If I bake my SOP geo to an .ass procedural, is it possible to pass that through to Arnold directly with LOPs, and avoid that usd-->.ass translation at rendertime?
Solved! Go to Solution.
Solved by pal.mezei. Go to Solution.
Not sure I understand. Why does the usd have to be converted to ass? Arnold can read usd files.
True, Arnold has to create Arnold nodes (in memory) for the USD file, but it has to do that for ASS files too.
It's not possible yet to use a LOP to load ass files (or usd files using the Arnold usd procedural)
Ah ok, I think I assumed there was more overhead to convert the usd at render time, so I was looking to use a .ass file instead. But you're saying there shouldn't be much difference between loading a usd vs a .ass procedural?
Hi!
We have an upcoming feature (https://github.com/Autodesk/arnold-usd/issues/185) that will allow you to use render-time procedurals directly in Solaris. This has the advantage of skipping a conversion step (Ass -> Arnold Universe, instead of Usd -> Hydra -> Arnold Universe), but you lose the ability to use USD native tools to edit Arnold nodes inside the procedural.
It would look like this inside Solaris:
In the USD stage you have a primitive like this:
def ArnoldProcedural "primitive1" { string arnold:filename = "/home/pal.mezei/scenes/ass/cornell.ass" uint arnold:id = 0 }
Perfect! Yes, I'm fine with losing the ability to modify the file in LOPs, so this looks great.