You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hdStorm cannot display extended dynamic range content on macOS. This is due to the Metal/GL interop code in metal.mm which uses an 8 bit texture.
Steps to Reproduce
This is difficult to reproduce as it requires a host application with a floating point OpenGL framebuffer and EDR enabled. usdview will not display EDR content because it only creates a 8 bit framebuffer. It may be possible to modify usdview to do this. The problem was discovered using Nuke, which uses a half-float framebuffer and calls code like this to enable EDR:
Assuming you have such a host application, then displaying the USD file below will show the issue. This has a material with emissiveColor set to 10, which on an EDR display should come out very bright. What happens is that you'll just get plain old red of value 1.
The cause of the issue is the code in imaging/hgiInterop/metal.mm which creates an 8 bit path for the interop. Changing these two pieces of code to use half-floats fixes it. Of course, you might only want to do this if the GL framebuffer is deeper than 8 bits.
Description of Issue
hdStorm cannot display extended dynamic range content on macOS. This is due to the Metal/GL interop code in metal.mm which uses an 8 bit texture.
Steps to Reproduce
The cause of the issue is the code in imaging/hgiInterop/metal.mm which creates an 8 bit path for the interop. Changing these two pieces of code to use half-floats fixes it. Of course, you might only want to do this if the GL framebuffer is deeper than 8 bits.
and
Note also that in order to display EDR, you may need this code (which we have in Nuke):
USD file to illustrate the issue:
System Information (OS, Hardware)
macOS, any version
Package Versions
Any USD up to and including 23.05
Build Flags
-imaging -usdview
The text was updated successfully, but these errors were encountered: