Different renderers produce very different images for the same USD due to differences in how certain lights are interpreted. For example, here's Intel's Moore Lane scene rendered in Karma, Arnold and RTX:
The issue here is that each renderer has its own interpretation of the quantity to be emitted given a particular parameterization of the distant light representiong the sun. Karma appears to be emitting nits when normalize is off and "lux/pi at a patch facing the light" when normalize is on. Arnold and RTX both ignore the normalize flag, and RTX is essentially interpreting intensity as lux. RIS does something else entirely:
We need to update UsdLux to specify exactly what quantities should be emitted for each light and combination of its attributes so that lighting can be shared between applications and renderers.
- ✅ Form working group with major rendering authors and users to decide on specification
- 🚧 Enumerate all combinations of lighting attributes that affect the output and create contact sheets to show differences in implementation
- 🚧 Reach consensus on what the implementation should be
- 🚧 Draft a documentation update and/or new USD lighting Schema according to the decided specification
- 🔳 Implement spec in Storm
- 🔳 Merge to USD
- 🔳 Render happily ever after
Directory containing source renders for each scene/attribute combination, for each renderer
Nuke script used to generate the contact sheet images
Houdini project used to create USDs for testing, and to perform comparison renders in Solaris of Karma, RIS and Arnold. This project was used to generate the following USD layers:
A cylinder light of length 1, radius 0.5 and intensity 30, 2 units above a 100% diffuse reflective plane with the camera facing perpendicular to the plane.
- Karma, Arnold and RTX appear to match
A disk light of radius 0.5, and intensity 30, 2 units above and directly facing a 100% diffuse reflective plane with the camera facing perpendicular to the plane.
- Karma, Arnold and RTX appear to match
A distant light of intensity 0.5, directly facing a 100% diffuse reflective plane with the camera facing perpendicular to the plane.
- RTX and Arnold maintain brightness regardless of
angleandnormalize - RTX is
pitimes brighter than Arnold and Karma - Karma's brightness changes with
anglewhennormalize=0 - RIS uses a very different mapping of
intensityto emitted luminance
A rect light of intensity 10, 1 unit above and directly facing a 100% diffuse reflective plane with the camera facing perpendicular to the plane.
- Arnold appears to ignore
focuson a rect light - Karma and RTX appear to match
A rect light of intensity 10, 1 unit above and rotated at 45 degrees to a 100% diffuse reflective plane with the camera facing perpendicular to the plane. Used to test shaping controls.
- Arnold appears to ignore the spotlight controls on a rect light (but does respect them on a sphere light, see below).
- RTX ignores
focuswhen spotlight shaping is enabled. - RTX and Karma's mapping for
softnessis very different. - RIS seems to interpret
coneAnglemuch differently than the others.
A sphere light of radius 0.5, and intensity 30, 2 units above a 100% diffuse reflective plane with the camera facing perpendicular to the plane.
- Karma and RTX have the same normalization, Arnold is different
A sphere light of radius 0.5, and intensity 30, 2 units above and rotated at 45 degrees to a 100% diffuse reflective plane with the camera facing perpendicular to the plane. Used to test shaping controls.
- Karma appears to expect
softnessin [0, 1], while RTX uses a different mapping that can go above 1 and produces different results for the same value. Arnold's mapping appears most similar to RTX. - Arnold's result with
softness0 has a very hard edge at the boundary of the cone, while Karma and RTX have a softer edge. - RTX and Karma look like they ignore
focuswhenconeAngleis set, while Arnold does the opposite and ignores spotlight shaping whenfocus` is set to non-zero. - Karma looks like it ignores
coneAnglein the range [90, 180] on the sphere light. - RIS seems to interpret
coneAnglemuch differently than the others.
A dome light with intensity 1 and default transform using a coloured grid texture, illuminating a plastic sphere with the camera facing the sphere from 6 units along the +Z axis.
- Karma and Arnold appear to match in terms of mapping on the dome.
- For this texture, Arnold interprets
format=automaticasangular, and had to be set manually tolatlong. Spec should really define latlong to be the default as that's what most users expect. - RTX has a different mapping of the latlong texture from the others
- Note: Arnold <7.2.2.1 ignored
metallicandroughnessattributes of the UsdPreviewSurface, which was visible in previous versions of the comparison images. The test has been switched to a plastic material.
A sphere light with radius 0.5 and intensity 30.0 and with bega_84693k4.ies applied and angled towards the plane.
- Karma and RIS behave similarly
- Arnold and RTX ignore the
inputs:shaping:ies:normalizeattribute and default to always normalizing - Arnold appears to be using a different axis for the IES than the others
- RTX and Arnold have a different brightness compared to Karma and RIS when normalize is on.
Included IES files were taken from ieslibrary.com and are licensed under Creative Commons Attribution-NoDerivatives-4.0 International License https://ieslibrary.com/en/help/licenses















