Autodesk / Aurora

Real-time GPU path tracing with a USD Hydra render delegate
Apache License 2.0
473 stars 30 forks source link

usdview: Failed to load plugin hdAurora #11

Open ohmaya opened 1 year ago

ohmaya commented 1 year ago

https://github.com/Autodesk/Aurora/blob/main/Doc/HdAurora.md#deploying-hdaurora

The deployment (to a USD build from official USD GitHub) seemed to be successful.

Then I launched usdview with the .usda file without specifying --renderer.

On the UI, I swithed to Aurora.

The dialog messege is in Chinese but should means: Cannot location program entry point on USD_Build\plugin\usd\hdAurora.dll.

The error in command line: Error in 'pxrInternal_v0_22pxrReserved::PlugPlugin::_Load' at line 258 in file E:\dp\Sft\3D\USD\pxr\base\plug\plugin.cpp : 'Failed to load plugin 'hdAurora': ????????? in 'e:/dp/Sft/3D/USD_Build/plugin/usd/hdAurora.dll'' Error in 'pxrInternal_v0_22pxrReserved::HdRendererPluginRegistry::CreateRenderDelegate' at line 100 in file E:\dp\Sft\3D\USD\pxr\imaging\hd\rendererPluginRegistry.cpp : 'Couldn't find plugin for id HdAuroraRendererPlugin'

oumad commented 1 year ago

I had the same issue, I fixed it by adding the bin directory of Aurora build to path env variable (not just the USD one). For reference these are the environment variables I have (I use windows, so this is my .bat script) :

set USDROOT=<path to your Aurora USD build>
set Path=%Path%;%USDROOT%\bin;%USDROOT%\lib;<path/to/Aurora/Build\bin\Release>
set PYTHONPATH=%PYTHONPATH%;%USDROOT%\lib\python

%USDROOT%/bin/usdview <path/to/AutodeskTelescope.usda> --renderer=Aurora
ohmaya commented 1 year ago
path to your Aurora USD build

So, the official USD GitHub build won't work?

oumad commented 1 year ago
path to your Aurora USD build

So, the official USD GitHub build won't work?

I haven't really tested with that. Not sure what's exactly different in the fork that's used in installExternals.py.

pixnblox commented 1 year ago

The fork has support for hardware ray tracing with Vulkan, which we hope to make available in an official USD release eventually. I believe you should be able to build with an official USD release if you are using DirectX / Windows.

pixnblox commented 1 year ago

Further clarification and desires:

The USD build that Aurora installs does not have Python support, but Python support is needed for Usdview, hence a separate USD installation is required. This is not ideal, because it means you have effectively two USD installations, at 10 GB each, if you want to run with Usdview. We also use the fork (mentioned above and in the README.md) in all situations.

So we hope to offer some options here, e.g. allow a single Python-based USD installation, and allow it to be an official release (e.g. 22.08 for now), assuming you are using the DirectX backend.

EDIT: Marking this as "enhancement" to track that request.

ohmaya commented 1 year ago

The USD build that Aurora installs does not have Python support

Is it possible to add Python support by ourselves?

ohmaya commented 1 year ago

adding the bin directory of Aurora build to path env variable

This does not work for me.

Curious how you make Aurora USD build work. As pixnblox said, "The USD build that Aurora installs does not have Python support".

I built Aurora USD manually into \USD-22.08-Aurora-v22.11_Build, setting PYTHONPATH as USD-22.08-Aurora-v22.11_Build\lib\python gives the error of "DLL load failed while importing _tf".

ohmaya commented 1 year ago

Could be missing some DLLs: Error in 'pxrInternal_v0_22pxrReserved::PlugPlugin::_Load' at line 258 in file E:\dp\Sft\3D\USD\pxr\base\plug\plugin.cpp : 'Failed to load plugin 'hdAurora': The specified module could not be found. in 'e:/dp/Sft/3D/USD_Build/plugin/usd/hdAurora.dll'' Error in 'pxrInternal_v0_22pxrReserved::HdRendererPluginRegistry::CreateRenderDelegate' at line 100 in file E:\dp\Sft\3D\USD\pxr\imaging\hd\rendererPluginRegistry.cpp : 'Couldn't find plugin for id HdAuroraRendererPlugin'

Initially, we had the same issue with Cycles hydra, but resolved by adding some paths for some DLLs, for Aurora hydra we wasn't able to figure out every needed DLLs.