Skip to content

Releases: dreamworksanimation/openmoonray

Release 2.34.0.1

14 Nov 19:09
6174812

Choose a tag to compare

What's New

moonray_gui now adds a path visualizer. This enables users to better understand the path of rays through the scene and their interaction with light sources and materials. It is also useful for debugging issues with material/light source appearance and sampling.

OpenMoonRay can now be built on MacOS Tahoe. MacOS Sonoma and MacOS Sequoia are still supported.

Several dependency updates and header include fixes were made to simplify building on a wider range of Linux distributions.

Features

  • Add a light path visualizer to moonray_gui
  • Improved documentation for SceneVariables' image size attributes
  • Share CPU/memory affinity info with other MoonRay processes via shared memory
  • Support per-lobe lightsets in vector and XPU modes
  • Allow selection of lights and cameras for object space transformations in map shaders
  • Make "scale" and "offset" attribute bindable on ImageMap and ImageNormalMap
  • More efficient RDTSC-based timing measurements for NUMA systems

Bug Fixes

  • Fix a mesh tessellation bug when using tiled renders with FisheyeCamera
  • Fix DwaTwoSidedMaterial bug introduced by previous lobe lightset work
  • Fix crash when maximum BSDF lobes exceeded and adds error message
  • Fix crash when loading a MeshLight which is too large, issue a warning instead
  • Fix OIIO 2.4.8 crash when outputting image cache stats if no images have been opened
  • Fix an adaptive light sampling crash
  • Fix bounce contribution on volumes not working with cutout/ray switch material
  • Fix recent memory usage spike in vector and XPU modes
  • Fix missing lightset assignment in vector mode for subsurface scattering
  • Fix tiled renders when using FisheyeCamera
  • Reduce over-bright subsurface scattering on geometry creases
  • Fix OpMap normalize op for vector mode when input normal is zero length
  • Fix wrong normal direction in scalar mode when using TransformSpaceMap
  • Fix subsurface scattering normal bug introduced by lobe lightsets feature

Build Improvements

  • Support macOS Tahoe
  • Code compatibility with VFX Reference Platform 2024 and 2025
  • Community miscellaneous build fixes
  • Fix lib/map/primvar CMakeFiles.txt to include rendering_shading
  • Several dependency updates
  • Use built-in fmod() function when compiling with ISPC 1.26 and newer

Other

  • Reduced complexity of cryptomatte logic in the integrator
  • Moved the noise library from moonshine lib/common to moonray lib/common
  • Removed unused intersection path type and change path isIndirect() -> isDirect()
  • Moonray lib/rendering/shading library reorg
  • Cleaned up some integrator code

Community Contributors:

  • James Horsley
    • tbb::atomic -> std::atomic fixes
    • tbb::mutex -> std::mutex fixes
    • Add missing std includes
    • Add CMake options to set CXX11 ABI and abi-version
    • Don't define _GLIBCXX_USE_CXX11_ABI
  • Andreas Wendleder
    • Add missing cstdint includes
    • Fix PATH env var in CMakeLists.txt
  • Alexander Fuller
    • USD compatibility fixes
  • Ryan Russell
    • Improve comment readability

Release v2.15.0.1

13 Jun 02:39

Choose a tag to compare

What's new

We've changed openmoonray's versioning scheme to align with how we version our internal repositories, which is typically a minor version bump with weekly internal releases and a major version bump when one of our productions locks off on a particular version, to ensure stability for the remainder of that production.

Features

  • New developer regression suite (RATS). Includes release of ~400 tests, and automated canonical image generation.
  • Added NUMA architecture support. Includes affinity controls for CPU / Memory to achieve better performance on NUMA architecture machines.
  • New rdla_gui program that creates a GUI from rdla objects and parameters and updates a delta .rdla file for real time control when rendering with moonray_gui
  • New per-BSDF lobe lightsets
  • Added an FOV attribute to the FisheyeCamera
  • New TwoSidedMap
  • Allow ImageMap rotation to work with UDIM images, which will rotate from their center
  • Support multiple BSSRDFs in a single material
  • Added scene_rdl2 functions and improvements to support hdMoonray
  • Added tmp directory management for signal-based checkpointing

Bug Fixes

  • Fixed bug and optimized file output logic for signal-based checkpointing
  • Fixed weight scaling of ToonBRDF in scalar
  • Fixed OCIO not being built into moonray_gui
  • Fixed SwitchNormalMap choice attribute evaluation in vector mode
  • Fixed crash with DwaColorCorrectMaterial with a DwaSwitchMaterial
  • Fixed OIIO libtiff link error
  • Fixed look difference in SSS random walk caused by choice of local reference frame
  • Fixed use_default_color for non-udim images
  • Fixed build warning of SHA1 on Rocky9.4
  • Fixed UsdGeometry acceleration motion blur
  • UsdGeometry no longer submits unassigned meshes/parts
  • Updated the sphere.usd scene to include the MaterialBindingAPI schema
  • Fixed install location of the moonrayShaderDiscovery and moonrayShaderParser plugins ito plugin/pxr
  • Allow RectLights and PortalLights to be used in the same scene

Other

  • Removed deprecated path guiding implementation
  • Added support for LPEs which capture indirect lighting on volumes
  • Moved left-handed logic into RdlMeshGeometry procedural
  • Automatically set resumable_output when resume render
  • Skip the output file permissions check if moonray is running as a backend computation

Community Contributors

  • James Horsley
    • Added missing std includes
    • Updated includes for OpenEXR v3.0+
    • Fixed includes order
    • Switch from tbb::mutex to std::mutex, lock_guard()
    • Switch the deprecated JsonCpp memberName() to name()
  • Ryan Russell
    • Ashikhmin-Shirley code readability fixups

Release v1.7.0.0

19 Dec 22:32
2adbc09

Choose a tag to compare

What's new

Features

  • Improved Rocky9 and MacOS build instructions and CMake presets for hdMoonray in Houdini
  • XPU mode now accelerates both regular rays and occlusion rays for NVIDIA GPUs
  • XPU mode now supports more than two (up to 16) motion blur steps/samples for meshes
  • Adds FOV controls to spherical camera to allow rendering onto a partial sphere
  • Improvements to rdla_filter - splits long lines
  • Adds -threads option to moonray_bake
  • Makes all parameters (except clamp values) of RemapMap bindable
  • Adds a "ramp_input_scale" parameter for diffuse to the DwaBase material
  • Adds a PortalLight
  • Supports distant lights referenced by a PortalLight
  • IntensityLightFilter can now distinguish between direct/indirect paths
  • Offset and scale are now bindable for UVTransformMap
  • Supports indirect illumination on volumes
  • Adds scene variable "slerp_xforms" which fixes scaling when camera shutter is outside motion steps range
  • Improved ray-sphere intersection precision
  • Avoids BVH rebuilds if geometry hasn't changed in update
  • Adds support for min_shadow_distance
  • Adds stochastic presence optimization
  • Adds Cryptomatte support to hdMoonRay
  • Adds reflected cryptomatte data support
  • Adds screen space radius controls for curves and points
  • Adds support for "primary aov", allow users to specify an aov as the "primary" output
  • Includes light filter luminance in the visibility aov
  • render_profile_viewer now uses OpenImageIO to display test result images
  • Added new guide for understanding shadow ray manipulation attributes
  • Shared memory framebuffer interface for sending framebuffer data between processes
  • New commandline tool: shmFbTool: test and analyze shared memory framebuffer data
  • New commandline tool: shmFbDump: example code to access shared memory framebuffer without using OpenMoonRay lib

Bug Fixes

  • Fix flickering shadows in successive rendered frames
  • Fix crash with volumes
  • Fix depth aov on SphericalCamera and FisheyeCamera
  • Fix XPU accidental double precision calculations
  • Fix XPU queues memory leak
  • Fix XPU error/fallback with USD mesh
  • Fix XPU crash after moonray_gui camera move after fallback to vector mode
  • Fix XPU crash after fallback after scene reload
  • Fix refractive Cryptomatte when used with checkpoint & resume
  • Fix vector mode aov artifacts
  • Fix for overly-tessellated geometry with fisheye camera
  • Stop indirect illumination from being blocked by lights
  • Reverses N and displacement N for left handed orientation
  • Fix crashes in debug builds
  • Fix NaNs with UsdPreviewSurface
  • Fix rdla_filter crash when trying to round non-float values
  • Fix moonray command -layer option
  • Fix bugs in RemapMap
  • Fix CLang17 warnings
  • Fix WrapDeformGeometry rigid instance mode
  • Stability increases and avoids crashes if the resolution is changed under hdMoonRay context
  • Better improved interactive frame update performance for moonray_gui
  • Fix crash regarding race condition of hdMoonRay exit timing

openmoonray-1.6.0.0

29 Jul 21:00

Choose a tag to compare

What's new

Apple silicon initial support

  • M-series macs with macOS Sonoma (macOS 14)
  • MoonRay XPU mode using Metal with UMA
  • Intel Open Image Denoise (OIDN) using Metal
  • hdMoonray Hydra render plugin
  • All command-line tools, including moonray and moonray_gui
  • Arras for multi-machine rendering

Build Improvements

  • Installing cgroups now optional
  • Fewer compiler warnings
  • Cleaned up redundant CMake files
  • Misc build cleanup/improvements

Bug Fixes

  • Fixed lib_rendering_pbr unit test resource issue
  • Fixed pixel sample map could generate 0 samples
  • Fixed mcrt_computation crash related to visibility aov
  • Fixed reloading textures did not trigger a render update (hdMoonray)
  • Fixed ImageMap missing file error if use_default_color_when_missing is true
  • Fixed resume render regression
  • Fixed improperly applied prim attr instance overrides
  • Fixed crash/overflow in memory pool code
  • Fixed uninitialized motion blur vars for primitives
  • Fixed potential render prep hang and crash
  • Fixed XPU handler depth bug
  • Fixed several bugs with fallback to vector mode from XPU mode
  • Fixed USDGeometry crashing in XPU mode when geometry is empty
  • Fixed memory pool crash when XPU queue sizes are increased
  • Fixed random sampling issue that was causing fireflies in vector mode
  • Fixed implicit 64->32 bit truncations
  • Fixed -size parameter in moonray_gui
  • Fixed crash when both sets of velocity data and acceleration data are present
  • Fixed mcrt_computation shutdown issue related to pthread-condition-wait
  • Fixed moonray command -layer option

Features

  • Improved adaptive light sampling
  • rdla_filter tool improvements
  • New usd_mipmap_images tool for handling USD scenes with non-mipped/non-tiled textures
  • Added OIDN engine to hdMoonray denoiser
  • New FisheyeCamera
  • Added inside-out projection for SphericalCamera
  • Misc performance improvements
  • Added cryptomatte_output_p0 to RenderOutput
  • Enabled multithreaded GPU access
  • Improved CPU affinity control
  • Automatically calculate max v dimension for UDIM textures
  • Added "observer direction" map type to AttributeMap
  • Improved memory stats for vector and XPU modes
  • Added tessellation memory usage stats
  • Added light sampling stats

Other

  • Added status messages for Houdini Solaris (hdMoonray)
  • Change default texture coordinate name to 'st'
  • Replaced deprecated tbb::atomic with std::atomic
  • Create sub directories for RDL2 file path if they don't exist (hdMoonray)
  • Improved SceneClass attribute documentation
  • Arras and Rndr (debug mode) support now in two separate plugins (hdMoonray)
  • Plugin settings cleanup (hdMoonray)
  • Removed multi-layer deep image output support
  • Vector math lib macro/function cleanup
  • Remove unnecessary MemPool templating
  • Removed Centos 7 build instructions
  • Added macOS build instructions

Community Contributors

  • Alexander Fuller
  • Yoshiaki Senda

Release v1.5.0.0

21 Feb 01:53

Choose a tag to compare

What's new

Build Improvements

  • Upgraded to Embree 4.2.0
  • Upgraded to Optix 7.6
  • Added lsb to the container build scripts
  • Added support for VFX Reference Platform 2023, includes implicit support for Rocky9, GCC-11 and Python-3.10

Features

  • Added initial implementation of a new adaptive light sampling scheme
  • Implemented an improved dw_acos() over acos() to the scene_rdl2 math lib
  • Added automatic CPU-affinity control to MoonRay, with own thread pool
  • Exposed the execution mode (auto, xpu, vector, scalar) in hdMoonray
  • Added a few Geo preview settings to hdMoonray
  • Add tolerance for float equals and new vector equals mode to the OpMap
  • Several improvements to DwaToonMaterial for non-photorealistic looks

Bug Fixes

  • Removed a duplicate CPU handler in XPU mode
  • Fixed XPU debug asserts
  • Fixed XPU fallback behavior to only fallback when run in auto mode
  • Fixed ShadowReceiverSets in XPU mode
  • Fixed exclusion symbol ^ in LPEs.
  • Fixed local motion blur to use the region with maximum reduction when within overlapping regions
  • Fixed VDB light filter density_grid_name attribute type
  • Fixed allocation of OIIO texturing time in the log output

Other

  • Renamed debug and info variables
  • Removed variance AOVs as part of a refactor
  • Removed Dual code as part of a refactor
  • Removed unused ray sorting code in XPU mode
  • Removed and archived the PathIntegratorOneSampler
  • Remove unused and unsupported multi-film support in the AOV system
  • Removed deprecated attributes from SceneVariables
  • Added Displacement map parameters to the documentation
  • Added stats for bundled/gpu intersection rays
  • Extended XPU queue support for regular rays
  • Combined primary and incoherent ray queues
  • Miscellaneous rdl2_print improvements and refactor
  • With vfxrefplat-2023, hdMoonray can be running in Nuke 15, initial check shows it running.

Release v1.4.0.0

03 Nov 05:32

Choose a tag to compare

What's new

Build Improvements

  • Upgraded to Embree 4.1.0
  • Upgraded to jsoncpp 1.9.5
  • Updated Centos 7 instructions to match procedure for Rocky Linux 9

Features

  • Added telemetry overlay functionality
  • Added GPU mode for denoising via OpenImageDenoise
  • XPU mode becomes the auto and default rendering modes
  • Further improvements to rdl2_print

Bug Fixes

  • Fixed frame locked noise on volumes
  • Fixed data rate for user data with identical counts
  • Fixed handling of missing materials for DwaLayerMaterial
  • Fixed extremely slow processing of large meshes with ngons
  • Fixed redundant log messages
  • Fixed ImageMap crash when updating delta file
  • Fixed compilation errors, logging issues, and threaded logging crash with new shader logging framework
  • Fixed NVidia driver version check & requirement
  • Fixed alpha channel in volume passes with presence on cutouts
  • Fixed xpu fallback behavior
  • Fixed fallback logic for refractive cryptomattes in vector mode
  • Fixed CombineLightFilter bug causing crash
  • Fixed CookieLightFilter vector, debug mode bug
  • Fixed hair and hair diffuse lobe labels
  • Fixed occasional black pixels caused by out-of-range density attribute on LightFilters
  • Fixed addition of explicit attributes for unassigned parts
  • Fixed crash in vector mode caused by ray termination lights
  • Fixed data rate on UserData based on set USD interpolation
  • Fixed delta slowdown due to inefficient log outputs
  • Fixed per part user data when only the mesh name is specified
  • Fixed expected component count for varying rate primitive attributes on RdlMeshGeometry
  • Fixed visibility aov
  • Multi-machine rendering: Fixed packTiles codec when decoding an empty image
  • Multi-machine rendering: Fixed progressiveFrame logic when decoding an empty image block
  • Fixed minicoord core assignment issue
  • render_profile_viewer: Fixed crash when refitting render prep stats
  • Miscellaneous build fixes

Other

  • Improved comments for LightSet and ShadowSet attributes
  • Improved comments for ImageMap
  • Added further scene variable documentation
  • Multi-machine rendering: Added new Morton_shiftflip tile scheduler
  • Multi-machine rendering: Added dynamic checkpoint interval adjusting logic for multi-machine configuration
  • Added robust snapshotDelta unitTest
  • Removed incomplete/unsupported multiple camera support
  • hdMoonray now allows UsdSphereLight to be a MoonRay SpotLight

Release v1.3.0.0

28 Jul 20:51

Choose a tag to compare

What's new

Build Improvements

  • Initial Rocky 9 support
  • Fixed missing #includes
  • Use avx2-i32x8 for ISPC
  • Enable building with GCC 11
  • Enable building with Qt 5.15.3
  • Allow Python executable name to be set
  • Allow alternate names for Boost::python
  • Upgraded to Embree 3.13.5
  • Upgraded to ISPC 1.20.0
  • Upgraded to CUDA 12.1
  • Upgraded to microhttpd 0.9.71

Features

  • Improvements to rdl2_print
  • Multi-machine rendering: Added debug utility functions and debugConsole commands

Bug Fixes

  • Fixed vector/scalar look difference related to energy compensation
  • Fixed inconsistencies in scalar / vector normal mapping
  • Fixed NaNs and crash caused by bad texture data
  • Fixed cryptoUV data corruption on resume from checkpoint
  • Fixed dropped cryptomatte weights on resume from checkpoint
  • Fixed incorrect resume history information related to signal-based checkpoint
  • Fixed OpenVdbMap input interface
  • Fixed frame locked noise on volumes
  • Fixed NaN in bad texture read
  • Multi-machine rendering: Fixed arras/moonray vector mode display image refresh issue

Other

  • Improved SceneVariables attribute descriptions
  • Improved LightSet and ShadowSet attribute descriptions
  • Improved several Material attribute descriptions
  • Improved signal-based checkpoint log message

Release v1.2.0.0

22 Jun 17:24

Choose a tag to compare

What's New

Build Improvements

  • Added CMake options for setting -fabi-version
  • _GLIB_CXX_USE_CXX11_ABI is no longer hard-coded
  • Fixed problems with missing uniform/varying qualifiers arising under recent ISPC versions

Features

  • Added ramp controls to BaseVolume
  • Add refP/refN/UVs to cryptomatte data
  • Add support for custom explicit shading attributes (uv, normal, dPds, and dPdt)
  • Enable/disable refracted cryptomatte channels

Bug Fixes

  • Pass alpha channel to output image for denoise command in OIDN mode
  • Fixed presence + cutouts issue in scalar mode
  • Fixed visibility AOV shadow falloff bug
  • Reverted to triangle fan tessellation for unhandled ngon cases
  • Fixed MeshLight segfault
  • Fixed bugs with instance level transforms
  • Eliminated fireflies in crypto beauty
  • Reversed DwaToonMaterial ramp colors

Other

  • Support for image synchronization feedback for multi-machine rendering
  • Many documentation updates
  • Miscellaneous updates for internal DWA builds

Community Contributions

v1.1.0.0

01 May 23:20

Choose a tag to compare

What's New

moonray

  • New extensions to MoonRay's Cryptomatte support to include options to output additional layers for each id/weight pair, including:
    • position data
    • normal data
    • beauty image
    • support for Cryptomatte data for each transmission depth as a separate layer
    • support for Cryptomatte data for each presence depth as a separate layer
  • Added support for normal-oriented curves
  • Triangulate concave ngons using the ear clipping method
  • Updated SceneClass documentation

moonshine

  • Removed ColorCorrectNukeMap
  • Updated SceneClass documentation

moonshine_usd

  • Added support for normal-oriented curves
  • Updated SceneClass documentation

scene_rdl2

  • Modified the install process so that rdla_filter script now gets copied to the install dir
  • Updated SceneClass documentation
  • Updated SceneVariable documentation

What's Changed

  • Miscelleneaous updates for internal DWA builds
  • Removed duplicate "The Bad Guys" reference in README.md #60 #63 #73
  • Updated text and fixes link in CONTRIBUTING.md and ccla.md in all repositories

moonray

  • Fixed moonray_bake per-part primitive attributes and improved performance
  • Fixed homogenous volume scale factor
  • Fixed vector mode closest aov filter
  • Fixed volume flickering on different CPUs
  • Fixed some black dots in Cryptomatte coverage
  • Fixed depth buffer with presence in vector mode
  • Fixed albedo AOV (and material AOVs in general) with presence in scalar mode

moonshine

  • Fixed projection normal maps on deforming meshes

scene_rdl2

  • Fixed enable_if UI metadata for local motion blur

Other News

  • We've released our "MoonRayWidget" model as seen in many of our documentation images. It's licensed under ASWF Digital Assets License v1.1 and can be found here

v1.0.0.0

14 Mar 22:38

Choose a tag to compare

This is the initial open source release of MoonRay.

"Release The Baby!" — Grug, The Croods