arnold-usd icon indicating copy to clipboard operation
arnold-usd copied to clipboard

Add support for using a USD build with Python 3

Open sirpalee opened this issue 4 years ago • 5 comments

Describe the feature you'd like Add support for using a USD with Python 3. At the moment all the build scripts, both scons, and cmake are looking for python 2.7 modules.

Additional context I'm not planning to update scons, as we are on the track of moving over to cmake.

sirpalee avatar Aug 19 '20 12:08 sirpalee

@furby-tm what components are you planning to use? It's already possible to override the python library's name when linking, so you could still build most of the components with python 2, but link against python 3.

sirpalee avatar Dec 04 '20 05:12 sirpalee

Alright, I got it to build, essentially what I did was build against the python2 version of USD, which Arnold created it's schema for successfully. Then I wiped out the build and ensured the schema files were still accessible by modifying the schema generation out of the build (as they were created in the previous step), and then I compiled everything against the proper python 3.8 version of USD, about to test the delegate now -- HdArnold is pretty fantastic in Houdini's solaris, is this the same version as that? All the same features and such?

I'll let you know how it goes, if I notice any regressions or limitations, and I'll provide my thoughts on the delegate as a whole. I have implemented my own Hydra Viewport which currently works for Embree, Renderman, and Storm - complete with interactive hotkeys on the free-camera (the camera which is interfaced with the engine, as opposed to a scene camera currently) - with minimum support for panning, zooming, rotations, translations. So I'll be able to get a good grasp on overall interactivity on the delegate as a whole, and then I'll be able to submit some scene graph updates and see how well Arnold takes it.

furby-tm avatar Dec 04 '20 11:12 furby-tm

The delegate is great, interactive, and easy to use on Linux -- however it crashes on windows upon loading of the plugin. Any ideas?

furby-tm avatar Dec 12 '20 11:12 furby-tm

Hey!

Both HtoA and KtoA includes a build of this repository, so it is exactly the same code. About the schema builds, you can disable building the schemas by passing BUILD_SCHEMAS to abuild. The procedural, render delegate and the ndr plugin should work without them.

About the crash on windows, is there a way we can reproduce it on our side? Could you please create a separate ticket for it?

sirpalee avatar Dec 12 '20 23:12 sirpalee

I have created a new ticket for this issue #622. Perhaps the delegate works from the hdx api on windows, but not the UsdImagingGLEngine api on windows?

Note, I have not yet tested hdx, but presumably if Katana and Houdini use hdx, the point of failure may rely in UsdImagingGLEngine's usage with Arnold.

furby-tm avatar Dec 13 '20 15:12 furby-tm

Issue synced internally to ARNOLD-13255

Is this issue still relevant?

This looks similar to this https://github.com/Autodesk/arnold-usd/issues/767 which is resolved with https://github.com/Autodesk/arnold-usd/pull/781 about three years ago.

A lot of applications using Arnold-USD are also already Py3 so I assume the current state is perfectly ready for Python 3. If so, we can close this issue.

BigRoy avatar Jan 31 '24 09:01 BigRoy

Thanks @BigRoy . Closing as we now build with python 3.

cpichard avatar Feb 16 '24 11:02 cpichard