Autodesk / Autodesk/arnold-usd
Material Bindings on Meshes and GeomSubsets broken when applied over referenced Alembics.
- Dominant language
- Python
- Stars
- 284
- Forks
- 68
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 14
Description
**Describe the bug**
Materials bound to Meshes or GeomSubsets do not render when applied to a referenced Alembic file. They do work when using referenced or sublayered USD files.
**To Reproduce**
Steps to reproduce the behavior:
1. Reference an Alembic file.
2. Apply a material to a Mesh or GeomSubset.
3. Render with kick or sick executable.
4. Note missing materials!
**Expected behavior**
Material bindings on Meshes or GeomSubsets should work even when applied to references of Alembic files.
**Screenshots**
Here is my viewport and my expected material material bindings. First sphere has a material binding on the Xform above the Mesh. Second sphere has a material binding on the Mesh. Third sphere has material bindings to GeomSubsets.

This second render is using the sick executable while referencing the spheres from a USD file. The material bindings are applied as Over operations in the USD file.

The only difference in this third image is that the spheres are referenced from an Alembic file. You can see the issue clearly here.

**Used Software Versions**
- Arnold: htoa-6.3.7.0
- OS: Windows 11
- Any 3rd-party app: Houdini 20.5.487
** Build details from sick log **
```
Arnold 7.3.7.0 [ad578ead] windows x86_64 clang-15.0.7 oiio-2.6.3 osl-1.13.3 vdb-11.0.0 adlsdk-8.0.7.50 clmhub-3.1.1.43 rlm-14.2.5 optix-8.0.0 2025/02/10 20:15:35
```
Attached is a zip file containing the source Houdini Solaris scene as well as USD ascii files that clearly show the issue.
[broken_material_bindings_on_referenced_alembic.zip](https://github.com/user-attachments/files/19945251/broken_material_bindings_on_referenced_alembic.zip)
Contributor guide
Research direction
Start with the attached broken_material_bindings_on_referenced_alembic.zip and reproduce the scene using the kick or sick executable. Compare the referenced Alembic case with the referenced or sublayered USD case, focusing on material bindings on Meshes and GeomSubsets. Done means those bindings render correctly for the Alembic reference.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100