Autodesk / Aurora

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

HdAurora deployment on Linux and usdview rendering issues #19

Open lindemeier opened 1 year ago

lindemeier commented 1 year ago

Hello there, thx for publishing this awesome renderer.

Since I want to use USD and Hydra mostly on Linux I gave it a try to run HdAurora on Linux.

Several steps were necessary to build and deploy hdAurora:

  1. First of all, the deployHdAurora.py does not support linux for now. I've made (quick) adjustments here: https://github.com/lindemeier/Aurora/blob/73809a1291b107742ad7c0571606c40242083835/Scripts/deployHdAurora.py

  2. The lib in pluginInfo.json needs to be named accordingly: https://github.com/lindemeier/Aurora/blob/73809a1291b107742ad7c0571606c40242083835/Libraries/HdAurora/resources/linux/plugInfo.json

  3. Upgrade boost to 1.78 due to compilation errors.

After executing these steps I was able to run usdview in a conda environment setup with all python dependencies.

After starting usdview directly with Aurora as renderer and the USD "Kitchen_Set" as input scene, I get the following output:

image

The terminal is spammed with:

v22.11/pxr/base/vt/value.cpp : 'Attempted to get value of type 'VtArray<GfVec2f>' from empty VtValue.'
        Error in '*pxrInternal_v0_22__pxrReserved__::VtValue::_FailGet' at line 562 in file /home/zotlinde/dev/Aurora/externals/src/USD-22.08-Aurora-v22.11/pxr/base/vt/value.cpp : 'Attempted to get value of type 'VtArray<GfVec3f>' from empty VtValue.'

I tried to run it on the following operating systems:

Both showed the exact same behavior.

Further information: I tried gcc and clang-12. No difference.

lindemeier commented 1 year ago

GPU: NVIDIA GeForce RTX 3060 Ti Driver Version: 525.85.12

Vulkan SDK version:1.3.239.0

DanEnglesson commented 1 year ago

Hi,

This looks very promising indeed, we have been missing a rasterizer in hydra that can do nice raytraced shadows and reflections. This seems like a great render that fits the gap. However, I'm getting same issue as lindemeier here on Linux Mint.

Getting same issue on Linux Mint GPU: NVIDIA GeForce RTX 3060 Laptop GPU Driver version: 470.57.02

Vulkan SDK version:1.3.239.0

Cheers, Dan

lindemeier commented 1 year ago

Tried the new release v23.03.

Now I get these errors (Autodesk Telescope):

AttributeError: 'NoneType' object has no attribute 'isValid'
Warning (secondary thread): in RebuildAuroraInstances at line 201 of /home/zotlinde/dev/Aurora/Libraries/HdAurora/HdAuroraMesh.cpp -- Normal array smaller than points array: /telescope05_10_21/telescope_ref/telescope_mount_electronics_box/telescope_orientation_adj_ref/telescope_upper_mount_ref/telescope_ra_ref/telescope_dec_ref/telescope_optical_tube_ref/telescope_tube_mount/telescope_back_body/telescope_back_trimount/telescope_optic_output/telescope_diagonal/diagonal_mirror/diagonal_mirror_Shape
Coding Error (secondary thread): in _FailGet at line 562 of /home/zotlinde/dev/aurora_externals_root/src/USD-22.08-Aurora-v22.11/pxr/base/vt/value.cpp -- Attempted to get value of type 'VtArray<GfVec2f>' from empty VtValue.
Coding Error (secondary thread): in _FailGet at line 562 of /home/zotlinde/dev/aurora_externals_root/src/USD-22.08-Aurora-v22.11/pxr/base/vt/value.cpp -- Attempted to get value of type 'VtArray<GfVec2f>' from empty VtValue.
Runtime Error (secondary thread): in operator() at line 43 of /home/zotlinde/dev/Aurora/Libraries/HdAurora/HdAuroraPlugin.cpp -- /home/zotlinde/dev/Aurora/Libraries/Aurora/Source/HGI/HGIRenderer.cpp, 307: Unrecognized material type MaterialX for material HdAuroraMaterial//telescope05_10_21/Materials/mirror

Coding Error (secondary thread): in _FailGet at line 562 of /home/zotlinde/dev/aurora_externals_root/src/USD-22.08-Aurora-v22.11/pxr/base/vt/value.cpp -- Attempted to get value of type 'VtArray<GfVec2f>' from empty VtValue.
Segmentation fault (core dumped)

Simple test usd scene with a cube and some lights:

AttributeError: 'NoneType' object has no attribute 'isValid'
Unable to load numpy_formathandler accelerator from OpenGL_accelerate
Warning: in _AdapterLookup at line 284 of /home/zotlinde/dev/aurora_externals_root/src/USD-22.08-Aurora-v22.11/pxr/usdImaging/usdImaging/delegate.cpp -- Selected hydra renderer doesn't support prim type 'DiskLight'
Warning: in _AdapterLookup at line 284 of /home/zotlinde/dev/aurora_externals_root/src/USD-22.08-Aurora-v22.11/pxr/usdImaging/usdImaging/delegate.cpp -- Selected hydra renderer doesn't support prim type 'LightAPI'
Segmentation fault (core dumped)

It segfaults directly.

Compiled it with default gcc on Ubuntu 22.04. Will try it with my docker Ubuntu 20.04 setup when I have time.