From 3bcae24e7d62b732b9cb2ac47cdcaab41bf9ca7f Mon Sep 17 00:00:00 2001 From: pixar-oss Date: Fri, 16 Feb 2024 09:02:37 -0800 Subject: [PATCH] Updates for 24.03 release notes (Internal change: 2316703) --- CHANGELOG.md | 637 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 637 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e88843e1..72c03c0b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,637 @@ # Change Log +## [24.03] - 2024-02-23 + +### Build + +- Added support for Python 3.11. + (PR: [#2742](https://github.com/PixarAnimationStudios/OpenUSD/pull/2742)) + +- Various fixes and changes to build_usd.py: + - Updated OpenSubdiv version to 3.6.0. + - --ignore-paths and --ignore-homebrew options added to command line to help + solve problems where CMake picks up unwanted sources for dependencies. + (PR: [#2873](https://github.com/PixarAnimationStudios/OpenUSD/pull/2873)) + +- Builds on macOS now avoid hard-coding specific SDK versions for system library + dependencies. + (Issue: [#2771](https://github.com/PixarAnimationStudios/OpenUSD/issues/2771), + PR: [#2772](https://github.com/PixarAnimationStudios/OpenUSD/pull/2772)) + +- Updated CMakeLists for usdImaging tools (usdrecord and usdBakeMtlx) to skip + building if GPU and/or OpenGL are unavailable. + (PR: [#2468](https://github.com/PixarAnimationStudios/OpenUSD/pull/2468)) + +- CMake fixes to find OpenImageIO and OpenEXR when building for debug. + (PR: [#2079](https://github.com/PixarAnimationStudios/OpenUSD/pull/2079)) + +- Made build of extras/imaging/examples conditional on PXR_BUILD_EXAMPLES. + (PR: [#2630](https://github.com/PixarAnimationStudios/OpenUSD/pull/2630)) + +- Improved error message when uic is not found during the build. + (Issue: [#2582](https://github.com/PixarAnimationStudios/OpenUSD/issues/2582)) + +### USD + +- Added support for Unicode identifiers. UTF-8 encoded characters may now be + used in prim, property, and variant names, and dictionary keys. Support for + serializing these identifiers has been added to the .usda and .usdc (crate) + file formats. Note that files containing UTF-8 identifiers are not + backwards-compatible with older versions of OpenUSD. See the + [proposals](https://github.com/PixarAnimationStudios/OpenUSD-proposals/tree/main/proposals/tf_utf8_identifiers) + page for more details. + (PR: [#2378](https://github.com/PixarAnimationStudios/OpenUSD/pull/2378), + [#2673](https://github.com/PixarAnimationStudios/OpenUSD/pull/2673), + [#2751](https://github.com/PixarAnimationStudios/OpenUSD/pull/2751), + [#2788](https://github.com/PixarAnimationStudios/OpenUSD/pull/2788), + [#2830](https://github.com/PixarAnimationStudios/OpenUSD/pull/2830), + [#2848](https://github.com/PixarAnimationStudios/OpenUSD/pull/2848), + [#2855](https://github.com/PixarAnimationStudios/OpenUSD/pull/2855), + [#2856](https://github.com/PixarAnimationStudios/OpenUSD/pull/2856), + [#2857](https://github.com/PixarAnimationStudios/OpenUSD/pull/2857), + [#2858](https://github.com/PixarAnimationStudios/OpenUSD/pull/2858), + [#2867](https://github.com/PixarAnimationStudios/OpenUSD/pull/2867), + [#2883](https://github.com/PixarAnimationStudios/OpenUSD/pull/2883), + [#2888](https://github.com/PixarAnimationStudios/OpenUSD/pull/2888), + [#2889](https://github.com/PixarAnimationStudios/OpenUSD/pull/2889), + [#2890](https://github.com/PixarAnimationStudios/OpenUSD/pull/2890), + [#2906](https://github.com/PixarAnimationStudios/OpenUSD/pull/2906)) + +- Added initial version of Ts library. This will be the open-source version of + Presto's libAnim. It implements animation splines. For details, see the + [Spline Animation proposal](https://github.com/PixarAnimationStudios/OpenUSD-proposals/blob/main/proposals/spline-animation/README.md). + This version builds, but isn't used by anything yet. It's a first milestone + that will allow us to begin co-developing with external partners and + collecting public feedback. Much work remains, see ts/README.md for a rough + list of tasks. + +- Add initial version of UsdNamespaceEditor. This object supports basic prim and + property edits, with property target path fixing, in the local layer stack + only. This is a work-in-progress, future releases will provide more complete + functionality and documentation. + +- Fixed broken validation of allowed characters in Ar URI resolver schemes. + (PR: [#2859](https://github.com/PixarAnimationStudios/OpenUSD/pull/2859)) + +- Refactored Arch_ComputeNanosecondsPerTick to empirically calculate nanoseconds + per tick. + (Issue: [#2719](https://github.com/PixarAnimationStudios/OpenUSD/issues/2719)) + +- Added thread-safety, size, and performance improvements to TfRefBase, + TfRefPtr, and TfToken. + +- Updated DoubleConversion version to v3.3.0 in Tf. + (Issue: [#2218](https://github.com/PixarAnimationStudios/OpenUSD/issues/2218)) + +- Fixed bugs not properly decrementing Python exception state reference counts, + and not properly saving/restoring exception state in some corner cases. + +- Added workaround for "insufficient permissions" errors that occurred on + Windows when saving files to a network drive. By default, filesystem + permissions are no longer checked before saving files on Windows. This avoids + cases where permissions are incorrectly reported by the system. On Linux and + macOS permissions are still checked, maintaining previous behavior. + This behavior can be overridden by setting the environment variable + `TF_REQUIRE_FILESYSTEM_WRITE_PERMISSION`. This setting defaults to + `true` on Linux and macOS, and `false` on Windows. + (Issue: [#849](https://github.com/PixarAnimationStudios/OpenUSD/issues/849)) + +- Fixed Python DLL loading order on Windows + (PR: [#2595](https://github.com/PixarAnimationStudios/OpenUSD/pull/2595)) + +- Numerous changes to remove boost usage. + (PR: [#2353](https://github.com/PixarAnimationStudios/OpenUSD/pull/2353), + [#2681](https://github.com/PixarAnimationStudios/OpenUSD/pull/2681), + [#2682](https://github.com/PixarAnimationStudios/OpenUSD/pull/2682), + [#2684](https://github.com/PixarAnimationStudios/OpenUSD/pull/2684), + [#2701](https://github.com/PixarAnimationStudios/OpenUSD/pull/2701), + [#2707](https://github.com/PixarAnimationStudios/OpenUSD/pull/2707), + [#2709](https://github.com/PixarAnimationStudios/OpenUSD/pull/2709), + [#2711](https://github.com/PixarAnimationStudios/OpenUSD/pull/2711), + [#2714](https://github.com/PixarAnimationStudios/OpenUSD/pull/2714), + [#2715](https://github.com/PixarAnimationStudios/OpenUSD/pull/2715), + [#2718](https://github.com/PixarAnimationStudios/OpenUSD/pull/2718), + [#2748](https://github.com/PixarAnimationStudios/OpenUSD/pull/2748), + [#2750](https://github.com/PixarAnimationStudios/OpenUSD/pull/2750), + [#2752](https://github.com/PixarAnimationStudios/OpenUSD/pull/2752), + [#2754](https://github.com/PixarAnimationStudios/OpenUSD/pull/2754), + [#2761](https://github.com/PixarAnimationStudios/OpenUSD/pull/2761), + [#2763](https://github.com/PixarAnimationStudios/OpenUSD/pull/2763), + [#2764](https://github.com/PixarAnimationStudios/OpenUSD/pull/2764), + [#2765](https://github.com/PixarAnimationStudios/OpenUSD/pull/2765), + [#2778](https://github.com/PixarAnimationStudios/OpenUSD/pull/2778), + [#2781](https://github.com/PixarAnimationStudios/OpenUSD/pull/2781), + [#2785](https://github.com/PixarAnimationStudios/OpenUSD/pull/2785), + [#2786](https://github.com/PixarAnimationStudios/OpenUSD/pull/2786), + [#2802](https://github.com/PixarAnimationStudios/OpenUSD/pull/2802), + [#2810](https://github.com/PixarAnimationStudios/OpenUSD/pull/2810), + [#2811](https://github.com/PixarAnimationStudios/OpenUSD/pull/2811), + [#2823](https://github.com/PixarAnimationStudios/OpenUSD/pull/2823), + [#2831](https://github.com/PixarAnimationStudios/OpenUSD/pull/2831), + [#2833](https://github.com/PixarAnimationStudios/OpenUSD/pull/2833), + [#2834](https://github.com/PixarAnimationStudios/OpenUSD/pull/2834), + [#2835](https://github.com/PixarAnimationStudios/OpenUSD/pull/2835), + [#2842](https://github.com/PixarAnimationStudios/OpenUSD/pull/2842), + [#2843](https://github.com/PixarAnimationStudios/OpenUSD/pull/2843), + [#2864](https://github.com/PixarAnimationStudios/OpenUSD/pull/2864), + [#2874](https://github.com/PixarAnimationStudios/OpenUSD/pull/2874)) + +- Various fixes and changes for SdfPathExpression: + - Fixed a bug in the SdfPathExpression parser: only allow the pattern chars + '-', '!', and ']' once an initial '[' has been seen. Previously a case like + /foo//-/foo/bar// which should parse as a set-difference ('/foo// - + /foo/bar//') would parse as a single path pattern with a '-' element. + - Fixed a bug where SdfPathExpression was searching for wildcard matches + anywhere in path components rather than matching components in full. + - Fixed logic bugs in the incremental search implementation for + SdfPathExpressionEval. Added debug output, and improved test coverage for + incremental searches in testSdfPathExpression. + - Fixed a bug where SdfPathExpression evaluation would incorrectly report a + constant false when the query path was a prefix of a pattern prefix. + - Added compile-time-enabled TF_DEBUG code for SdfPathExpressionEval. + +- SdfChangeList now provides a more precise list of layer edits. + - Changes to composition-related fields like "references" and "inherits" are + now listed as info changes so they can be handled generically. + - Some changes are now split into multiple entries for the same prim or + property when needed to provide clients an unambiguous order of operations. + - The previous path for re-parented prims is now captured. + +- Added exception throwing and handling to avoid corrupted file reads during + SdfLayer setup. + (PR: [#2552](https://github.com/PixarAnimationStudios/OpenUSD/pull/2552)) + +- Ensured that SdfAbstractData::HasDictKey returns false if the provided value's + type does not match the valueType. + +- Fixed bug in SdfBatchNamespaceEdit where certain sequences of operations would + erroneously be flagged as invalid. + +- Initial work on reimplementing the .usda parser to remove dependencies on flex + and bison. + (PR: [#2822](https://github.com/PixarAnimationStudios/OpenUSD/pull/2822), + [#2819](https://github.com/PixarAnimationStudios/OpenUSD/pull/2819)) + +- Fixed an issue in SdfAssetPath::_ReadUTF8 where certain multibyte unicode + characters would not be decoded correctly. + (Issue: [#2560](https://github.com/PixarAnimationStudios/OpenUSD/issues/2560)) + +- Increased default version for newly created crate files to 0.9.0. + (PR: [#2838](https://github.com/PixarAnimationStudios/OpenUSD/pull/2838)) + +- Updated SdrShaderProperty to support int2, int3, and int4, which conforms to + SdfValueTypeNamess->int2, SdfValueTypeNames->int3, SdfValueTypeNames->int4. + Users do not have to specify sdrUsdDefinitionType for int2, int3, and int4 + SdrShaderProperties now. + +- Added the ability to pass a traversal predicate to UsdStage attribute + connection/relationship target finders, and UsdStage::ExpandPopulationMask(). + +- Made "kind" a disallowed field for metadata in schemas. + +- Changed UsdCollectionMembershipQuery behavior to use either the path expansion + rule map form, or the membership expression form, preferring the rule map form + if authored. Provided a way for callers to determine whether or not the + expression form was used to match. Also fixed some API export tag names. + +- UsdFlattenLayerStack now handles add/reorder statements as described in the + docs for the case where there's only one opinion. + +- Added guard to gracefully handle NULL stage pointers. + (Issue: [#2721](https://github.com/PixarAnimationStudios/OpenUSD/issues/2721)) + +- Fixed unnecessary VtArray copy-on-writes during attribute creation. + (PR: [#2816](https://github.com/PixarAnimationStudios/OpenUSD/pull/2816)) + +- Validate UsdCollectionAPI before accessing in + UsdShadeMaterialBindingAPI::ComputeBoundMaterial. + (PR: [#2501](https://github.com/PixarAnimationStudios/OpenUSD/pull/2501)) + +- Improved performance for computing variant selections during prim composition. + For example, in a synthetic test case involving a prim with 1000 references, + adding 500 variant sets to that prim previously took ~25.5 seconds; it now + takes ~6.8 seconds. + (Issue: [#1957](https://github.com/PixarAnimationStudios/OpenUSD/issues/1957), + [#2010](https://github.com/PixarAnimationStudios/OpenUSD/issues/2010)) + +- Fixed bug where variant selections authored at implied sites would be ignored + when composing prims with composition arcs pointing to subroot prims. + +- Fixed bug where incorrect sites would be checked for opinions during dynamic + payload argument composition. + +- Fixed bug where the wrong inclusion state for ancestral payloads would be + computed when composing prims with composition arcs pointing to subroot prims. + +- Fixed bugs in UsdInherits::GetAllDirectInherits where the results would be + incomplete or include paths in non-local layer stacks. + +- Added UsdGeomTetMesh schema. + +- Added support for elementTypes "point", "edge", and "tetrahedron" in + UsdGeomSubset. + +- Added single precision `orientationsf` to UsdGeomPointInstancer, which, if + authored, takes precedence over half-precision `orientations`. + (Issue: [#2529](https://github.com/PixarAnimationStudios/OpenUSD/issues/2529)) + +- Deprecated UsdGeomSubset::ValidateSubsets in favor of ValidateFamily. + +- Added change to avoid de-referencing iterators of an empty set when validating + UsdGeomSubset families with no indices. + (PR: [#2733](https://github.com/PixarAnimationStudios/OpenUSD/pull/2733)) + +- Updated UsdGeomPrimvar::ComputeFlattened() to consider elementSize. + +- Added a null pointer check in UsdGeomBBoxCache::_Resolve. This brings behavior + in line with other UsdGeomBBoxCache operations and prevents crashing in + certain multi-threaded situations. + (PR: [#2905](https://github.com/PixarAnimationStudios/OpenUSD/pull/2905)) + +- Improved the UsdObj handling of .obj files with 'g' statements. + (PR: [#2092](https://github.com/PixarAnimationStudios/OpenUSD/pull/2092)) + +- Updated usdRiPxr codeless schemas with updated concepts from RenderMan 25. + +- Updated UsdShadeOutput::GetAttr to return const reference for consistency. + (Issue: [#2617](https://github.com/PixarAnimationStudios/OpenUSD/issues/2617)) + +- Updated UsdShadeOutput::IsOutput to check attribute validity, to match + UsdShadeInput::IsInput behavior. + (Issue: [#2876](https://github.com/PixarAnimationStudios/OpenUSD/issues/2876), + PR: [#2877](https://github.com/PixarAnimationStudios/OpenUSD/pull/2877)) + +- Added a new method UsdUtilsLocalizeAsset which will localize an asset to a + directory on disk. It also introduces the concept of a user processing + function which allows users to provide a function which can modify asset paths + and dependencies while leveraging built in asset discovery and traversal code. + +- Added an optional UsdUtilsProcessingFunc parameter to + UsdUtilsComputeAllDependencies. This allows users to inject custom logic into + asset discovery. + +- Updated NormalMapTextureChecker to use GetValueProducingAttributes. + (PR: [#2885](https://github.com/PixarAnimationStudios/OpenUSD/pull/2885)) + +- Updated ARKit conformance checks to match spec from WWDC 2023. + (https://developer.apple.com/documentation/realitykit/validating-usd-files) + (PR: [#2863](https://github.com/PixarAnimationStudios/OpenUSD/pull/2863), + [#2875](https://github.com/PixarAnimationStudios/OpenUSD/pull/2875)) + +### UsdImaging + +- Replaced use of GetValueProducingAttribute() API, which had been deprecated + and was emitting warnings. + +- Added imaging support for UsdGeomTetMesh in Hydra 1.0. + +- Added support for Material Nodegraph edits when using the stage SceneIndex. + +- Added DataSourceAttributeColorSpace to lazily populate the color space + metadata in Hydra 2.0. + +- Added forceDirtyingTimeDeps flag to UsdImagingStageSceneIndex::SetTime(). This + can be used to force render delegates into resampling all primvars in response + to, e.g., the camera and thus the shutter interval changing. + +- Fixed a bug where time-sampled attributes on lights, light filters, and + cameras were not detected as time-varying. + (PR: [#2734](https://github.com/PixarAnimationStudios/OpenUSD/pull/2734)) + +- Added support for asynchronous Hydra processing in UsdImagingGLEngine and + usdview, activated with the --allow-async flag in usdview. + +- Added support for asset[]-valued attribute data sources. + +### Storm + +- Removed include of dispatcher.h in public header to reduce transitive includes + of TBB headers. + (PR: [#2616](https://github.com/PixarAnimationStudios/OpenUSD/pull/2616)) + +- Published HdSt and Hdx tests, available on Linux. + +- Enabled Hgi resource generation for non-HgiGL Hgi backends by default. + +- Fixed a bug where creation of HgiSampler in various backends will always + enable anisotropy. + (PR: [#2492](https://github.com/PixarAnimationStudios/OpenUSD/pull/2492)) + +- Fixed a typo in hgiInterop CMakeLists.txt. + (PR: [#2641](https://github.com/PixarAnimationStudios/OpenUSD/pull/2641)) + +- Added ability to support both HgiGL and HgiVulkan in single build. + (PR: [#2564](https://github.com/PixarAnimationStudios/OpenUSD/pull/2564)) + +- Added new unit test for HgiGL and HgiVulkan. + (PR: [#2851](https://github.com/PixarAnimationStudios/OpenUSD/pull/2851)) + +- Added memory barrier between CPU-GPU copy and GPU-GPU copies in + HdStStagingBuffer::Flush. + +- Various correctness and stability improvements to HgiVulkan, including: + - Added implementation for HgiVulkanBlitCmds::FillBuffer. + - Improved clearing logic of HgiVulkanGraphicsCmds such that we only clear a + VkRenderPass when it's used for the first draw batch in graphics cmds + submission. + - Fixed visualization of Embree normals AOV when using HgiVulkan. + - HgiVulkan now uses validation layer VK_LAYER_KHRONOS_validation instead of + deprecated VK_LAYER_LUNARG_standard_validation. + - Removed incorrect use of indexBufferByteOffset when binding index buffer. + - Added env var HGIVULKAN_ENABLE_MULTI_DRAW_INDIRECT, mirroring HgiGL version. + - Added support for builtin barycentric coordinates. + - Enabled alphaToOne, allowing its use in the + VkPipelineMultisampleStateCreateInfo setup. + - Added codepath for clearing attachments in HgiVulkanGraphicsCmds without + beginning a render pass. + - Added method Hgi::SubmitLayoutChange, allowing user to request texture + layout changes. Used this method to fix color correction task when using + HgiVulkan. + - Many validation layer error fixes. + (PR: [#2852](https://github.com/PixarAnimationStudios/OpenUSD/pull/2852)) + +- Enabled multi-threaded buffer source resolve to improve performance when + executing buffer source computations during resource commit. + +- Updated to use improved OpenSubdiv shader source mixins to reduce shader + source size and improve compatibility when compiling GLSL to SPIR-V for Vulkan. + +- Updated to include implementations of SPIRV-Reflect and VMA (Vulkan Memory + Allocator) directly from the Vulkan SDK instead of maintaining copies of these + within the hgiVulkan implementation. + (PR: [#2563](https://github.com/PixarAnimationStudios/OpenUSD/pull/2563)) + +- Added a version guarded workaround to avoid a performance regression when + rendering order independent transparency (OIT) on some recently released Metal + devices. + +- Removed the use of CoreVideo texture caches from hgiMetal to simplify the + implementation and fix a memory leak. + (PR: [#2828](https://github.com/PixarAnimationStudios/OpenUSD/pull/2828)) + +- Added change to support float type matrix (GfMatrix4f) for instance transforms. + (PR: [#2724](https://github.com/PixarAnimationStudios/OpenUSD/pull/2724)) + +- Added support to provide visual feedback for broken material shaders. + +- Fixed determination of screen space point size when using authored widths. + +- Improved the performance of shader generation when certain non-standard + primvar names are present. + +- Refactored HdSt_CodeGen to take metaData as constructor arg. This allows us to + delay the construction of the codeGen object since the hash can be computed + from the constructor args. With this change there is approx 50% speedup in + HdStExtCompGpuComputation::Execute. + +### Hydra + +- Fixed a bug that could lead to crashes in HdsiPrimTypePruningSceneIndex. + +- Hydra now supports inserting asset names into material networks. + +- Made HdImageShaderSchema constants return a schema instead of a container data + source. + +- Made HdSceneIndexAdapterSceneDelegate handle image shaders correctly. + +- Made HdImageShaderSchema filePath a string, not an asset path. + +- Moved material node sampler parameter extraction into the standalone function + HdGetSamplerParameters. + +- Added disableDepthOfField bool to RenderSettings. + +- Included to fix external build error. + (PR: [#2907](https://github.com/PixarAnimationStudios/OpenUSD/pull/2907)) + +- Changed Metal's swizzle so single channel texture reads follow the + UsdPreviewSurface spec of repeating the single channel on the r, g, and b + channels with 1.0 in the alpha channel. + (Issue: [#2731](https://github.com/PixarAnimationStudios/OpenUSD/issues/2731)) + +- Updated color correction task to support building against OpenColorIO 2.3.0. + (PR: [#2651](https://github.com/PixarAnimationStudios/OpenUSD/pull/2651)) + +- Updated DataSourceMaterial and added HdMaterialNodeParameterSchema for + colorspace handling in both Hydra 1.0 and 2.0. + +- Added UnderlyingDataSource to HdSchema and HdVectorSchema. This allows folding + HdVectorSchemaBasedContainerSchema into HdSchemaBasedContainerSchema. + +- Deprecated hd/vectorSchemaTypeDefs.h in favor of the more generic + hd/schemaTypeDefs.h + +- Deprecated BuildRetained Hydra schema in favor of Builder. + +- Added more typing to Hydra schemas by replacing container/vector data sources + with appropriate schemas. This was done for HdMaterialBindingsSchema, + HdMaterialSchema, HdMaterialNetwork, HdMaterialNode, + HdRenderProductVectorSchema, and HdRenderVarVectorSchema. + +- Added GetFlattenedPrimvarValue for HdPrimvarSchema. + +- HdGeomSubsetsSchema::GetIds is now GetGeomSubsetNames. + +- Fixed implementation of GetContributingSampleTimesForInterval in + HdDataSourceLegacyPrim to include the samples just before or just after the + given shutter interval. + +- Added HdRenderDelegate::GetCapabilities, used to indicate motion blur support. + +- Introduced HdsiPrimTypeNoticeBatchingSceneIndex and + HdsiPrimManagingSceneIndexObserver. Future render delegates can be implemented + by observing the terminal scene index (HdRenderDelegate::SetTerminalSceneIndex) + and providing an appropriate prim factory. + +- HdRenderPassState::SetOverrideWindowPolicy now takes std::optional instead of + std::pair (similar for related classes). + +- Improved loading of multichannel OpenEXR files. + +- Enabled decompression of dwaa and dwab OpenEXR files. + +- OpenEXR code is now MinGW and Neon compatible. + +- Added support for monochrome OpenEXR images and swizzling for luminance + channels. + (Issue: [#2800](https://github.com/PixarAnimationStudios/OpenUSD/issues/2800)) + +- Added utility to write out scene index to file. + +- Removed 'bindingStrength' from HdMaterialBindingSchema. + +- Added support for asynchronous processing in Hydra generative procedurals, + through the new SystemMessage scene index API. Procedural implementations need + to implement the new asynchronous API to take advantage of this, and the host + application will need to send periodic asyncPoll messages. + +- Added Hydra schema support for public interface mappings on material prims. + +- Prims with self-dependencies will no longer be signaled as dirty after they + are removed. + +- Fixed a situation where both smooth and flat normals were being computed for + HdMeshes for representations where only one of the two was needed. This is + expected to remove about 10ms per unintended invocation. + +- Added multithreaded sync for HdExtComputations. Added a work parallel loop in + Hd_PrimTypeIndex::SyncPrims enabled only for Prim types that opt-in. Opted + "extComputation" into threaded prim sync by default. With this there is an + order of magnitude performance improvement for use cases which have a + significant number of HdExtComputations. + +- Added Hydra schemata to transport direct and collection-based material + bindings, and a scene index to compute the resolved binding. Current support + is limited to direct material bindings. + +### RenderMan Hydra Plugin + +- LPE AOV's now use the RenderVar name rather than the LPE expression as the + channel name. This both gives expected output names in EXR channels, and fixes + name collisions when the same LPE is used with multiple summary statistics, + such as variance and mse. + +- Fixed crash when UsdRenderProduct's orderedVars points at a target prim that + does not exist. + +- HdPrman now supports TfToken-typed parameters. + +- HdPrman now has a scene index filter, HdPrman_UpdateObjectSettingsSceneIndex, + that will upgrade certain attributes used in older RenderMan versions to their + modern representation. + +- Reduced overhead of portalLightResolvingSceneIndexPlugin. + +- Fixed handling of coordinate systems for light filters, which would give + incorrect results in some circumstances. + +- Added support for single precision rotations for point instancers in HdPrman. + Note that half precision rotations are still supported but are cast to floats. + (Issue: [#2529](https://github.com/PixarAnimationStudios/OpenUSD/issues/2529)) + +- Added PxrMesh adapter to help mesh lights work on older versions of USD which + do not have scene index support. + +- Added change to use the 'disableDepthOfField' RenderSettings option in HdPrman. + +- Added change to query and use shutter curve parameters if available. + +- Made various improvements to enable usage of a render settings prim to drive + render pass execution. Current support is limited to generation of multiple + render product artifacts in batched (i.e., non-interactive) mode. + +- Improved determination of the Riley shutter interval and its use for motion + blur. + +- Improved instancing stability & performance. + +- All motion blur handling has been consolidated into a single scene index. + Motion blur is now more consistently supported across the entire scene. + +- Motion blur will better respect the shutter settings of the active camera. + +- ExtComp is now compatible with motion blur. + +### usdview + +- Replaced deprecated QFontMetrics.width with horizontalAdvance. + (PR: [#2625](https://github.com/PixarAnimationStudios/OpenUSD/pull/2625)) + +- Updated usdview selection processing to maintain correct selection + highlighting after switching variants or prim activation and avoid some errors + that could occur at startup when using PySide6 on Linux or Windows. + +### usdrecord + +- Updated camera transforms for usdrecord to make sure small objects are not + unexpectedly culled by the clipping planes. + (Issue: [#2556](https://github.com/PixarAnimationStudios/OpenUSD/issues/2556)) + +- Updated CMakeLists for usdrecord to skip building if GPU and/or OpenGL are + unavailable. + (PR: [#2468](https://github.com/PixarAnimationStudios/OpenUSD/pull/2468)) + +### usdcat + +- Fixed issues with usdcat --flattenLayerStack argument. + (PR: [#2832](https://github.com/PixarAnimationStudios/OpenUSD/pull/2832)) + +### MaterialX + +- Fixed name collision with MaterialX inputs and built-in uniforms in Storm. + (PR: [#2807](https://github.com/PixarAnimationStudios/OpenUSD/pull/2807)) + +- Fixed OIT issues for MaterialX when using Metal. + (PR: [#2614](https://github.com/PixarAnimationStudios/OpenUSD/pull/2614)) + +- Added HdMtlxGetStdLibraries to cache the MaterialX::LoadLibraries step. + (PR: [#2666](https://github.com/PixarAnimationStudios/OpenUSD/pull/2666)) + +- Added change to allow matrix33 default values in UsdMtlx. + (PR: [#2554](https://github.com/PixarAnimationStudios/OpenUSD/pull/2554)) + +- Fixed testUsdImagingGLMaterialXCustomNodes_customColor failure. + (PR: [#2728](https://github.com/PixarAnimationStudios/OpenUSD/pull/2728)) + +- Fixed Tangent vector calculation for MaterialX NormalMaps. + (Issue: [#1585](https://github.com/PixarAnimationStudios/OpenUSD/issues/1585)) + +- Updated MaterialXMatfilt to handle normalMaps with PreviewSurface Materials. + (Issue: [#1585](https://github.com/PixarAnimationStudios/OpenUSD/issues/1585)) + +- Fixed shader compile error when using MaterialX's :heighttonormal nodes. + (Issue: [#2281](https://github.com/PixarAnimationStudios/OpenUSD/issues/2281), + PR: [#2474](https://github.com/PixarAnimationStudios/OpenUSD/pull/2474)) + +- Fixed a bug where the "fileprefix" attribute was not being applied to + filenames. + (Issue: [#974](https://github.com/PixarAnimationStudios/OpenUSD/issues/974), + PR: [#2660](https://github.com/PixarAnimationStudios/OpenUSD/pull/2660)) + +- Updated CMakeLists for usdBakeMtlx to skip building if GPU and/or OpenGL are + unavailable. + (PR: [#2468](https://github.com/PixarAnimationStudios/OpenUSD/pull/2468)) + +### Documentation + +- Fixed various documentation issues. + (PR: [#2565](https://github.com/PixarAnimationStudios/OpenUSD/pull/2565), + [#2779](https://github.com/PixarAnimationStudios/OpenUSD/pull/2779)) + +- Updated doc for UsdStage::Traverse() comments regarding PrimRange. + (Issue: [#222](https://github.com/PixarAnimationStudios/USD/issues/222)) + +- Updated UsdPreviewSurface Specification, added information about transparent + black for texture wrap mode border color, clarified clearcoat inputs. + (Issue: [#2659](https://github.com/PixarAnimationStudios/OpenUSD/issues/2659), + [#2770](https://github.com/PixarAnimationStudios/OpenUSD/issues/2770)) + +- Updated "Products Using USD" docs page with new Unity packages. + (PR: [#2884](https://github.com/PixarAnimationStudios/OpenUSD/pull/2884)) + +- Updated UsdSkel documentation with fixed examples. + (Issue: [#2621](https://github.com/PixarAnimationStudios/OpenUSD/issues/2621), + PR: [#2697](https://github.com/PixarAnimationStudios/OpenUSD/pull/2697)) + +- Updated Python docstring generation scripts: + - Added fix to ignore previously generated __DOC.py files. + - Fixed building docstrings on Windows. + - Improved conversion of C++ types. + - Added ability to build docstrings without having to first build HTML docs, + using new CMake build options PXR_BUILD_PYTHON_DOCUMENTATION and + PXR_BUILD_HTML_DOCUMENTATION. + (PR: [#2574](https://github.com/PixarAnimationStudios/OpenUSD/pull/2574), + [#2575](https://github.com/PixarAnimationStudios/OpenUSD/pull/2575), + [#2578](https://github.com/PixarAnimationStudios/OpenUSD/pull/2578), + [#2581](https://github.com/PixarAnimationStudios/OpenUSD/pull/2581)) + +- Fixed UsdShadeMaterialBindingAPI example. + (PR: [#2726](https://github.com/PixarAnimationStudios/OpenUSD/pull/2726)) + +
+ Previous Releases + ## [23.11] - 2023-10-26 ### Build @@ -106,6 +738,9 @@ - Improved cmake performance when performing a monolithic build. +- Made 12.6.3 as the minimum macOS requirement (with compatible Xcode version + being 13.3) we test against. + ### USD - Fixed VtArray declarations of extern template instantiations. @@ -7784,3 +8419,5 @@ See documentation in [BUILDING.md](BUILDING.md#c-namespace-configuration) for mo ## [0.7.0] - 2016-08-01 Initial release + +
\ No newline at end of file -- 2.34.1