Closed murraystevenson closed 1 week ago
Nice one Murray!
For OpenImageDenoise I found that I couldn't load in Cycles if Arnold is also loaded in, and it was down to Arnold's version preventing Cycles to load. A way around this was to rename the library: https://github.com/RenderKit/oidn/blob/d94147f9bf85a15940f75847685bf96f1caf006a/cmake/oidn_common.cmake#L43
Perhaps a prefix eg. "GafferOpenImageDenoise" is the way to go. I was able to get cycles to find this by patching their FindOpenImageDenoise.cmake
and it then worked as normal.
I did a build recently and saw that oslc needed libblosc
(my hunch is that OpenImageIO
rebuilt itself and found OpenVDB
while a regular clean and ordered build doesn't due to dependency ordering?) Anyways I solved it by adding this to the Cycles build:
" -D PLATFORM_BUNDLED_LIBRARY_DIRS={buildDir}/lib"
Which does a platform-independent LD_LIBRARY_PATH
type thing to the environment while building.
Closing this as the Cycles 4.2.0 update has been handled as part of #267 and we'll investigate the OIDN issues separately at a later date...
This updates Cycles to 4.2.0 with the addition of OpenImageDenoise 2.3.0. OIDN is built with OIIO support and the oidnDenoise binary is included in the manifest as it may be useful for anyone wishing to do post-process deniosing via a SystemCommand node. Zstd is also a new addition as it is now required by Cycles to compress and decompress GPU kernel .ptx and .cubin files.
The last few commits are attempts to address a couple of issues that have been preventing CI from running reliably.
@boberfly it'd be great to know if this works for you. There's one todo which will need to be addressed via a build container update, but that's just moving the creation of an environment variable to the right place...