BlenderUSDHydraAddon
BlenderUSDHydraAddon copied to clipboard
BLEN-169: Update plugin with latest USD.
PURPOSE
Update plugin with latest USD Update Open GL delegate to the latest one Update MaterialX to 1.38.4
EFFECT OF CHANGE
Updated to support USD 22.08
TECHNICAL STEPS
USD 22.08
- Updated deps to USD 22.08.
- Removed old version patch USD_MaterialX.patch and fixed build script.
- Updated USD_deps.patch
- Updated create_libs.py changed IlmImf-2_3 -> IlmImf-2_5.
UsdImagineLite
- Various changes related to camera projection and transformation.
MaterialX 1.38.4
- Fixed generate_mx_classes.py, added IGNORE_NODEF variable if inheritance is present.
- Fixed generate_mx_classes.py, Replaced getInput(s) -> getActiveInput(s) and getOutput(s) -> getActiveOutput(s) to get own and inherited items.
- Fixed generate_mx_classes.py, missing dlls.
- Added gltf_pbr.mtlx.
Addon
- Fixed api changes for primvar, now it uses PrimvarsAPI.
- Changed arguments for SetCameraState according to UsdImagineLite updates for final and preview renders.
- Replaced getInput(s) -> getActiveInput(s) and getOutput(s) -> getActiveOutput(s) to get own and inherited items
- Adjusted Projection type camera removing multiplier 10 from CreateHorizontalApertureOffsetAttr, CreateVerticalApertureOffsetAttr and ortho_size.
- Added PXR_MTLX_STDLIB_SEARCH_PATHS env variable for MaterialX libraries.
- Added temporary fix to prevent HybridPro crash.
- Replace standard_surface.mtlx 1.38.4 with 1.38.0 to prevent HybridPro crash
- Need to be removed after HybridPro will support MaterialX 1.38.4 or this fix https://amdrender.atlassian.net/browse/RPRHYB-657 being implemented
NOTES FOR REVIEWERS
GL delegate currently works only via viewport render, final render provides GL errors.
ERROR (gpu.debug): : GL_INVALID_OPERATION error generated. Array object is not active.
ERROR (gpu.debug): : GL_INVALID_OPERATION error generated. Invalid VAO/VBO/pointer usage.
ERROR (gpu.debug): : GL_INVALID_ENUM error generated. Cannot enable <cap> in the current profile.
ERROR (gpu.debug): : GL_INVALID_OPERATION error generated. Invalid VAO bound.
D:\vasyl\AMD\BlenderUSDHydraAddon\deps\USD\pxr\imaging\hgiGL\diagnostic.cpp : 'GL error: invalid operation, reported from auto __cdecl pxrInternal_v0_22__pxrReserved__::HgiGLOps::Draw::<lambda_9c34ad072f5ed995c3d5a1ae9d457a38>::operator ()(void) const'
Error in 'pxrInternal_v0_22__pxrReserved__::HgiGLPostPendingGLErrors' at line 91 in file D:\vasyl\AMD\BlenderUSDHydraAddon\deps\USD\pxr\imaging\hgiGL\diagnostic.cpp : 'GL error: invalid enum, reported from __cdecl pxrInternal_v0_22__pxrReserved__::HgiGL_ScopedStateHolder::~HgiGL_ScopedStateHolder(void)'
Error in 'pxrInternal_v0_22__pxrReserved__::HgiGLPostPendingGLErrors' at line 91 in file D:\vasyl\AMD\BlenderUSDHydraAddon\deps\USD\pxr\imaging\hgiGL\diagnostic.cpp : 'GL error: invalid operation, reported from __cdecl pxrInternal_v0_22__pxrReserved__::HgiGL_ScopedStateHolder::~HgiGL_ScopedStateHolder(void)'
Error in 'pxrInternal_v0_22__pxrReserved__::HgiInteropOpenGL::CompositeToInterop' at line 310 in file D:\vasyl\AMD\BlenderUSDHydraAddon\deps\USD\pxr\imaging\hgiInterop\opengl.cpp : 'Failed verification: ' glGetError() == GL_NO_ERROR ''
CIS:REBUILD_DEPS
Currently, Interactive render mode works if no materials are attached to the mesh otherwise blender crash. Status: Verifying this together with HybridPro team.
Verifying HybridPro crash, found improper work from the engine side while using an internal and external MaterialX library. https://amdrender.atlassian.net/browse/RPRHYB-657
Not actual now