|
1 | 1 | # Change Log |
2 | 2 |
|
| 3 | +## [20.11] - 2020-10-14 |
| 4 | + |
| 5 | +### Build |
| 6 | +- Updated CMakeLists.txt to conform to recommended practice. (Issue #1241) |
| 7 | +- The build system now sets `Boost_NO_BOOST_CMAKE=ON` by default to |
| 8 | + work around issues with boost's cmake files. (Issue #1255) |
| 9 | + |
| 10 | +- Various fixes and changes to build_usd.py: |
| 11 | + - Added `--toolset` option for specifying CMake toolset. (PR #1325) |
| 12 | + - Added `--prefer-safety-over-speed` and `--prefer-speed-over-safety` |
| 13 | + options. See below for more details. |
| 14 | + - Fixed issue with building libTIFF with Xcode 12. (PR #1315) |
| 15 | + |
| 16 | +### USD |
| 17 | +- Fixed incorrect underlying container type for TfHashMultiMap. (PR #1281) |
| 18 | +- Fixed invalid conversions of Gf containers like GfVec3f in Python. Note this |
| 19 | + issue is still present in Python 3. (Issue #1290) |
| 20 | +- Fixed various tests to accommodate `PXR_OVERRIDE_PLUGINPATH_NAME`. (PR #1275) |
| 21 | + |
| 22 | +- Added GetExternalAssetDependencies to SdfLayer and SdfFileFormat to allow |
| 23 | + file format plugins to declare additional dependencies that determine when |
| 24 | + a layer produced from that file format should be reloaded. |
| 25 | + |
| 26 | +- Reduced memory usage from SdfPath::GetString and added SdfPath::GetAsString |
| 27 | + and SdfPath::GetAsToken to avoid populating internal caches. (Issue #1287) |
| 28 | + |
| 29 | +- Various fixes to composition behavior: |
| 30 | + - Fixed issues with sub-root references, payloads, and inherits, and |
| 31 | + ancestral variant selections. |
| 32 | + - Fixed issue with payloads on ancestors of sub-root references/payloads. |
| 33 | + - Fixed issue with combinations of root, sub-root, and ancestral inherits. |
| 34 | + |
| 35 | +- Fixed bug in .usda file writer that could cause data corruption. (Issue #1331) |
| 36 | +- Fixed performance issue when writing many relationship targets or attribute |
| 37 | + connections to .usdc files. (Issue #1345) |
| 38 | + |
| 39 | +- Improved performance for certain queries with .usdc files. In one example, |
| 40 | + this decreased draw times in usdview after transform changes by ~90%. |
| 41 | + (Issue #1300) |
| 42 | + |
| 43 | +- New .usdc files now default to version 0.8.0. These files cannot be read in |
| 44 | + USD releases prior to v19.03. Users can revert to writing older versions by |
| 45 | + setting the environment variable `USD_WRITE_NEW_USDC_FILES_AS_VERSION` to an |
| 46 | + older version. |
| 47 | + |
| 48 | +- Added safety checks to guard against reading malformed .usdc files. These |
| 49 | + checks may negatively impact performance and may be disabled by specifying |
| 50 | + `PXR_PREFER_SAFETY_OVER_SPEED=OFF` when running CMake or |
| 51 | + `--prefer-speed-over-safety` with build_usd.py. |
| 52 | + |
| 53 | +- Native instancing "master" prims are now referred to as "prototype" prims. |
| 54 | + The generated paths of prototype prims has been changed from /__Master_<X> |
| 55 | + to /__Prototype_<X>. Clients can use new UsdPrim::IsPrototypePath and |
| 56 | + UsdPrim::IsPathInPrototype API to determine if a given path is related |
| 57 | + to a prototype. |
| 58 | + |
| 59 | + UsdStage and UsdPrim API using "master" terminology like UsdPrim::GetMaster |
| 60 | + and UsdStage::GetMasters have been deprecated and will be removed in a future |
| 61 | + release. |
| 62 | + |
| 63 | +- Added Get/Set/ClearChildrenReorder to UsdPrim for reordering prim children. |
| 64 | +- UsdProperty::FlattenTo now allows flattening properties across stages. |
| 65 | +- Deprecated UsdRelationship::BlockTargets and UsdAttribute::BlockConnections. |
| 66 | + Clients should use SetTargets({}) and SetConnections({}) instead. |
| 67 | +- Changed UsdRelationship::GetTargets and UsdAttribute::GetConnections to return |
| 68 | + false when HasAuthored would return false. |
| 69 | +- Fixed bug where UsdFlattenLayerStack was not applying the asset path |
| 70 | + resolution callback to asset paths in `clips` metadata. (PR #1266) |
| 71 | +- Added UsdNotice::LayerMutingChanged notice. (Issue #676) |
| 72 | +- Fixed resource leak with Usd.PrimCompositionQuery in Python. (PR #1297) |
| 73 | +- Fixed crashes when printing expired Sdf.Layer and Usd.Stage objects in |
| 74 | + Python. (PR #1012) |
| 75 | +- Removed `isPrivateApply` functionality from schema generation. |
| 76 | +- Fixed error in UsdUtilsComputeAllDependencies when an invalid |
| 77 | + templateAssetPath value is specified. (PR #1289) |
| 78 | +- Improved UsdUtilsGetPrimaryUVSetName and UsdUtilsGetPrefName. (PR #1283) |
| 79 | +- Fixed bug in UsdUtilsStitchClips that led to inconsistent stitched results. |
| 80 | + |
| 81 | +- Added CanContainPropertyName to UsdCollectionAPI, UsdGeomPrimvars, |
| 82 | + UsdShadeMaterialBindingAPI, and UsdShadeCoordSysAPI for checking if a |
| 83 | + property name is valid for these schemas. |
| 84 | + |
| 85 | +- Deprecated UsdCollectionAPI::ApplyCollection in favor of Apply. |
| 86 | +- Added fallback values for texture card attributes on UsdGeomModelAPI schema. |
| 87 | +- Added exposure control to UsdGeomCamera. |
| 88 | +- Added ease-of-use API to UsdGeom primitives for querying the size of primary |
| 89 | + geometric properties (e.g. UsdGeomMesh::GetFaceCount). |
| 90 | +- Fixed plugin extent computations for primitives in UsdGeom to respect |
| 91 | + given timecode parameter. (PR #1284) |
| 92 | +- Fixed crash in UsdGeomSubset::GetUnassignedIndices when a given subset had |
| 93 | + negative indices. (Issue #1227) |
| 94 | +- Added UsdShadeNodeDefAPI schema to represent connectable nodes in a graph. |
| 95 | + UsdShadeShader has been modified to build off of this schema. |
| 96 | +- Added UsdShadeConnectableAPIBehavior to allow plugins to customize |
| 97 | + connectability by prim type. |
| 98 | +- Added API to retrieve material outputs for standard terminals in all |
| 99 | + render contexts on UsdShadeMaterial. |
| 100 | +- Added more instancing support to UsdSkel. (PR #1258) |
| 101 | +- Updated UsdVol FieldAsset schemas. |
| 102 | +- Various documentation fixes. (Issue #1162, PR #1335) |
| 103 | + |
| 104 | +### Imaging |
| 105 | +- Added new "sourceColorSpace" input to UsdUVTexture with values "raw", "sRGB", |
| 106 | + and "auto" for better control of with which color space a texture is read. |
| 107 | +- Added ability to use mip maps authored in a file in the new texture system in |
| 108 | + Storm. |
| 109 | +- Added UsdImagingPrimAdapter::ShouldIgnoreNativeInstanceSubtrees() to allow |
| 110 | + adapters to disable instancing of itself and its descendants. |
| 111 | +- Added pre-multiply alpha functionality for UDIM textures. Also added sRGB |
| 112 | + internal formats for UDIMs. |
| 113 | +- Added checks in HioGlslfxConfig to make sure the default value for an |
| 114 | + attribute and its type match. |
| 115 | +- Added HdEngine::ClearTaskContextData() to avoid the task context to hold on to |
| 116 | + resources that are about to become invalid as the render delegate is destroyed. |
| 117 | +- Added HDST_DUMP_FAILING_SHADER_SOURCEFILE debug flag to facilitate shader |
| 118 | + debugging. |
| 119 | +- Added texture filepath resolution for symlinks. |
| 120 | +- Added an "outHitNormal" parameter to UsdImagingGLEngine::TestIntersection(). |
| 121 | +- Added ReloadResource in Storm which reloads shader files when they change. |
| 122 | + |
| 123 | +- Improvements to Hgi: |
| 124 | + - Added Draw, DrawIndirect and DrawIndexedIndirect to Hgi and backends. |
| 125 | + - Added tracking of HgiCmds submission to ensure they only get submitted once. |
| 126 | + - Added TextureCpuToGpu copy on BlitCmd, and CopyBufferGpuToCpu to read back |
| 127 | + the GPU frustum cull results. |
| 128 | + - Added guarantees that HgiGLInterop will restore GL state after interop. |
| 129 | + - Added guarantees that Hgi GPU-GPU sync between SubmitCmds calls. |
| 130 | + - Added TextureView to Hgi and convert domelight to use Hgi compute and |
| 131 | + texture views. |
| 132 | + - Added staging buffer in Hgi to reduce the amount of times small amounts of |
| 133 | + data are copied into the same GPU buffer. |
| 134 | + - Added HgiPrimitiveType, and added HgiSampleCount on HgiPipelineDesc. |
| 135 | + - Added support for BC texture compression. |
| 136 | + - Added component mapping to HgiTextureDesc and implementations for GL and |
| 137 | + Metal. |
| 138 | + - Added ability to share HgiCmds objects in Storm. |
| 139 | + - Added optional wait behavior for command submission in Hgi. |
| 140 | + |
| 141 | +- Changed GLenum usage in GlfBaseTextureData and others to use new HioFormat. |
| 142 | +- Changed Storm's frustum culling to be done via a vertex shader without a |
| 143 | + fragment shader. |
| 144 | +- Changed HdxShadowTask to specify that it should only render opaque and masked |
| 145 | + materials. |
| 146 | +- Changed cards UVs from face-varying to vertex interpolated. |
| 147 | +- Changed to GL_SAMPLE_ALPHA_TO_ONE when using alpha to coverage, the alpha |
| 148 | + computed after the framebuffer resolve is more meaningful. |
| 149 | +- Changed texture cards to require prims with UsdGeomModelAPI schema applied. |
| 150 | +- Changed type of UsdPrimvarReader.varname input from token to string. |
| 151 | +- Renamed various HdSt*GL classes to just HdSt*, this is part of the transition |
| 152 | + of Storm to support multiple rendering APIs. |
| 153 | +- Enabled bindless shadow maps by default in Storm. |
| 154 | +- On first material sync in Storm, now we try to batch prims with identical |
| 155 | + textures together. |
| 156 | +- HdStDrawTarget's preferred mechanism are AOVs not GlfDrawTarget's. This change |
| 157 | + allows us to remove all GlfDrawTarget support from HdStDrawTarget. |
| 158 | +- Since HdStDrawTarget's no longer rely on the resolve task, removing code to |
| 159 | + communicate the draw target task render passes to the resolve task. |
| 160 | +- Deprecated HdSceneDelegate::GetTextureResource and will eventually be removed. |
| 161 | +- An application can now disable the PresentTask in hdx task controller. |
| 162 | +- When imaging basis curves, treat empty normals array the same as missing |
| 163 | + normals (i.e. draw as tube and not ribbon at higher complexities). |
| 164 | +- Store HgiResourceBindings and HgiPipeline objects on HdSt resource registry. |
| 165 | +- Switched (most of) the GPU frustum culling code from raw GL to Hgi. |
| 166 | +- With the addition of HgiMetal, all platforms we currently support (for Storm) |
| 167 | + support color correction and 16F targets. |
| 168 | +- Use BufferResource for GPU frustum cull result buffer so we can use the |
| 169 | + regular buffer binding APIs. |
| 170 | +- Load mipmap data in HgiMetal textures. |
| 171 | +- Changed signature of HgiDataSizeOfFormat so that it can return blockWidth and |
| 172 | + blockHeight. Returning block size in bytes for compressed formats. |
| 173 | +- Describe shader constants (push constants) in pipeline. |
| 174 | +- Using HgiCompute in smooth normals computation, switched flat normals and |
| 175 | + quadrangulate to HgiCompute, and converted HdStExtCompGpuComputation to Hgi. |
| 176 | + |
| 177 | +- Removed UsdImaging value cache API for all data except primvar descriptors and |
| 178 | + instance indices. |
| 179 | +- Removed unused hitMode field from HdxPickTaskContextParams. |
| 180 | +- Removed UsdImagingGLEngine::InvalidateBuffers(). |
| 181 | +- Removed pre-multiply alpha behavior from volume.glslfx and changed |
| 182 | + renderPass.glslfx to allow fully transparent but still emissive volumes. |
| 183 | +- Removed pre-multiply alpha behavior from stb_image and make it optional via |
| 184 | + SubtextureIdentifier within the HdSt texture system. |
| 185 | +- Removed support of old-style draw targets using GlfDrawTarget instead of AOVs |
| 186 | + and render buffers. |
| 187 | +- Removed UsdUvTexture's rgba output, and updated the cards draw mode to now use |
| 188 | + "rgb" and "a" outputs rather than rgba. |
| 189 | +- Removed ReloadAllShaders from HdEngine. |
| 190 | +- Removed HD_DRAWITEM_DRAWN as it uses raw gl calls that map/unmap a buffer. |
| 191 | +- Removed HgiPipelineType. We split HgiPipeline into HgiComputePipeline and |
| 192 | + HgiGraphicsPipeline a little bit ago. |
| 193 | +- Removed resource bindings handle from pipeline. |
| 194 | +- Removed smooth normals CPU fallback path. Since previous releases required |
| 195 | + OpenGL 4.5 for Hgi to work, OpenGL compute must always be available. |
| 196 | +- Removed HdBinding::TBO. |
| 197 | +- Removed the implicit barriers from Hgi and let the external client manage |
| 198 | + synchronization via SubmitCmds. |
| 199 | + |
| 200 | +- Fixed potential dead-lock caused by parallel loading plugins. |
| 201 | +- Fixed lights to be turned off when invisible in UsdImaging. |
| 202 | +- Fixed issue with UsdImagingGLEngine::TestIntersection such that it now |
| 203 | + correctly populates. Callers of this function are reminded to provide the |
| 204 | + "frame" field in UsdImagingGLRenderParams for correct and performant results. |
| 205 | +- Fixed handling of computed primvar sources for meshes. |
| 206 | +- Fixed normals after complexity change. |
| 207 | +- Fixed HgiGL garbage collector leak when Hgi is recreated during process. |
| 208 | +- Fixed HgiGL to better protect against long labels when using glObjectLabel. |
| 209 | +- Fixed render settings behaviors so we test whether or not we're really |
| 210 | + changing anything before incrementing the settings version. |
| 211 | +- Fixed for cycle detection in material network processing. |
| 212 | +- Fixed Glf lighting resource binding. |
| 213 | +- Fixed USD edit dependency tracking for cards prims. |
| 214 | + |
| 215 | +- Updated UsdPreviewSurface clearcoat calculations to better match expected |
| 216 | + inputs for a specular lobe in Storm, and added clearcoat component to indirect |
| 217 | + lighting calculation in Storm. (Issue #1307) |
| 218 | +- Added support for UsdPreviewSurface's opacityThreshold parameter in |
| 219 | + Storm. (Issue #990) |
| 220 | +- Added support for normal mapping for UsdPreviewSurfaces in Storm. (Issue #701) |
| 221 | +- Metallic materials should have an F0 equal to their base color in |
| 222 | + UsdPreviewSurface in Storm. (Issue #1174) |
| 223 | + |
| 224 | +- Removed pre-multiplication behavior from OIT resolve shader. The preview |
| 225 | + surface (and other shaders) pre-multiply within the fragment shader (unless |
| 226 | + the "diffuseColor" and "opacity" params are connected to the same |
| 227 | + texture). (Issue #1269) |
| 228 | + |
| 229 | +- Added support for UDIM texture scale and bias in Storm. (Issue #1129) |
| 230 | +- Converted render index to usdImaging cachePath before calling the adapter |
| 231 | + InvokeComputation method. (Issue #1333) |
| 232 | +- Fix draw mode adapter handling of transforms for instanced card prims. (Issue #1251) |
| 233 | +- _IsVarying no longer clears dirty bit and now ProcessPropertyChange is filled |
| 234 | + out to provide more efficiency. (Issue #1250) |
| 235 | + |
| 236 | +### usdview |
| 237 | +- Added 'Enable Scene Lights' option. |
| 238 | +- Changed UI to use bundled Roboto and Roboto Mono fonts. |
| 239 | +- Fixed build issues due to stricter checks in PySide2 5.15.1. (PR #1320) |
| 240 | + |
| 241 | +### Alembic Plugin |
| 242 | +- Alembic uv's are now converted to texCoord2f[] primvars:st. This can |
| 243 | + be disabled by setting the `USD_ABC_WRITE_UV_AS_ST_TEXCOORD2FARRAY` |
| 244 | + environment variable to 0. |
| 245 | + |
| 246 | +### RenderMan Plugin |
| 247 | +- Fixed infinite loop in material processing. |
| 248 | +- Initial implementation of exposure. |
| 249 | +- Volumes can react to changes to a field prim. |
| 250 | +- Fixed UsdUVTexture wrap mode support. |
| 251 | +- Add support for UsdPreviewSurface's opacityThreshold param in HdPrman. (Issue #990) |
| 252 | +- Updated UsdPreviewSurface clearcoat calculations to better match expected |
| 253 | + inputs for a specular lobe in HdPrman. (Issue #1307) |
| 254 | +- Metallic materials should have an F0 equal to their base color in |
| 255 | + UsdPreviewSurface in HdPrman. (Issue #1174) |
| 256 | + |
3 | 257 | ## [20.08] - 2020-07-21 |
4 | 258 |
|
5 | 259 | ### Build |
|
0 commit comments