|
1 | 1 | # Change Log |
2 | 2 |
|
| 3 | +## [20.08] - 2020-07-21 |
| 4 | + |
| 5 | +### Build |
| 6 | +- The "master" branch on GitHub has been renamed "release". |
| 7 | +- Improved error handling when building the RenderMan plugin. (Issue #1054) |
| 8 | + |
| 9 | +- Various fixes and changes to build_usd.py: |
| 10 | + - Added `--tools` and `--no-tools` options. |
| 11 | + - Updated OpenImageIO (2.1.16.0) and MaterialX (1.37.1) dependencies. |
| 12 | + - Specifying `--embree` will now build the Embree library. The |
| 13 | + `--embree-location` parameter has been removed. |
| 14 | + - CMake 3.14 is now required on Windows to support boost 1.70+. |
| 15 | + - Python 3.8 on Windows now causes an error, as USD does not support |
| 16 | + this version on Windows. |
| 17 | + - Improved handling of boost build failures. |
| 18 | + - Fixed locale decoding errors. (Issue #1165) |
| 19 | + - Fixed incorrect detection of Draco library. (PR #1239) |
| 20 | + |
| 21 | +### USD |
| 22 | +- Added support for "future division" in Python 2 to aid transition to Python 3. |
| 23 | + |
| 24 | +- Added ArResolver::CreatePathForLayer to allow users to customize behavior |
| 25 | + when writing a layer. SdfLayer now uses this method instead of creating a |
| 26 | + directory, which was not appropriate for non-filesystem uses. (Issue #1148) |
| 27 | + |
| 28 | +- Added SdfReference::IsInternal. (PR #1204) |
| 29 | +- Added fallback prim types feature, allowing clients to specify alternative |
| 30 | + schemas to use if a schema can't be found. See documentation for more details. |
| 31 | +- Added UsdPrim::ApplyAPI, RemoveAPI, AddAppliedSchemas, |
| 32 | + and RemoveAppliedSchemas. (Issue #1218) |
| 33 | +- Added Python __repr__ for generated schemas. |
| 34 | +- Added methods to UsdGeomPrimvar for processing property names. |
| 35 | +- Added methods to UsdGeomPrimvarsAPI for creating, removing, and blocking |
| 36 | + primvars. (Issue #1100) |
| 37 | +- Improved documentation for UsdVol schema domain. (PR #1203) |
| 38 | +- Improved documentation for UsdGeomMesh. (PR #1254) |
| 39 | +- Improved diagnostic messages for plugin registration and loading. |
| 40 | + |
| 41 | +- Plugin search paths in PXR_PLUGINPATH_NAME can now be a symlink. Paths are |
| 42 | + now processed in order to ensure plugins in earlier entries take priority |
| 43 | + over those in later entries. |
| 44 | + |
| 45 | +- Replaced SdrShaderNode::GetSourceURI and GetResolvedSourceURI with |
| 46 | + GetResolvedDefinitionURI and GetResolvedImplementationURI to properly |
| 47 | + represent RenderMan C++ shaders. |
| 48 | + |
| 49 | +- Time sample times from layers whose timeCodesPerSecond value differ from |
| 50 | + the UsdStage are now automatically scaled to match. This can be disabled |
| 51 | + by setting the PCP_DISABLE_TIME_SCALING_BY_LAYER_TCPS environment variable, |
| 52 | + but we expect to remove this in a future release. |
| 53 | + |
| 54 | +- Significant changes and additions to value clips functionality. See |
| 55 | + documentation for more details: |
| 56 | + - Added support for jump discontinuities in clip times metadata to encode |
| 57 | + looping behaviors. |
| 58 | + - The clip manifest is now used to determine which attributes have values |
| 59 | + in clips. The manifest will be generated in-memory at runtime if one |
| 60 | + hasn't been specified. |
| 61 | + - Value resolution will no longer fall through to weaker layers if a clip |
| 62 | + does not have values for an attribute declared in the manifest. In these |
| 63 | + cases, the value may come from the default value authored in the manifest |
| 64 | + or (optionally) be interpolated from surrounding clips. |
| 65 | + - Removed support for legacy value clips metadata. |
| 66 | + - Fixed numerous bugs, including incorrect time samples when reversing |
| 67 | + clips. (Issue #1116) |
| 68 | + |
| 69 | +- Changed the strength ordering of entries in the apiSchemas metadata to be |
| 70 | + strongest-to-weakest, matching the ordering of references and other fields. |
| 71 | +- Constructing a UsdGeom::XformOp with an invalid attribute is no longer a |
| 72 | + coding error for consistency with other schemas and objects. |
| 73 | +- Deprecated many schemas in UsdRi in preparation for modernization efforts |
| 74 | + in a future release. |
| 75 | +- Removed support for deprecated "hermite" and "power" basis from UsdGeomCurves. |
| 76 | +- Fixed crash when removing many entries from an SdfPathTable. (PR #1172) |
| 77 | +- Fixed compile error due to missing virtual destructor for |
| 78 | + PcpDynamicFileFormatInterface. (PR #1156) |
| 79 | +- Fixed type conversions when setting metadata values using dictionaries |
| 80 | + in Python. (Issue #813) |
| 81 | +- Fixed handling of stage metadata and session layer muting in UsdStage. |
| 82 | +- Fixed UsdFlattenLayerStack to handle mismatched attribute types and |
| 83 | + time-sampled asset paths. (PR #1169) |
| 84 | +- Fixed undefined behavior issue with iterator comparisons. (Issue #1146) |
| 85 | +- Fixed regression in handling of inherited bindings in UsdSkelCache. |
| 86 | +- Fixed crash in UsdSkelBakeSkinning. (PR #1213) |
| 87 | + |
| 88 | +### Imaging |
| 89 | +- Updated minimum required version of OpenGL to v4.5. |
| 90 | + |
| 91 | +- Added new texture system to Storm. This enables multi-threaded texture |
| 92 | + loading, uses Hgi, and frees the scene delegate from having to load |
| 93 | + textures. In a performance test using Nvidia's Attic scene, time to first |
| 94 | + image dropped by ~90%, from 115s to 10s. |
| 95 | + |
| 96 | +- Added first iteration of HgiMetal, a Metal-based Hgi implementation for |
| 97 | + Apple platforms. Currently, Hgi is used in several Hydra tasks to perform |
| 98 | + tasks like blitting, the goal is to slowly integrate Hgi in Storm. |
| 99 | + |
| 100 | +- Numerous updates to Hgi: |
| 101 | + - Added HgiInterop to exchange rendered results between GL-GL or Metal-GL. |
| 102 | + - Added HgiSampler to represent texture samplers. |
| 103 | + - Added HgiComputeCmds to issue compute commands. |
| 104 | + - Added HgiBlitCmds for mipmap generation and GPU-GPU copy. |
| 105 | + - Added SRGB format and removed unsupported 24-bit formats. |
| 106 | + - Added GetRawResource function to various resource objects to expose |
| 107 | + low-level resource handles. |
| 108 | + |
| 109 | +- Added garbage collection to HgiGL for proper handling of resource destruction. |
| 110 | +- Added HdRendererPluginHandle, an RAII object for managing plugin lifetimes. |
| 111 | +- Added HdxAovInputTask which takes HdRenderBuffer and (if needed) uploads |
| 112 | + it to the GPU as HgiTexture. |
| 113 | +- Added support for down-sampling volumes in Storm. |
| 114 | +- Improved performance of volumes in Storm by not re-creating the entire |
| 115 | + volume shader when fields are animated. |
| 116 | +- Added support for UsdTransform2d node in Storm. (Issue #1207) |
| 117 | +- Added support for UsdUVTexture scale and bias in Storm. (Issue #1129) |
| 118 | +- Added USDIMAGINGGL_ENGINE_DEBUG_SCENE_DELEGATE_ID environment variable to |
| 119 | + specify scene delegate ID for debugging. (Issue #1093) |
| 120 | +- Changed default version of HdSceneDelegate::GetScenePrimPath to strip |
| 121 | + delegate ID. |
| 122 | +- Replaced obsolete GL_GENERATE_MIPMAP with glGenerateMipmap. (Issue #1171) |
| 123 | +- Added support for uint16 type for GL textures and OpenImageIO. (PR #1212) |
| 124 | +- Restructured OpenImageIO support as a plugin to Glf. (PR #1214) |
| 125 | +- Converted common Hydra tasks (e.g. HdxColorCorrectionTask, HdxPresentTask, |
| 126 | + HdxColorizeSelectionTask) to use Hgi. |
| 127 | +- Renamed HdxProgressiveTask to HdxTask. |
| 128 | +- Storm now uses Hgi for buffers, shaders, and programs instead of OpenGL. |
| 129 | +- HdStResourceRegistry is instantiated once per Hgi instance in Storm. |
| 130 | +- Unshared computation BAR are reused when possible. (Issue #1083) |
| 131 | +- Improved handling of invalid cases in several areas. (PR #1232, PR #1201) |
| 132 | +- Improved performance of UsdImagingDelegate::SetTime. (Issue #1166) |
| 133 | +- Improved performance for displaying meshes with large numbers of geometry |
| 134 | + subsets. (PR #1170) |
| 135 | +- Normals are ignored on skinned meshes so they are computed post-skinning. |
| 136 | +- Inherited UsdSkel bindings are now respected. |
| 137 | +- Allow HdStRenderBuffer::Resolve() to change the size of the image. (PR #1236) |
| 138 | +- Removed "catmark" token in pxOsd in favor of "catmullClark". |
| 139 | +- Removed UsdImagingGLMaterialTextureAdapter, UsdImagingGLDomeLightAdapter, |
| 140 | + GlfVdbTexture[Container], and GlfTextureContainer, which are unneeded with |
| 141 | + the new texture system. |
| 142 | +- Removed unused HdxColorizeTask and HdxFullscreenShaderGL. |
| 143 | +- Removed HdWrapLegacyClamp, which corresponded to the deprecated GL_CLAMP. |
| 144 | +- Removed uses of HdStGLSLProgram as part of a new strategy to create these |
| 145 | + via HdStResourceRegistry (since it has access to Hgi). |
| 146 | +- Removed transform feedback from non-instanced GPU culling in Storm. |
| 147 | +- Fixed incorrect handling of buffer array resizing to 0 elements. (Issue #1230) |
| 148 | +- Fixed memory regression when calling UsdImagingDelegate::SampleTransform |
| 149 | + and SamplePrimvar. |
| 150 | +- Fixed error in UsdImaging when changing from a time where a mesh provided |
| 151 | + points or normals to a time that does not. |
| 152 | +- Fixed potential deadlocks if plugins were loaded at various points in |
| 153 | + UsdImagingGLEngine. |
| 154 | +- Fixed error when processing skinned prim with no joint influences. |
| 155 | +- Fixed change processing issue with native instanced prims. (Issue #1163) |
| 156 | +- Fixed handling of widths primvar with no value. |
| 157 | +- Fixed "IsFlipped" computation for native instanced prims. (Issue #1190) |
| 158 | +- Fixed crash when updating a removed primvar. (PR #1223) |
| 159 | +- Fixed crash when reparenting an instance root. (Issue #1245) |
| 160 | +- Fixed various issues with cards prims, including a crash issue. (Issue #1210) |
| 161 | +- Fixed selection encoding/decoding of invisible native instances. |
| 162 | +- Fixed invalidation when changing the "purpose" attribute. (Issue #1243) |
| 163 | + |
| 164 | +### usdview |
| 165 | +- Added "Prototypes" pick mode that selects the prototype for a picked gprim |
| 166 | + in a PointInstancer and highlights the picked instance. |
| 167 | +- Reverted "Prims" and "Instances" pick modes to original behavior of selecting |
| 168 | + the root boundable of the picked object. (Issue #1196) |
| 169 | +- Fixed "Reopen Stage" when usdview was launched with `--norender`. (PR #1192) |
| 170 | +- Fixed camera guide and reticles rendering on high DPI displays. |
| 171 | + |
| 172 | +### Alembic Plugin |
| 173 | +- Fixed conversion of mesh subdivision interpolation options between |
| 174 | + UsdGeomMesh and AbcGeom's ISubD and OSubD schemas. (PR #1246) |
| 175 | + |
| 176 | +### Embree Plugin |
| 177 | +- Removed support for Embree 2.0. The HdEmbree plugin now requires Embree 3. |
| 178 | + |
| 179 | +### MaterialX Plugin |
| 180 | +- Added support for MaterialX 1.37 and deprecated support for 1.36. We |
| 181 | + anticipate requiring 1.37 in a future release. |
| 182 | +- MaterialX "vectorN" datatypes are now translated to USD "floatN" datatypes. |
| 183 | +- Changed default output name from "result" to "out" to match conventions |
| 184 | + in MaterialX specification. |
| 185 | +- Fixed test issue found during Python 3 work. (PR #1161) |
| 186 | + |
| 187 | +### RenderMan Plugin |
| 188 | +- Added support for arbitrary numbers of AOVs in HdPrman. |
| 189 | +- Removed deprecated RenderMan 22 Hydra plugin. |
| 190 | + |
| 191 | +- Material processing now uses SdrShaderNode::GetResolvedImplementationURI to |
| 192 | + locate shaders, which allows it consume shaders identified via |
| 193 | + UsdShadeShader's info:sourceAsset property. |
| 194 | + |
| 195 | +- Modified UsdVol support to allow easier extensions with custom volume plugin |
| 196 | + for RenderMan. |
| 197 | +- Fixed calculation of specularFaceColor in UsdPreviewSurfaceParameters.osl |
| 198 | + to better match the spec. |
| 199 | + |
3 | 200 | ## [20.05] - 2020-04-13 |
4 | 201 |
|
5 | 202 | This release includes initial support for Python 3. Many thanks to our |
|
0 commit comments