Skip to content

Commit 32ca7df

Browse files
committed
Merge release v19.07
2 parents 38c70fb + a6f7745 commit 32ca7df

File tree

1,115 files changed

+96228
-20137
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,115 files changed

+96228
-20137
lines changed

BUILDING.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,20 @@ Embree 2.16.1. The additional dependencies that must be supplied when invoking c
182182
| -------------- | ----------------------------------- | ------- |
183183
| EMBREE_LOCATION | The root path to an embree library install. | 2.16.1 |
184184

185+
##### RenderMan Rendering
186+
187+
This plugin uses Pixar's RenderMan as a rendering backend for Hydra and
188+
usdview. Enable the plugin in the build by specifying the cmake flag
189+
```PXR_BUILD_PRMAN_PLUGIN=TRUE``` when invoking cmake. This plugin is
190+
compatible with RenderMan 22.5. The additional dependencies that must be
191+
supplied when invoking cmake are:
192+
193+
| Dependency Name | Description | Version |
194+
| -------------- | ----------------------------------- | ------- |
195+
| RENDERMAN_LOCATION | The root path to an RenderMan install. | 22.5 |
196+
197+
More documentation is available [here](http://openusd.org/docs/RenderMan-USD-Imaging-Plugin.html).
198+
185199
## Third Party Plugins
186200

187201
USD provides several plugins for integration with third-party software packages,

CHANGELOG.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,130 @@
11
# Change Log
22

3+
## [19.07] - 2019-06-17
4+
5+
### Build
6+
- Improved detection of GLEW and Ptex libraries during build. (PR #808)
7+
- Fixed bug in build_usd.py that caused errors when specifying the
8+
"Xcode" CMake generator.
9+
10+
### USD:
11+
- Various optimizations and cleanups in trace library.
12+
- Added iterator-based construction for VtArray. (PR #644)
13+
- Added Python bindings for ArResolver::RefreshContext. (PR #820)
14+
- Fixed incorrect results from NdrRegistry::GetAllNodeSourceTypes.
15+
- Removed unused spec types from Sdf.
16+
- Reimplemented SdfPath. The new implementation dramatically improves the
17+
performance of creating property paths, which is a key part of value
18+
resolution.
19+
- SdfFileFormat::IsStreamingLayer was moved to SdfAbstractData::StreamsData.
20+
SdfAbstractData implementations are now responsible for expressing
21+
whether they stream data from their back-end instead of SdfFileFormat.
22+
- Added file format arguments to SdfLayer::CreateAnonymous to match CreateNew.
23+
- Fixed bug where strings in scene description that look like format
24+
specifiers would be interpreted as such during .usda output.
25+
- Added dynamic payloads feature. Dynamic payloads allow file formats to
26+
procedurally generate a layer using metadata authored on the prim where the
27+
layer is introduced via a payload arc. See examples and "Advanced Features"
28+
documentation for more details.
29+
- Fixed erroneous composition cycle detection for subroot references to
30+
sibling prims across reference boundaries.
31+
- Added support for "schemaTokens" customData entry in schema.usda. This
32+
allows developers to associate tokens with a particular schema for clarity
33+
and organization. These tokens will continue to be emitted into the
34+
standard tokens.h and tokens.cpp files in each schema library.
35+
- Removed deprecated UsdListPositionTempDefault and USD_AUTHOR_OLD_STYLE_ADD
36+
environment variable.
37+
- Improved error detection for truncated .usdc files.
38+
- Improved error messages and debug output for USD schema generation.
39+
(PR #427, PR #478)
40+
- Fixed various issues that caused build errors on Windows. (Issue #812)
41+
- Fixed bug that caused corrupt .usdc files to be created in certain rare
42+
cases. (Issue #811)
43+
- Fixed bug where asset-valued stage metadata would not be resolved.
44+
- Calling Usd.Prim.IsDefined on a null prim in Python now raises a
45+
Python exception. (Issue #753)
46+
- Fixed bug in UsdUtils dependency extraction and .usdz creation where
47+
asset dependencies in layer metadata were ignored.
48+
- Improved integer encoding and fixed a source of non-deterministic output
49+
in .usdc file format. (Issue #830)
50+
- Added ability to usdcat to only show layer metadata via --layerMetadata
51+
command-line flag.
52+
- UsdGeomBasisCurves schema now accepts "pinned" as a valid value for
53+
wrapping to represent pinned curves.
54+
- UsdGeomPointInstancer will now use the "append" list op when authoring
55+
inactiveIds metadata instead of the deprecated "added" list op. This
56+
behavior can be reverted by setting the environment variable
57+
`USDGEOM_POINTINSTANCER_NEW_APPLYOPS` to 0, but this will be removed
58+
in a future release.
59+
- Added UsdShadeCoordSysAPI schema for representing coordinate systems.
60+
- Added shaping:ies:normalize attribute to UsdLuxShapingAPI.
61+
- Numerous fixes and improvements to UsdSkel schemas.
62+
63+
### Imaging:
64+
- Added early version of RenderMan Hydra render delegate with support for
65+
geometry,material networks, lights, volumes, coordinate systems and more!
66+
- Added support for coordinate systems in Hydra and UsdImaging.
67+
- Added support for categories per instance in Hydra to support light linking
68+
to individual instances.
69+
- Added order independent transparency (OIT) to Hydra GL.
70+
- Added support for backend-independent picking and highlighting.
71+
- Improved Hydra support for scenegraph cameras.
72+
- Added support for instance-rate primvar queries in Hydra GL shading code.
73+
- Added support for generating normals for picking hits in Hydra GL.
74+
- Added "DontConform" camera window policy.
75+
- Added support for picking points in Hydra GL.
76+
- Added depth compositing to HdxColorizeTask.
77+
- Render delegates can now access "velocities" attribute on point-based schemas.
78+
(PR #824)
79+
- Refactored and clarified use of "path" and "prim" terminology in UsdImaging.
80+
- Removed HdChangeTracker::MarkAllCollectionsDirty
81+
- Removed render tags API from HdRprimCollection. They have become a Hydra
82+
task concept.
83+
- Fixed instancing-related crashes in UsdImaging. (Issue #838, Issue #847)
84+
- Added usdAppUtils library containing common functionality and utilities
85+
for applications that view USD stages.
86+
- Added initial version of usdrecord command line tool for generating images
87+
from a USD file.
88+
- Added "debug flags" configuration dialog in usdview.
89+
- Added ability to specify first/last/current frame when launching usdview
90+
via "--ff", "--lf", and "--cf" command line parameters. (PR #832)
91+
- Numerous correctness, interaction, and performance improvements to usdview's
92+
transport control (frame slider). (PR #770)
93+
94+
### Alembic Plugin:
95+
- Added support for Alembic 1.7.9. (PR #825)
96+
97+
### Houdini Plugin:
98+
- Support for Houdini 16.0 is deprecated. We anticipate bumping the minimum
99+
version requirement to 16.5 and dropping 16.0 support in the next release.
100+
- Fixed bug which could cause visibility to be incorrect.
101+
- Added support for export of additional primvar types.
102+
- Fixed bug which could cause incorrect attribute typeinfo when importing
103+
array attributes.
104+
- Added support for additional OSD subdiv interpolation tags.
105+
- Added support for targeting the default prim on import via a reserved
106+
"defaultPrim" prim path.
107+
- Miscellaneous improvements for converting between UsdSkel and Agent
108+
primitives.
109+
110+
### Katana Plugin:
111+
- Added support for reading and resolving collection-based material bindings to
112+
PxrUsdIn. This is done as a two stage process in which bindings (for the
113+
purposes specified in "additionalBindingPurposeNames") are added within a
114+
"usd.materialBindings" group attribute. The PxrUsdInResolveMaterialBindings
115+
node (and its corresponding Op) transfers a purpose's binding to the
116+
system-level "materialAssign" attribute and optionally filters inherited
117+
redundancy.
118+
- The "info.usd" attributes which advertise which API schemas are applied can
119+
be created in either array or group attribute form. The latter is convenient
120+
to match against via CEL.
121+
122+
### Maya Plugin:
123+
- Add support for exporting assembly edits on pxrUsdReferenceAssembly nodes.
124+
- Expose controls for tweaking selection parameters in pxrHdImagingShape.
125+
- Importing shaders and lights will use mel commands to property add shaders
126+
to hypershade and lights to the defaultLightSet.
127+
3128
## [19.05] - 2019-04-10
4129

5130
### Build

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ if (${PXR_BUILD_HOUDINI_PLUGIN})
6767
add_subdirectory(third_party/houdini)
6868
endif()
6969

70+
if (${PXR_BUILD_PRMAN_PLUGIN})
71+
add_subdirectory(third_party/renderman-${RENDERMAN_VERSION_MAJOR})
72+
endif()
73+
7074
if (${PXR_BUILD_DOCUMENTATION})
7175
# Ensure we have doxygen+graphviz available
7276
find_program(DOXYGEN_EXECUTABLE

LICENSE.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,3 +447,16 @@ AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
447447
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
448448
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
449449

450+
============================================================
451+
pugixml
452+
============================================================
453+
454+
MIT License
455+
456+
Copyright (c) 2006-2019 Arseny Kapoulkine
457+
458+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
459+
460+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
461+
462+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

build_scripts/build_usd.py

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,16 @@ def CopyDirectory(context, srcDir, destDir):
243243
.format(srcDir=srcDir, destDir=instDestDir))
244244
shutil.copytree(srcDir, instDestDir)
245245

246+
def FormatMultiProcs(numJobs, generator):
247+
tag = "-j"
248+
if generator:
249+
if "Visual Studio" in generator:
250+
tag = "/M:"
251+
elif "Xcode" in generator:
252+
tag = "-j "
253+
254+
return "{tag}{procs}".format(tag=tag, procs=numJobs)
255+
246256
def RunCMake(context, force, extraArgs = None):
247257
"""Invoke CMake to configure, build, and install a library whose
248258
source code is located in the current working directory."""
@@ -301,10 +311,7 @@ def RunCMake(context, force, extraArgs = None):
301311
extraArgs=(" ".join(extraArgs) if extraArgs else "")))
302312
Run("cmake --build . --config {config} --target install -- {multiproc}"
303313
.format(config=config,
304-
multiproc=("/M:{procs}"
305-
if generator and "Visual Studio" in generator
306-
else "-j{procs}")
307-
.format(procs=context.numJobs)))
314+
multiproc=FormatMultiProcs(context.numJobs, generator)))
308315

309316
def PatchFile(filename, patches, multiLineMatches=False):
310317
"""Applies patches to the specified file. patches is a list of tuples
@@ -1111,6 +1118,14 @@ def InstallUSD(context, force, buildArgs):
11111118
extraArgs.append('-DPXR_BUILD_EMBREE_PLUGIN=ON')
11121119
else:
11131120
extraArgs.append('-DPXR_BUILD_EMBREE_PLUGIN=OFF')
1121+
1122+
if context.buildPrman:
1123+
if context.prmanLocation:
1124+
extraArgs.append('-DRENDERMAN_LOCATION="{location}"'
1125+
.format(location=context.prmanLocation))
1126+
extraArgs.append('-DPXR_BUILD_PRMAN_PLUGIN=ON')
1127+
else:
1128+
extraArgs.append('-DPXR_BUILD_PRMAN_PLUGIN=OFF')
11141129

11151130
if context.buildOIIO:
11161131
extraArgs.append('-DPXR_BUILD_OPENIMAGEIO_PLUGIN=ON')
@@ -1355,6 +1370,14 @@ def InstallUSD(context, force, buildArgs):
13551370
group.add_argument("--embree-location", type=str,
13561371
help="Directory where Embree is installed.")
13571372
subgroup = group.add_mutually_exclusive_group()
1373+
subgroup.add_argument("--prman", dest="build_prman", action="store_true",
1374+
default=False,
1375+
help="Build Pixar's RenderMan imaging plugin")
1376+
subgroup.add_argument("--no-prman", dest="build_prman", action="store_false",
1377+
help="Do not build Pixar's RenderMan imaging plugin (default)")
1378+
group.add_argument("--prman-location", type=str,
1379+
help="Directory where Pixar's RenderMan is installed.")
1380+
subgroup = group.add_mutually_exclusive_group()
13581381
subgroup.add_argument("--openimageio", dest="build_oiio", action="store_true",
13591382
default=False,
13601383
help="Build OpenImageIO plugin for USD")
@@ -1508,6 +1531,9 @@ def __init__(self, args):
15081531
self.buildEmbree = self.buildImaging and args.build_embree
15091532
self.embreeLocation = (os.path.abspath(args.embree_location)
15101533
if args.embree_location else None)
1534+
self.buildPrman = self.buildImaging and args.build_prman
1535+
self.prmanLocation = (os.path.abspath(args.prman_location)
1536+
if args.prman_location else None)
15111537
self.buildOIIO = args.build_oiio
15121538
self.buildOCIO = args.build_ocio
15131539

@@ -1741,6 +1767,7 @@ def ForceBuildDependency(self, dep):
17411767
Ptex support: {enablePtex}
17421768
OpenImageIO support: {buildOIIO}
17431769
OpenColorIO support: {buildOCIO}
1770+
PRMan support: {buildPrman}
17441771
UsdImaging {buildUsdImaging}
17451772
usdview: {buildUsdview}
17461773
Python support {buildPython}
@@ -1789,6 +1816,7 @@ def FormatBuildArguments(buildArgs):
17891816
enablePtex=("On" if context.enablePtex else "Off"),
17901817
buildOIIO=("On" if context.buildOIIO else "Off"),
17911818
buildOCIO=("On" if context.buildOCIO else "Off"),
1819+
buildPrman=("On" if context.buildPrman else "Off"),
17921820
buildUsdImaging=("On" if context.buildUsdImaging else "Off"),
17931821
buildUsdview=("On" if context.buildUsdview else "Off"),
17941822
buildPython=("On" if context.buildPython else "Off"),
@@ -1885,3 +1913,7 @@ def FormatBuildArguments(buildArgs):
18851913
if context.buildHoudini:
18861914
Print("See documentation at http://openusd.org/docs/Houdini-USD-Plugins.html "
18871915
"for setting up the Houdini plugin.\n")
1916+
1917+
if context.buildPrman:
1918+
Print("See documentation at http://openusd.org/docs/RenderMan-USD-Imaging-Plugin.html "
1919+
"for setting up the RenderMan plugin.\n")

cmake/defaults/Options.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ option(PXR_BUILD_KATANA_PLUGIN "Build usd katana plugin" OFF)
3535
option(PXR_BUILD_MAYA_PLUGIN "Build usd maya plugin" OFF)
3636
option(PXR_BUILD_ALEMBIC_PLUGIN "Build the Alembic plugin for USD" OFF)
3737
option(PXR_BUILD_HOUDINI_PLUGIN "Build the Houdini plugin for USD" OFF)
38+
option(PXR_BUILD_PRMAN_PLUGIN "Build the PRMan imaging plugin" OFF)
3839
option(PXR_BUILD_MATERIALX_PLUGIN "Build the MaterialX plugin for USD" OFF)
3940
option(PXR_BUILD_DOCUMENTATION "Generate doxygen documentation" OFF)
4041
option(PXR_ENABLE_GL_SUPPORT "Enable OpenGL based components" ON)
@@ -196,3 +197,11 @@ if (${PXR_BUILD_HOUDINI_PLUGIN})
196197
set(PXR_BUILD_HOUDINI_PLUGIN "OFF" CACHE BOOL "" FORCE)
197198
endif()
198199
endif()
200+
201+
if (${PXR_BUILD_PRMAN_PLUGIN})
202+
if (NOT ${PXR_BUILD_IMAGING})
203+
message(STATUS
204+
"Setting PXR_BUILD_PRMAN_PLUGIN=OFF because PXR_BUILD_IMAGING=OFF")
205+
set(PXR_BUILD_PRMAN_PLUGIN "OFF" CACHE BOOL "" FORCE)
206+
endif()
207+
endif()

cmake/defaults/Packages.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@ if (PXR_BUILD_HOUDINI_PLUGIN)
157157
find_package(Houdini REQUIRED)
158158
endif()
159159

160+
if (PXR_BUILD_PRMAN_PLUGIN)
161+
find_package(Renderman REQUIRED)
162+
endif()
163+
160164
if (PXR_BUILD_ALEMBIC_PLUGIN)
161165
find_package(Alembic REQUIRED)
162166
find_package(OpenEXR REQUIRED)

cmake/defaults/Version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@
2424
# Versioning information
2525
set(PXR_MAJOR_VERSION "0")
2626
set(PXR_MINOR_VERSION "19")
27-
set(PXR_PATCH_VERSION "5")
27+
set(PXR_PATCH_VERSION "7")

cmake/macros/Private.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,8 +1190,8 @@ function(_pxr_library NAME)
11901190
# these libraries are not separately loadable at runtime. In these cases,
11911191
# we don't need to specify the library's location, so we leave
11921192
# pluginToLibraryPath empty.
1193-
if(";${PXR_CORE_LIBS};" MATCHES ";${NAME};")
1194-
if (NOT _building_monolithic AND NOT args_TYPE STREQUAL "STATIC")
1193+
if(NOT args_TYPE STREQUAL "STATIC")
1194+
if(NOT (";${PXR_CORE_LIBS};" MATCHES ";${NAME};" AND _building_monolithic))
11951195
file(RELATIVE_PATH
11961196
pluginToLibraryPath
11971197
${CMAKE_INSTALL_PREFIX}/${pluginInstallPrefix}/${NAME}

cmake/modules/FindGLEW.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@ if (${CMAKE_HOST_UNIX})
8585
GLEW glew
8686
HINTS
8787
"${GLEW_LOCATION}/lib"
88+
"${GLEW_LOCATION}/lib64"
8889
"$ENV{GLEW_LOCATION}/lib"
90+
"$ENV{GLEW_LOCATION}/lib64"
8991
PATHS
9092
"${GLEW_LOCATION}/lib"
9193
/usr/lib64

0 commit comments

Comments
 (0)