Revision 14fbb8b by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) March 5, 2021, 21:46 (GMT) |
USD Import: made USDPrimReader destructor virtual. |
Revision 5f74fc9 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) March 5, 2021, 20:53 (GMT) |
USD Import: USD Preview conversion. Added experimental Import USD Preview option to convert UsdPreviewSurface shaders to Principled BSD shader networks, for an approximate preview. Added new USDMaterialReader class, which implements this feature. Also added a Set Material Blend option to automatically set the material blend method based on the UsdPreviewSurface shader's opacity and opacityThreshold inputs. Finally, updated the logic so that no materials will be imported if the Materials option is not checked. |
Revision 92ed7f3 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) March 5, 2021, 02:43 (GMT) |
USD Import: USDPrimReader uninitialized members. Fixed bug where several USDPrimReader class member variables were not being intialized in the constructor. One of the previously uninitialized variables stores the reference count, which was causing memory leaks in some cases. |
Revision 4c68390 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) March 5, 2021, 01:54 (GMT) |
USD Import: UV fixes. Made the following updates to fix UV import errors: Added logic to read UVs with Vertex interpolation and indexed UVs. Fixed incorrect UV winding order for left-handed orientation. |
Revision 4af44ff by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) March 3, 2021, 15:10 (GMT) |
USD Import: Minor instancing fixes. Small edit to the Instancing import option parameter description. Now allowing setting null instance collection on USDInstanceReader objects. |
Revision 03d200a by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) March 3, 2021, 14:52 (GMT) |
Formatting fixes. |
Revision 8b9275d by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) March 3, 2021, 05:07 (GMT) |
USD Import: support instance collections. Added an experimental Instancing option to support importing USD scenegraph instances as Blender instanced collections. |
Revision 2081b95 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 17, 2021, 16:24 (GMT) |
USD Importer: dependency graph update crash. Fixed occasional random crash due to simultaneous update to the dependency graph from multiple threads. A typical collision might happen when the USD import job thread is creating a material while the window manager in the main thread is processing event notifiers. The current fix is to remove the ND_FRAME flag from the call to WM_jobs_timer(), which prevents ED_update_for_newframe() from being called from wm_event_do_notifiers(). |
Revision dff24cf by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 16, 2021, 22:37 (GMT) |
USD import: uniform interpolation normals. Added logic to import USD normals with uniform interpolation (i.e., per-face normals) as Blender loop normals. |
Revision 84bb4fc by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 12, 2021, 20:18 (GMT) |
USD import: convert UsdGeomImageables only. Currently, the importer converts every node in the USD to a Blender Empty object by default, including nodes that aren't of UsdGeomImageable type, such as materials and shaders. This can unnecessarily bloat the Blender scene with nodes that are not immediately useful. I've added logic to restrict conversion to nodes that are UsdGeomImageables, and this can have a dramatic effect in some cases. For exmaple, the number of nodes imported in the Attic scene is reduced from 1,025 to 238 with this change. |
Revision 0f84fbd by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 11, 2021, 21:47 (GMT) |
USD import: xform cache constraint parenting bug. USD_get_transform() was not taking the object's parent transform into account. Now following the same logic as in the corresponding Alembic implementation, ABC_get_transform(), to fix this. |
Revision 57c32a5 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 10, 2021, 23:10 (GMT) |
USD Import: Visible Prims Only flag. Added new option to prune primitives by visibility. If this option is enabled, invisible prims will be excluded from the traversal. This only applies to prims with a non-animating visibility attribute. Prims with animating visibility will always be imported. |
Revision 63adcda by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 8, 2021, 21:14 (GMT) |
Apply orientation when importing USD normals. Also added check to ensure normal and loop counts match. |
Revision b16b847 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 8, 2021, 20:29 (GMT) |
USD import: orientation bug. Uninitialized USDMeshReader::m_isLeftHanded flag was causing the vertex winding orientation to randomly flip, causing incorrect shading and other issues. |
Revision a9b77cb by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 8, 2021, 17:59 (GMT) |
USD import: handle primvars:normals if specified. Per Pixar UsdGeomPointBased documentation: If 'normals' and 'primvars:normals' are both specified, the latter has precedence. |
Revision 17cd9ad by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 8, 2021, 16:58 (GMT) |
USD import: Handle empty vertex-varying normals. If point normals are empty, now invoking BKE_mesh_calc_normals() to avoid black renders. Since BKE_mesh_calc_normals() requires edges to be defined, moving point normal calculation to follow reading polys. |
Revision f45dac3 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 7, 2021, 00:24 (GMT) |
USD importer: vertex normals render black. Setting point normals by invoking normal_float_to_short_v3(), instead of directly assigning components as floats. |
Revision 8eef5de by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 6, 2021, 03:48 (GMT) |
USD importer: custom normals shading bug. Removed call to BKE_mesh_calc_edges() after setting UVs, as this function is already called after setting polys. Moreover, the second, redundant call was causing incorrect viewport shading of previously set custom normals. Now also setting the ME_AUTOSMOOTH mesh flag to enable shading with custom normals. |
Revision 6a2e29f by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 4, 2021, 21:23 (GMT) |
USD importer stage traversal options. Added new stage traversal options to filter prim import based on purpose (guide, proxy and render) and whether to traverse instances with instance proxies. Also modified the stage traversal logic to avoid a small memory leak due to creating a reader for the pseudo root which is never used or deleted. |
Revision 3f03983 by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) January 16, 2021, 05:12 (GMT) |
Fixed compile errors. Registering USD plugins. |
|