- usd#1480 - Allow to specify a testsuite output folder
- usd#1463 - Fix Windows builds with CMake
- usd#1471 - Support relative paths for Arnold and USD Sdk
- usd#1466 - Allow to run the testsuite without any build of the procedural
- usd#1485 - MaterialX shader nodes should have "auto" colorspace by default
- usd#1459 - Support Shaders with multiple outputs
- usd#1359 - Refresh the arnold instancer when the prototype mesh points have changed.
- usd#1483 - Indexed normals with vertex interpolation are now converted properly.
- usd#1462 - Ensure shader scope doesn't appear twice in the hierarchy.
- usd#1477 - Fix the motion blur with interframe geometry samples in the render delegate
- usd#1477 - A a note in the README for the flickering issue with instances which can be fixed with the
USD_ASSIGN_PROTOTYPES_DETERMINISTICALLY
environment variable. - usd#1426 - Skinned transforms are now correctly used on the skinned meshes.
- #923 Testsuite fails with Arnold 7
- #1487 Update Scons to build on windows with MSVC 14.3
- #458 Point instancer should prune the primitives under its hierarchy
- #904 No way to have Point Instancer prototypes hidden
- #921 Remap curves primvars to avoid "wrong data count" errors
- #928 Transform from the Point Instancer is not applied to instances
- #902 Render session is not passed to AiDeviceAutoSelect
- #900 Avoid calling AiRenderBegin if render is already running
- #905 Integer primvar Render Vars fail to render via husk
- #906 Version is not set as default when returning SDR definitions
- #915 Volume shader is not applied to the ArnoldVolume primitive in Hydra
- #918 Rendervars do not show up in Houdini 19
- #924 Writer now saves the default color manager node
- 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 Path Mapping: The procedural now supports Arnold Path Mapping when loading USD files. (#818)
- Light Linking: The procedural now supports light linking. (#787)
- 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)
- Multiple frames in a single file: The USD writer is now able to append multiple frames to a single USD file. (#777)
- #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
- #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"
- #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
- #871 Enforce writing multiple frames when no default is authored
- #798 SdfMetadata Clashing with another NdrDiscovery Plugin
- #778 Procedural doesn't read some animated parameters properly
- #768 Custom typed primitives are not written if they already exist
- #795 GfMatrix4d attributes are not converted to AI_TYPE_MATRIX parameters
- #790 Reset the disp_map parameter instead of setting nullptr when there is no displacement
- Common Library: Arnold-usd now includes a set of common functions and string definitions to share across multiple modules. (#466)
- 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 uses USD's WorkDispatcher which improves the performance of multi-threaded expansion in many cases. (#690)
- 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)
- Write with default values: The scene format now supports optionally writing parameters with default values. (#720)
- 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)
- #715 Initialization order issue with constant strings common source file
- #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
- #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
- #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
- #615 USD Writer crashes when node name contains hyphen character
- #718 Inactive render vars are still rendered when using the scene format
- #654 Transform is not synced for the points primitive
- 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)
- 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)
- 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)
- Authoring extent: Extents on UsdGeom shapes are now correctly authored when using the USD scene format. (#582)
- 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)
- #624 CMake fails building schemas for a beta Arnold build.
- #641 The render delegate fails to build using gcc 4.8.5 .
- #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.
- #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.
- #596 Invalid USD is produced if polymesh is made of triangles and nsides is empty.
- Installing license: The license is now copied to the installation folder when using scons. (#540)
- Light Shaping: The procedural now supports the UsdLuxShapingAPI, allowing the use of spot and IES lights. (#344)
- 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)
- 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)
- 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)
- #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.
- #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.
- #569 Render delegate not picking up OSL shader parameters.
- #577 Point light should have zero radius.
- #580 The Render Delegate's depth range is incorrect if USD is at least version 20.02.
- #570 Incorrect display of curve widths in Solaris when changing curve basis.
- Custom Build Directory:
BUILD_DIR
can now be used to overwrite the build directory for scons builds. (#490) - New Scons Version: The build is now using Scons-3.1.2. (#549)
- #533 Add BOOST_ALL_NO_LIB when building on windows.
- #501 The render delegate fails to build on gcc-4.8.5/Linux.
- #498 Can't build for Katana on Windows.
- #513 Viewport representation in points mode doesn't have the correct matrix.
- #488 Render Settings are not passed to the Render Delegate when using Husk.
- #518 HdArnold does not correctly handle texture coordinates when the primvar is not name
st
andvarname
inPrimvarReader_float2
is of typestring
. - #530 Cylinder light not matching the viewport preview.
- 20.08 Support: Building for USD 20.08 is supported.
- UsdRender schema: UsdRenderSetting, UsdRenderProduct and UsdRenderVar are now supported in the procedural. (#453)
- 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)
- #463 Texture coordinates of texcoord2f type are not read correctly
- #475 The closest filter is used for AOVs without filtering information
-
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)
-
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)
-
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)
-
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)
-
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.
-
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)
-
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)
-
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)
- Clang 9: We now support building using Clang 9. (#252)
- Primvar translation: The procedural now uses "primvars:st" and "primvars:uv" for UV coordinates, and "normals" for "nlist" on polymeshes. (#206)
- Per-vertex UV and Normals: Per-vertex UVs and normals are now supported on polymeshes. (#222)
- Shader output connections: Support for shader output connections has been improved, including per-component connections. (#211)
- Point varying primvars: Varying primvars are now supported on point schemas. (#228)
- USDVol support: The procedural now supports USD Volumes schemas. Using grids from two different files for a single volume is not allowed. (#227)
- Serialized USD: The procedural supports creating the stage from a set of strings without requiring a file. (#235)
- Basis Curves: The procedural now supports Basis Curves. (#239)
- Boolean parameters: The procedural now supports setting boolean parameters on Arnold nodes using bool, int or long USD attributes. (#238)
- Converting between Width and Radius: Width attributes are now properly converted to Arnold's radius parameters. (#247)
- RTLD_LOCAL: RTLD_LOCAL is used instead of RTLD_GLOBAL when dlopening in the procedural. (#259)
- Left Handed Topology: Left-handed topologies are now supported, including converting the varying primvars and indices for position, normal and uv attributes. (#207)
- Motion Key mismatch: Normal and position motion keys counts are the same now. (#229)
- RGBA Primvars: RGBA primvars are now supported. (#236)
- Hydra Point Instancer: Support of the Point Instancer has been greatly improved, including instancing of volumes. (#18 and #123)
- Uniform Primvars: Uniform primvars on points are now supported.
- Pixel format conversion: The render buffers now converts between pixel formats correctly. (#245)
- Light Dirtying: Transforms are now correctly preserved when parameters are dirtied, but transforms are unchanged on lights. (#243)
- Linux Build: Building schemas using Arnold 6.0.2.0 is now supported on Linux. (#219)
- Node names for attributes: Node names are now correctly formatted and sanitized when writing node and node array attributes. (#208)