Autodesk / Autodesk/arnold-usd

Material Bindings on Meshes and GeomSubsets broken when applied over referenced Alembics.

Open
#2,293 2 comments 0 reactions 0 assignees View on GitHub
bug
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.

![Image](https://github.com/user-attachments/assets/5cdb917e-5c47-4015-bc09-a28b1a7903a8)

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.

![Image](https://github.com/user-attachments/assets/b9f0d53b-5e7c-4cb2-bc1f-b17cb2cf42be)

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

![Image](https://github.com/user-attachments/assets/3e064f50-b695-4ba7-beff-94c0e4d85fb5)

**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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.