This patch is a first step toward a USD Cycles procedural node. While the current approach of rendering an USD in Cycles through an Hydra plugin is neat, it does require the Hydra layer, while a procedural would allow a more direct integration. This procedural is by no mean complete and is marked WIP to start a discussion / link to what has been decided, get comments, make baby steps toward a potentially mergeable patch and define what minimal feature set should be implemented before this patch is considered mergable.
Currently only non-animated, non-shaded, triangulized (no suddiv) meshes are supported as one Object / Geometry per USD mesh, and nothing is cached.
The build could largely be improved:
- cmake's WITH_BLENDER is relied on to install the datafiles/usd folder where the USD plugin lives. It is then currently impossible to build cycles standalone without blender.
- the functions to find the datafiles/usd folder are in blender, not cycles. As such there is a temporary, somewhat hardcoded way to register the USD plugins.