Releases: Autodesk/arnold-usd
Arnold 7.0.0.0
Enhancements
Build
- ARNOLD_ prefix for definitions: Arnold-USD now uses ARNOLD_ prefix for definitions to differentiate from core definitions. (#823)
- CMake testsuite: The cmake build system is now capable of running tests via kick and usdrecord. (#124 #27)
- BOOST_ALL_NO_LIB: When building via CMake, the implicit linking of boost libraries can be disabled.
Procedural
- Procedural Path Mapping: The procedural now supports Arnold Path Mapping when loading USD files. (#818)
- Light Linking: The procedural now supports light linking. (#787)
Imaging
- UsdImaging adapters: Arnold-USD now includes a set of UsdImaging adapters for Arnold specific schemas, that allows direct use of procedurals and Arnold shapes in Hydra. (#185 #741)
- Deep rendering: The render delegate now supports rendering of deep AOVs via DelegateRenderProducts. (#650)
- Hydra scene delegate: Arnold-USD now includes an experimental scene delegate for Hydra. (#764)
- Progressive disabled when using Husk: Progressive rendering is now disabled when rendering via husk. (#755)
- Custom PrimID Hydra Buffer: The render delegate now uses a dedicated primId AOV to support selections in Hydra viewports. This improves support for render-time procedurals and leaves the built-in id parameter unchanged on shapes. (#812)
- DoubleSided in the Render Delegate: The render delegate now supports the built-in doubleSided parameter on USD primitives and correctly supports overrides via Arnold-specific primvars. (#805)
- Motion Blur using Velocity and Acceleration: The render delegate now extrapolates point positions if velocity or acceleration primvars exist and there are no multiple samples for the position. (#673)
- Fast camera updates: The render delegate now handles camera-only updates more efficiently, improving the first time to pixel. (#869)
- Standard Surface Fallback: The render delegate now uses a standard surface as a fallback, when no materials are assigned to a prim. (#861)
- String array parameters: String array primvars are now converted to built-in parameters. (#808)
- Multiple hydra sessions: The render delegate now uses the multiple render session API. (#783)
Scene Format
- Multiple frames in a single file: The USD writer is now able to append multiple frames to a single USD file. (#777)
Bugfixes
Build
- #746 Issue with dependency between the procedural build and the testsuite
- #810 Can't build schemas when there are spaces in the project folder path
- #830 HdArnoldNativeRprim::GetBuiltinPrimvarNames lacks the override modifier
- #835 Building for USD 21.08 fails because the lack of SdfTypeIndicator
- #837 Schemas fail to generate with python 3 because of dict.iteritems()
- #845 Driver using AiOutputIteratorGetNext fails to compile when using a newer Arnold build
- #851 Don't configure plugInfo.json in-source
- #849 AiArrayGetXXXFuncs are not available anymore in newer Arnold builds
- #856 Cleanup solution introduced in #845
- #874 Allow to prepend PATH folders when building schemas
- #772 Testsuite fails when using USD 21.05/21.02
- #765 Can't compile when using USD 21.05
- #775 Remove deprecated functions, warnings, and fix some bugs
- #767 Unable to compile using cmake with a Python 3 build of USD
- #792 Build error using Houdini 18.0 on OSX
Procedural
- #847 Procedural should check the camera of the proper universe for motion blur settings
- #802 B-spline curves not using radius in procedural
- #816 The procedural does not use "driver:parameters:aov:name"
Imaging
- #751 Render delegate crashes when changing material terminals interactively
- #797 Warning messages when HdArnoldRenderPass is deleted
- #858 Can't hide/unhide lights in Hydra
- #853 Missing indices for facevarying primvars in Hydra abort renders
- #821 The render delegate crashes when using render session API
- #884 Render delegate shouldn't call AiBegin/AiEnd if Arnold is already active
- #843 Disabling render purposes does not hide geometries in hydra
- #887 Int parameters are not converted to unsigned int shader parameters in the render delegate
- #761 Change render_context string to RENDER_CONTEXT for render hints
Scene Format
- #871 Enforce writing multiple frames when no default is authored
Schemas
- #798 SdfMetadata Clashing with another NdrDiscovery Plugin
Arnold 6.2.1.1
Arnold 6.2.1.0
Enhancements
Build
- Common Library: Arnold-usd now includes a set of common functions and string definitions to share across multiple modules. (#466)
Procedural
- Half and Double precision: Storing data using half or double precision is now supported. (#672)
- Velocity blur: The procedural now uses the velocity attribute to create motion keys for point-based shapes, when there are no position keys or the topology changes between frames. (#221)
- NodeGraph schemas: The procedural now supports using the NodeGraph schema for shader networks. (#678)
- Crease Sets: The procedural now supports crease sets on polymesh. (#694)
- Purpose: Usd Purpose is now supported in the procedural. (#698)
- Transform2D: The procedural now supports remapping UsdTransform2D to built-in Arnold nodes. (#517)
- Multi-Threading: The procedural now use USD's WorkDispatcher which improves the performance of multi-threaded expansion in many cases. (#690)
Render Delegate
- Half and Double precision: Storing data using half or double precision is now supported. (#669)
- Light and Shadow linking: The render delegate now supports light and shadow linking. (#412)
- Motion blur for the Point Instancer: The render delegate now calculates motion blur when using the point instancer. (#653)
- Pause and Resume: Pausing and resuming renders are now supported in the render delegate. (#595)
Scene Format
- Write with default values: The scene format now supports optionally writing parameters with default values. (#720)
Schemas
- Removal of the ArnoldUSD DSO: The Schemas now work without generating a C++ library. This simplifies the build process and removes the need of installing DSOs that are not used. (#705)
Bugfixes
- #715 Initialization order issue with constant strings common source file
Build
- #656 Arnold-USD fails to build with USD 21.02
- #663 render_delegate/lights.cpp fails to compile for pre-21.02 on windows
- #692 The render delegate fails to build on Windows due to template parameter names
- #707 Schema generator scons should use USD_BIN instead of USD_LOCATION + bin to find usdGenSchema
- #722 Failing to generate schemas when targeting Houdini on macOS
- #730 Translator fails to build when targeting USD 20.08
Procedural
- #674 Testsuite fails after standard_surface default changes in 6.2.0.0
- #564 Changing topology only works when rendering the first frame of the USD file
- #681 Read render settings at the proper frame
- #683 Don't apply skinning if the usdStage comes from the cache
- #508 Nested procedurals ignore matrix in the viewport API
- #687 Crash with empty primvar arrays
- #679 Attribute subdiv_type should have priority over USD subdivisionScheme
- #282 Primvars are not inherited from ancestor primitives
- #215 Issue with instanced primitives' visibility
- #244 Curves with vertex interpolation on width
- #732 Support wrap, bias, and scale in USdUvTexture
- #724 ID not passed to the shapes generated in the procedural
Render Delegate
- #651 Error rendering USD file with samples in productName
- #660 Crease sets and subdivision scheme is not imported correctly
- #727 Arnold does not use wrapS and wrapT values on UsdUVTexture shader node when rendering UsdPreviewSurface
- #759 Primvars are not correctly set on the instancer if there is more than one prototype
Scene Format
Arnold 6.2.0.1
Arnold 6.2.0.0
Enhancements
Build
- USD Procedural Name: It is now possible to overwrite the USD procedurals name, which allows deploying a custom USD procedural alongside the core shipped one. (#600)
Procedural
- Cache Id: The procedural now supports reading stages from the shared stage cache via the cache id parameter. (#599)
- Per ray-visibility: The USD procedural now supports per-ray visibilities exported from Houdini. (#637)
Render Delegate
- Hydra Cameras: The render delegate now supports physical camera parameters, including depth of field and Arnold specific camera parameters. (#31 #591 #611)
- Search Paths: The render delegate now exposes search paths for plugins, procedurals, textures, and OSL includes. (#602)
- Autobump Visibility: The render delegate now supports setting autobump_visibility via primvars. (#597)
Scene Format
- Authoring extent: Extents on UsdGeom shapes are now correctly authored when using the USD scene format. (#582)
Schemas
- Prefix for Schema Attributes: Arnold schemas now prefix their attributes for better compatibility with built-in USD schemas. (#583)
- Inheriting from UsdGeomXformable: Arnold schemas now inherit from UsdGeomXformable instead of UsdTyped. (#558)
- Creating XForms: The USD scene format now correctly creates UsdGeomXform parents for shapes instead of UsdTyped. (#629)
Bugfixes
Build
- #624 CMake fails building schemas for a beta Arnold build.
- #641 The render delegate fails to build using gcc 4.8.5 .
Procedural
- #621 UVs not read from facevarying primvar if indexes are not present.
- #643 Don't error out when a procedural object_path points at an inactive primitive.
Render Delegate
- #592 Invalid face-varying primvars crash the render delegate.
- #481 std::string, TfToken, and SdfAssetPath typed VtArrays are not converted when setting primvars.
- #619 Several built-in render buffer types are not translated to the right Arnold AOV type.
- #634 Fixing disappearing meshes when playing back animation.
- #638 Motion start and motion end is not set reading animated transformation.
- #605 Issues with UVs when rendering the kitchen scene.
Scene Format
- #596 Invalid USD is produced if polymesh is made of triangles and nsides is empty.
Arnold 6.1.0.0
Enhancements
Build
- Installing license: The license is now copied to the installation folder when using scons. (#540)
Procedural
- Light Shaping: The procedural now supports the UsdLuxShapingAPI, allowing the use of spot and IES lights. (#344)
Render Delegate
- UsdTransform2d: The render delegate now supports the
UsdTransform2d
preview shader. (#516) - Per face material assignments: Per-face material assignments are now supported. (#29)
- Render Stats: The Render Delegate now returns render stats via
GetRenderStats
. For now, this is used to show render progress in Solaris. (#537)
Schemas
- Schema for custom procedurals: The schemas now include ArnoldCustomProcedural for describing custom procedurals. (#487)
- Schema updates: Schemas now support cameras, render settings, and new output types. (#500)
Scene Format
- Parent Scope: There is a new flag to specify a custom root for all exported prims. (#292)
- ST for Texture Coordinates: Texture coordinates are now written as
primvars:st
to match the USD convention. (#542)
Bugfixes
Build
- #528 Render delegate fails to build when building for Katana.
- #553 Compilation failures because of License.md.
- #567 HdArnoldMaterial fails to compile for the latest USD dev branch.
- #560 plugInfo.json for schemas is broken with newer USD builds.
Procedural
- #513 Viewport representation in points mode doesn't have the correct matrix.
- #543 Visibility is not checked on the current frame.
- #556 motion_start and motion_end is only set if the matrix of the prim is animated.
- #565 Animated transforms not translated properly if set on parent xforms.
- #570 USD procedural is not picking up osl shader parameters.
Render Delegate
Arnold 6.0.4.1
Arnold 6.0.4.0
Enhancements
Build
- 20.08 Support: Building for USD 20.08 is supported.
Procedural
- UsdRender schema: UsdRenderSetting, UsdRenderProduct and UsdRenderVar are now supported in the procedural. (#453)
Render Delegate
- Improved Solaris Primvar support: Primvars with arrays of a single element are converted to non-array user data in Arnold. This improves primvar support in Houdini Solaris. (#456)
- Basis Curves: The Render Delegate now supports rendering of Basis Curves. Overriding the basis parameter via primvars and periodic/pinned wrapping are not supported. (#19)
- Per instance primvars: Instancer primvars are now supported, with the exception of nested instancer primvars. (#478)
- Overriding the default filter: HDARNOLD_default_filter and HDARNOLD_default_filter_attributes can now be used to overwrite the default filter. (#475)
Bugfixes
Procedural
- #463 Texture coordinates of texcoord2f type are not read correctly
Render Delegate
- #475 The closest filter is used for AOVs without filtering information
Arnold 6.0.3.1
Build
-
Testing the Scene Format: The testsuite now includes tests for the Scene format plugin. (#157)
-
Hiding symbols: Weak symbols are now hidden in the Procedural on Linux and MacOS. (#409)
-
Lambert for the Tests: The testsuite is now using the lambert as the default shader. (#416)
-
Overwriting the C++ standard: The C++ standard can now be overwritten for builds on Linux and MacOS. (#446)
-
Google Test: Google Test can now be used to write tests. (#311)
-
Fixed an issue with the "resave" test parameter. (#402)
-
Fixed an issue with test 62 and 68. (#414)
Procedural
-
UsdGeomCamera: The UsdGeomCamera schema is now supported in the procedural. (#345)
-
UsdSkel: The UsdSkel schema is now supported in the procedural. (#329)
-
Image uvset: The built-in uvset is used now when a UsdPrimvarReader for st/uv is connected to UsdUvTexture. (#428)
-
Textured Mesh Lights: Textured mesh lights are now supported. (#366)
-
Fixed an issue when using multiple Procedurals. (#400)
-
Fixed issues with Nested Procedurals when using the Procedural Viewport API. (#408 #435)
-
Fixed a crash with empty node names. (#380)
-
Fixed an issue with reading namespaced primvars. (#382)
-
Fixed an issue when reading Light color and intensity parameters. (#364)
-
Fixed several issues when reading primvars. (#333)
-
Fixed an issue when reading RGB arrays. (#325)
Render Delegate
-
Filters for AOVs: Filtering parameters are now read from the aovSettings map for RenderVars. (#319 #426 #437)
-
LPE RenderVars: LPE RenderVars are now supported. (#317)
-
Primvar RenderVars: Primvar RenderVars are now supported. (#318)
-
SourceName for RenderVars: The sourceName aovSetting is now supported. This allows renaming Arnold AOVs and writing a single AOV to multiple Render Buffers with different filters. (#425)
-
Fixed an issue that prevented using the GPU on Windows. (#398)
-
Fixed a crash when running the Render Delegate in Solaris on Windows. (#394)
-
Fixed a bug related to marking ignored Render Buffers as converged. (#431)
-
Fixed an issue related to using incorrect LPEs. (#430)
-
Fixed a crash when deleting an active RenderVar in Solaris. (#439)
-
Fixed an issue when the USD Preview Surface is used as a Displacement shader. (#448)
-
Fixed an issue with how the dataType parameter is interpreted. (#450)
Scene Format / Writer
-
Roundtripping Node Names: Node names are now preserved when roundtripping scenes from Arnold to USD to Arnold. (#396)
-
Per-channel connections: Per-channel connections are now written using adapter nodes. (#351)
-
Motion Keys: Motion keys are now written to the USD file. (#334)
-
Motion Blur: Motion blur is now supported. (#346)
-
Fixed an issue when writing Toon light lists. (#374)
-
Fixed an issue when writing linked ramp parameters. (#375)
-
Fixed an issue when writing AI_TYPE_NODE user data. (#371)
-
Fixed an issue when writing motion ranges. (#368)
-
Fixed an issue when writing ginstance parameters. (#362)
-
Fixed a crash when writing empty arrays. (#360)
-
Fixed an issue when the number of motion keys for normals did not match the number of motion keys for positions. (#356)
-
Fixed an issue when writing custom Matrix parameters. (#354)
-
Fixed an issue when writing polymesh.subdiv_iterations.(#349)
-
Fixed an issue when writing curves.num_points. (#324)
-
Removed warnings when writing the displayColor primvar. (#312)
Arnold 6.0.3.0
Build
-
USD requirement: USD 19.05 is now the earliest supported version.
-
USD 20.02: USD 20.02 is now supported. (#260)
-
Fixed build issues on Linux and MacOS. (#303)
-
Fixed build issues when using USD 0.19.05.
Procedural
-
Using the new instancer procedural: The procedural now uses the core shipped instancer procedural. (#256)
-
Prim Visibility: The visibility token from UsdGeomImageable is now correctly inherited. (#218)
-
Fixed a crash when using the Arnold Viewport functions. (#295)
-
Fixed a crash when writing USD files with upper-case extensions. (#288)
Render Delegate
-
Computed Primvars: Computed primvars are now supported, enabling previewing UsdSkel and Houdini crowds. (#265 and #267)
-
Improved Rendering: The Render Delegate is now using the Arnold Render API correctly, leading to better responsiveness. (#270)
-
Improved Render Buffers: The Hydra Render Buffer support is now significantly improved, including improved performance. (#8)
-
32-bit buffers: The render delegate now outputs 32-bit float buffers, instead of dithered 8 bit whenever possible. (#9)
-
arnold:global: prefix: Prefixing Render Settings with
arnold:global:
is now supported. -
Shaping Parameters: Shaping parameters on Sphere Lights are now supported. This includes Spot and IES parameters, excluding IES normalize and IES angle scale. (#314)
-
Barndoor Parameters: Solaris' Barndoor parameters are now roughly approximated using the barndoor filter. Note, Arnold does NOT match Karma. (#332)
-
Fixed a crash when instancer nodes had uninitialized node pointers. (#298)
-
Fixed a bug with aborted renders not marking the render pass as converged. (#4)
-
Fixed a bug where the camera jumped to the origin in Solaris. (#385)
Scene Format/Writer
-
Mask: The scene format plugin now supports a mask parameter, allowing selective export of Arnold nodes. (#274)
-
Closures: Closure attributes are now written to the USD file. (#322)
-
Options: The options node is now correctly translated. (#320)
-
Fixed bugs with the string export functions. (#320)
-
Fixed a crash when writing pointer attributes. (#342)