Moonray macOS: update build compatibility for Houdini 21.0.680#228
Moonray macOS: update build compatibility for Houdini 21.0.680#228rolledhand wants to merge 16 commits into
Conversation
|
Tested on production build of Houdini 21.0.671, works there as well. |
|
Thanks for the update and PR contribution! We'll take a look at it soon. In the meantime, could you please send over a CLA to moonray@dreamworks.com, so that's cleared? |
|
Hi @randypacker - just sent the CLA. Also tried to update to the latest release. I'd like to help even more and get things working, but this is as far as I'm currently capable of taking it. Hope that some of it helps at least slightly, even as an initial kick-off. As a quick summary of what works and what doesn't. It builds and renders, lights work but when it comes to the native DWA materials they still don't take any effect at all, although the mtlx standard surface seems to be working for some material traits. Dome light doesn't work when I tried to add one myself (worked on one of the "Solaris" demos), same case for motion blur from one of the demos, tweaking light parameters e.g. spread doesn't automatically update the IPR - normalize has an unpleasing effect, render settings started working with the latest release. I'm attaching my testing images. H21 seems to require libpxr_usdRiPxrImaging.dylib instead of libpxr_usdRiImaging.dylib. Docs: There have been some issues with https://github.com/log4cplus/log4cplus when I was trying to install/build, hence the change there. Additionally what I was attempting as a bit of a workaround was getting "DWA materials linked to mtlx native ones" as a bit of a workaround on the older release. Managed to get basic mtlx image working without tiling, but it goes way too deep for me at my current stage. I've got that one in another fork which was "forcing it" through Materials.cc in hydraMoonray.
|
|
Sorry for the duplicate images of cornell box and the "motion blur/noise sampler" demos. |
|
The DomeLight not working will be probably caused by the fact that since some USD version, dome lights have DomeLight_1 as a type. |
|
/dco |
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Adds remaining parent-repo build/setup compatibility changes for Houdini 21 macOS. Aligns Houdini mode preset/build config with Python 3.11 and Boost Python 3.11. Includes dependency/build reproducibility updates where staged. Includes Houdini USD/PXR compatibility mapping if staged. Does not claim native DWA material workflow is fixed. Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
aa7a352 to
9ee53f2
Compare
|
Everything signed off now @matthewlow-dwa , I've already sent some signed CLA on mail, but signed some "EasyCLA" in here as well. |
|
Thanks @rolledhand ! We are in the middle of transferring to a new CLA management system, so thanks for re-signing in EasyCLA, as we are unable to transfer prior signatures sent via email. EasyCLA will be the system to use going forward. |
|
You're welcome, hope this PR helps at least slightly, even as a kick-off version. I'm calling it a "Houdini launches with it and you can render state" with a couple of things which I mentioned earlier which aren't working. Additionally here's one more of my attempts to get mtlx working - the tiling still didn't work (besides the commit name as I had it on Karma IPR by a mistake): But it was rather in general a bit "hacky" workaround by translating the native mtlx nodes into the native Moonray ones, not a true mtlx implementation, but I managed to get a non-tiled albedo to work. Not sure if it might help you in any way. |
a640ec6 to
6ebf881
Compare
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
6ebf881 to
aefd23b
Compare
|
A quick and short summary, still in build/test mode, especially hdMoonRay is not the cleanest yet. I am trying to establish a working base first. Most of the visible Houdini/Solaris UI changes with screenshots are in So far:
Built for Houdini 20.5 / Python 3.11 so far. I plan to bump to Houdini 21 after making the H20.5 path stable first. Next steps before the H21 bump:
During this build I had some issues around the light filter / mesh light adapter path. The problematic parts were mainly So I would treat light filters and mesh lights as a later dedicated pass: |
|
Mesh Tesellation with subdivision controls exposed which include smooth normals as well and working along with the Motion Blur tab. Current issues: terminal error like this: Will be fixing that in the next push. |
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
|
still pre-long long to Float conversion fix |
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
7071662 to
b5e6f9e
Compare
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
MoonRay SpotLight checkpointI pushed a checkpoint for the MoonRay SpotLight UI/backend path. From now on all UI changes will have images in dcc_plugins PR as a way to create a system between the two. This is not the final lifecycle cleanup yet, but it is now functionally working. What changedOne important note first, Solaris has a point-light intent, while MoonRay does not appear to have a native As a temporary design choice the intent remains The key change and checkpoint highlight is that it adds a MoonRay native Enable Native MoonRay SpotLight path and tab in the Houdini light UI. The goal is to keep two paths clear:
Current functional stateValidated locally:
What's next and why is it a just a checkpoint?I'm currently trying to find a cleaner lifecycle handling. I've been thinking about Images
|
|
Also as a bit of a side node from older commits and images which I shared in the dcc_plugins PR since I have decided to go with this structure. The Domelight translation works now and exposes the native Moonray controls in the tab which was empty prior to that. Again images from the IPR:
I have to thank to @kubo-von for this part who showed me how to expose primitive_type in the Houdini UI. I'll keep trying to implement further translations from my initial plan so they're exposed natively on build and launch with occasional Solaris redesigns if I find them as a more artist friendly solution. This one didn't need any as it's the regular approach with other render engines. |
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
|
Follow-up pushed: I moved the live light class-swap cleanup into a shared |
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
|
Just notes for future task from my side. |
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>
Signed-off-by: Jakub Svoboda <132791205+rolledhand@users.noreply.github.com>








































Compatibility:
build (Houdini 21.0.680, macOS Tahoe, Xcode 26.0.1)
Issues/Tickets:
Release notes comment:
Adds macOS compatibility updates required to build OpenMoonRay against Houdini 21.0.680 using Houdini-provided USD/PXR and Python 3.11, including Boost 1.82 alignment and Houdini USD library naming compatibility updates.
Comments for the reviewer:
-DNO_USD=1to avoid local USD conflicts.libpxr_usdRiImaging.dylib->libpxr_usdRiPxrImaging.dyliblibhboost_python311-mt-a64.dylibdid not resolve all expectedpxr_boost::pythonreferences during link, whilelibpxr_python.dylibdid.cmake_modulesbranch:cmake_modulescompare:Look or scene setup change:
No intended look change; this PR is compatibility, pathing, and build integration focused.
Special notes for production:
Attention/Reviewers:
dreamworksanimation/openmoonray-maintainers
Checklist: