Autodesk / Autodesk/arnold-usd

Arnold USD/Solaris appears to interpret USD area light falloff, luminance, and color temperature differently from other render engines

Open
#2,637 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**

Arnold USD / Solaris appears to interpret the same USD lighting setup differently from Karma CPU in Houdini Solaris, producing a noticeably different light falloff, luminance response, and perceived light color/temperature.

The issue is visible both in the original test scene and in a simplified scene containing only:

- one grey/diffuse sphere

- one grey ground plane

- one rectangular/area light

- one camera

Using the same scene, same camera setup, same OCIO/display/view transform, and same lighting setup, Arnold produces a visibly different result with broader illumination, weaker perceived falloff, lifted shadow/ground values, and a different perceived light tint. Karma CPU is the primary comparison reference because it is Houdini’s native Solaris/USD renderer. MoonRay was also tested as an additional comparison delegate and appears closer to Karma CPU than Arnold in these tests.

The difference is especially visible in:

- ground-plane illumination

- shadow density

- light falloff across the floor

- low/mid-luminance regions

- perceived light temperature/tint

Small renderer differences are expected, but Arnold appears to be the outlier here. The same simple lighting setup produces substantially brighter/flatter ground illumination and weaker perceived falloff in Arnold compared to Karma CPU and MoonRay.

**To Reproduce**

Steps to reproduce the behavior:

1. Open the attached Houdini Solaris/USD scene.

2. Use the provided camera and render settings.

3. Render or preview the scene with Karma CPU.

4. Render or preview the same scene with Arnold USD / Arnold Hydra delegate.

5. Optionally render or preview the same scene with MoonRay as an additional comparison delegate.

6. Compare the renders using the same OCIO config, display, and view transform.

7. Observe that Arnold produces a noticeably different result with weaker perceived light falloff, lifted shadows/ground values, and a different perceived light color/temperature compared to Karma CPU. MoonRay appears closer to Karma CPU in the same setup.

The issue is visible before final offline rendering when comparing the Solaris viewport/IPR results.

Additional simplified repro:

1. Create a Solaris scene with:

- one grey/diffuse sphere

- one grey ground plane

- one rectangular/area light

- one camera

2. Use the same camera, light transform, light intensity/exposure, light size, color/temperature settings, and OCIO display/view transform.

3. Render/preview the scene with Karma CPU.

4. Render/preview the same scene with Arnold USD / Arnold Hydra delegate.

5. Optionally render/preview the same scene with MoonRay.

6. Compare the ground illumination, shadow density, falloff, and perceived light color/temperature.

7. Observe that Arnold still produces a noticeably different luminance/falloff/color response compared to Karma CPU and MoonRay.

**Expected behavior**

For a simple USD scene with one diffuse sphere, one diffuse ground plane, one rectangular/area light, and one camera, Arnold USD should interpret the authored USD light setup consistently enough that the same scene does not produce a substantially different luminance, falloff, or light-temperature response unless there is an intentional renderer-specific difference or unsupported USD parameter.

Some renderer-to-renderer variation is expected, but the current difference appears large enough that the same simple lighting setup produces substantially different ground illumination, shadow density, falloff, and light tint in Arnold compared to Karma CPU.

If this behavior is expected due to unsupported USD parameters, renderer-specific light normalization, color temperature handling, or delegate-specific interpretation, it would be useful to know which parameter is responsible.

**Screenshots**

Attached screenshots show comparisons between:

1. Karma CPU — original material scene

2. MoonRay — original material scene

3. Arnold — original material scene

4. Karma CPU — simplified sphere/plane/light setup

5. MoonRay — simplified sphere/plane/light setup

6. Arnold — simplified sphere/plane/light setup

7. Arnold light/render setting screenshots showing the light/render setup

In the screenshots, Karma CPU and MoonRay appear relatively close to each other, while Arnold appears visibly flatter/brighter with lifted ground illumination, weaker perceived falloff, and different perceived light temperature/tint.

Image

Image

Image

https://github.com/user-attachments/assets/4d48f69e-aaae-4252-99e5-e0559e059fce

https://github.com/user-attachments/assets/ec39617b-7c7c-4b46-96ec-627c2c726885

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

**Used Software Versions**

- Arnold / HtoA: `6.5.1.1`

- Arnold USD / Hydra Delegate: `included with HtoA 6.5.1.1`

- Houdini: `21.0.671`

- USD: `Houdini-bundled USD version`

- Compiler: `Not applicable — using prebuilt Houdini/HtoA packages`

- OS: `macOS 26.4.1`

- Hardware: `Apple Silicon`

- Any 3rd-party app: `SideFX Houdini Solaris`

**Additional context**

I tested a simplified scene to reduce material-related variables:

- one grey/diffuse sphere

- one grey ground plane

- rectangular/area light setup

- same camera

- same OCIO config

- same display/view transform

- compared directly in Solaris viewport/IPR between Karma CPU, MoonRay, and Arnold

In this simplified setup, Arnold still appears to behave differently from Karma CPU and MoonRay. The difference is visible in:

- ground-plane illumination

- shadow density

- light falloff across the floor

- perceived color temperature/tint of the illumination

- overall lifted mid/low values

Karma CPU and MoonRay remain relatively close to each other, while Arnold appears to be the outlier. In some tests Arnold produces a warmer/brighter and more globally lifted result, while MoonRay/Karma preserve a darker, more localized lighting response.

I also tested this across different OCIO configurations and working/rendering spaces to rule out a single color-management setup causing the issue.

Tested configurations include:

- ACES 2.0 config with ACEScg rendering/working space

- AgX-based config with Linear Rec.2020 rendering/working space

- multiple OCIO configs and display/view combinations

The same Arnold behavior remains visible across these tests: lifted ground/shadow values, broader illumination, weaker perceived falloff, and a different perceived light temperature/tint compared to Karma CPU and MoonRay.

Because the issue persists across both ACEScg/ACES 2.0 and Linear Rec.2020/AgX setups, it does not appear to be caused by one specific OCIO config, rendering space, or display transform.

The issue also appears less likely to be caused only by the original cracked/glass/transmission material, because the simplified diffuse sphere/plane/light setup shows the same family of differences.

Possible areas to investigate:

- USD light translation

- area/rect light normalization

- exposure/intensity interpretation

- color temperature handling

- diffuse/indirect contribution

- viewport/IPR delegate behavior in Solaris

The screenshots include both the original scene and the simplified sphere/plane/light scene.

Color management has been checked: the renders are being viewed through the same OCIO/display/view setup. The difference does not appear to be only a display-transform mismatch.

I can provide a minimal `.hip` scene if needed.

Contributor guide

Open the contributing guide

Research direction

Start with the attached Houdini Solaris/USD scene or the proposed minimal .hip reproduction, then compare Karma CPU, Arnold USD/Hydra, and MoonRay under the listed versions and OCIO configurations. Done means identifying whether USD light translation, normalization, exposure, color temperature, indirect contribution, or viewport/IPR behavior explains the difference, or documenting the expected renderer-specific behavior.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.