Closed musicinmybrain closed 2 years ago
Filed as internal issue #USD-6831
We at Imageworks anticipate a need for this in the coming months, and news on an ETA for support for OpenExr 3?
Hi @lkerley and @musicinmybrain ! In fact USD does not have any direct dependence on OpenExr - even half.h . For precisely this reason, we inlined our own version of half.h, and update it periodically.
USD's only exposure to OpenExr is indirect, through Alembic (usdAbc) and OpenImageIO (hio). Therefore, using OpenExr3 with USD should boil down to ensuring USD can be built with OIIO 2.2.x or higher, and Alembic 1.8.x .
USD officially supports neither of those versions, so there might be some work to do, and we'd be happy to consider a PR that adds support while retaining compatibility with the currently supported versions, as it may be awhile before Pixar is able to move forward.
Thanks!
Hi @lkerley and @musicinmybrain ! In fact USD does not have any direct dependence on OpenExr - even half.h . For precisely this reason, we inlined our own version of half.h, and update it periodically.
USD's only exposure to OpenExr is indirect, through Alembic (usdAbc) and OpenImageIO (hio). Therefore, using OpenExr3 with USD should boil down to ensuring USD can be built with OIIO 2.2.x or higher, and Alembic 1.8.x .
USD officially supports neither of those versions, so there might be some work to do, and we'd be happy to consider a PR that adds support while retaining compatibility with the currently supported versions, as it may be awhile before Pixar is able to move forward.
Thanks!
Thanks! I agree with your assessment. The compatibility issue is in the CMake scripts rather than in the program source code.
In Fedora Linux we ended up carrying a patch that lightly hacks up the CMake files, and as a result we are able to build USD with OpenEXR 3.1.3, OpenImageIO 2.2.19 (or 2.3.10), and Alembic 1.8.3. Unfortunately, this patch is a blunt instrument that doesn’t attempt backwards compatibility.
I probably won’t attempt a backwards-compatible, upstreamable patch, but I’ll certainly help test it if someone else does offer one.
The ASWF Docker Images for 2022 already contain USD-21.11 and OpenEXR-3, see details here: https://hub.docker.com/r/aswf/ci-vfxall.
Description of Issue
USD needs some changes to support OpenEXR 3.x. Significantly, Imath, which provides
half.h
, is now a separate library.Steps to Reproduce
System Information (OS, Hardware)
N/A
Package Versions
(any)
Build Flags
N/A
I am trying to patch this downstream in Fedora Linux, but it is almost certain that the result will not be clean or general enough to offer upstream.