blender/intern/cycles/hydra
Patrick Mours f60cffad38 Cycles: Use USD dependencies when building Hydra render delegate
Adds support for linking with some of the dependencies of a USD
build instead of the precompiled libraries from Blender, specifically
OpenSubdiv, OpenVDB and TBB. Other dependencies keep using the
precompiled libraries from Blender, since they are linked statically
anyway so it does't matter as much. Plus they have interdependencies
that are difficult to resolve when only using selected libraries from
the USD build and can't simply assume that USD was built with all
of them.

This patch also makes building the Hydra render delegate via the
standalone repository work and fixes various small issues I ran into
in general on Windows (e.g. the use of both fixed paths and
`find_package` did not seem to work correctly). Building both the
standalone Cycles application and the Hydra render delegate at the
same time is supported now as well (the paths in the USD plugin JSON
file are updated accordingly).

All that needs to be done now to build is to specify a `PXR_ROOT`
or `USD_ROOT` CMake variable pointing to the USD installation,
everything else is taken care of automatically (CMake targets are
loaded from the `pxrTargets.cmake` of USD and linked into the
render delegate and OpenSubdiv, OpenVDB and TBB are replaced
with those from USD when they exist).

Differential Revision: https://developer.blender.org/D14523
2022-04-05 17:23:52 +02:00
..
resources
attribute.cpp
attribute.h
camera.cpp Cycles: Use USD dependencies when building Hydra render delegate 2022-04-05 17:23:52 +02:00
camera.h
CMakeLists.txt Cycles: Use USD dependencies when building Hydra render delegate 2022-04-05 17:23:52 +02:00
config.h Cycles: Use USD dependencies when building Hydra render delegate 2022-04-05 17:23:52 +02:00
curves.cpp
curves.h Cleanup: clang-format 2022-03-24 11:01:12 +01:00
display_driver.cpp
display_driver.h
field.cpp Cycles: Use USD dependencies when building Hydra render delegate 2022-04-05 17:23:52 +02:00
field.h
geometry.h
geometry.inl
instancer.cpp
instancer.h
light.cpp
light.h
material.cpp Cycles: Use USD dependencies when building Hydra render delegate 2022-04-05 17:23:52 +02:00
material.h Cycles: Use USD dependencies when building Hydra render delegate 2022-04-05 17:23:52 +02:00
mesh.cpp
mesh.h Cleanup: clang-format 2022-03-24 11:01:12 +01:00
node_util.cpp Cycles: Use USD dependencies when building Hydra render delegate 2022-04-05 17:23:52 +02:00
node_util.h Cleanup: clang-format 2022-03-24 11:01:12 +01:00
output_driver.cpp
output_driver.h
plugin.cpp
plugin.h
plugInfo.json
pointcloud.cpp
pointcloud.h Cleanup: clang-format 2022-03-24 11:01:12 +01:00
render_buffer.cpp
render_buffer.h
render_delegate.cpp
render_delegate.h
render_pass.cpp
render_pass.h
session.cpp
session.h
volume.cpp
volume.h Cleanup: clang-format 2022-03-24 11:01:12 +01:00