USD export: prototype invoking Python chasers #108823

Merged
Michael Kowalski merged 35 commits from makowalski/blender:test-usd-export-chaser into main 2023-08-07 23:02:54 +02:00

35 Commits

Author SHA1 Message Date
Michael Kowalski 54ee7c863b Fixed return value in USD hook example.
buildbot/vexp-code-patch-coordinator Build done. Details
2023-08-07 14:23:58 -04:00
Michael Kowalski 131b3ef8e6 USD: hook function boolean return value.
Now expecting boolean return value when invoking
the Python hooks.
2023-08-07 14:18:43 -04:00
Michael Kowalski 1b65803c71 USD: call material export hooks.
Now calling material export hooks from create_usd_material(),
to be consistent with the latest USD material export code
refactoring.
2023-08-07 13:22:40 -04:00
Michael Kowalski ad5c8c427f Merge branch 'main' into test-usd-export-chaser 2023-08-07 13:11:20 -04:00
Michael Kowalski 3347c702ca Merge branch 'main' into test-usd-export-chaser 2023-08-07 11:56:33 -04:00
Michael Kowalski fa6b9f75cc USD hook: minor edit to error message.
buildbot/vexp-code-patch-coordinator Build done. Details
2023-07-30 13:35:06 -04:00
Michael Kowalski 559b60be2f USD hooks: format fixes. 2023-07-30 13:20:56 -04:00
Michael Kowalski 51d1388bea USD hooks: simplify error reporting.
Now calling PyErr_Print() to print Python exception
details to the console.
2023-07-30 13:03:34 -04:00
Michael Kowalski 9bb6b2e71e USD hooks: fix build errors. 2023-07-30 12:15:20 -04:00
Michael Kowalski c857da4917 Merge branch 'main' into test-usd-export-chaser 2023-07-30 09:40:21 -04:00
Michael Kowalski 5f8e7f54d2 Merge branch 'main' into test-usd-export-chaser 2023-07-26 17:53:45 -04:00
Michael Kowalski f196544ba8 USD hooks: format fixes.
buildbot/vexp-code-patch-coordinator Build done. Details
2023-07-26 11:49:38 -04:00
Michael Kowalski 5ee8d975fd USD: Add comments, rename hook invoker classes. 2023-07-26 11:40:11 -04:00
Michael Kowalski aa6768cda2 Format fixes. 2023-07-26 00:42:41 -04:00
Michael Kowalski 97f47fba6c USD hooks: Fixed typos in Python example. 2023-07-26 00:40:54 -04:00
Michael Kowalski 37d4f38f52 USD hooks: revise on_material_export() signature.
The on_material_export() callback now takes the Blender
and USD materials as separate arguments.

Also, the hook functions are now staticmethods.
2023-07-26 00:25:22 -04:00
Michael Kowalski 32a6943aa3 Merge branch 'main' into test-usd-export-chaser 2023-07-25 17:07:27 -04:00
Michael Kowalski c34e73e15a USD export hook: handle exceptions.
Added logic to report USD hook call exceptions as
Blender errors.
2023-07-16 22:24:07 -04:00
Michael Kowalski 3ff92546f0 Merge branch 'main' into test-usd-export-chaser 2023-07-16 17:36:31 -04:00
Michael Kowalski 8f4b0d6451 USD: hook example minor edits.
buildbot/vexp-code-patch-coordinator Build done. Details
2023-06-29 16:22:56 -04:00
Michael Kowalski 78dcbcb341 USD hook: Added USDHook python example. 2023-06-29 15:37:48 -04:00
Michael Kowalski 45a2a72903 USD: format fixes. 2023-06-29 11:31:04 -04:00
Michael Kowalski 8c2e4ba22a USD: fixes to USD rna
Per review comments by Brecht, fixes to the USDHook
RNA definitions.
2023-06-29 11:20:16 -04:00
Michael Kowalski e6959bf152 Merge branch 'main' into test-usd-export-chaser 2023-06-29 07:47:03 -04:00
Michael Kowalski 387485c0fa USD: support material export hooks.
Added a USDMaterialExportContext class to be provided
as an argument when invoking the on_material_export()
hook function.  Now invoking this material export hook
when converting materials.

Also, unrelated change to avoid const cast in
PointerRNAToPython::convert().
2023-06-29 07:43:08 -04:00
Michael Kowalski 5f6959f365 Merge branch 'main' into test-usd-export-chaser 2023-06-27 13:05:18 -04:00
Michael Kowalski 808ca68414 USD IO hooks: export context struct.
Exposing a USDSceneExportContext class to Python
to encapsulate arguments for scene export which
is now provided as an argument to the on_export()
Python hook.
2023-06-27 12:33:36 -04:00
Michael Kowalski 652b9ad73a USD: Use std::list to store hooks.
buildbot/vexp-code-patch-coordinator Build done. Details
Fixes per review comments:

Now storing registered USDHook instances in
an std::list, instead of a ListBase, so that
the list will be automatically destroyed on
Blender exit.

Also fixed incorrect comments.
2023-06-21 18:36:42 -04:00
Michael Kowalski 490b559fdc Merge branch 'main' into test-usd-export-chaser 2023-06-21 11:29:56 -04:00
Michael Kowalski f4a7f72627 Fixed linux compile error.
buildbot/vexp-code-patch-coordinator Build done. Details
2023-06-19 10:14:58 -04:00
Michael Kowalski f5d285fbc6 USD hook: remove unused function.
buildbot/vexp-code-patch-coordinator Build done. Details
2023-06-19 09:25:19 -04:00
Michael Kowalski 8bcd266a89 Merge branch 'main' into test-usd-export-chaser 2023-06-19 09:07:08 -04:00
Michael Kowalski 2b18f45bff USD: added support for USDHook class.
Added USDHook struct and its RNA definition to
represent a registerable class for extending
USD IO functionality.
2023-06-18 20:53:51 -04:00
Michael Kowalski 58b679584e Merge branch 'main' into test-usd-export-chaser
buildbot/vexp-code-patch-coordinator Build done. Details
2023-06-09 16:07:51 -04:00
Michael Kowalski 96ca15ca27 USD export: prototype chaser support.
Implemented a simple protoype for invoking Python
"chaser" functions to extend the USD export functionality.
This is intended as a limited proof of concept as part of
the design discussion for implementing Python hooks for USD IO.

Added a new "chasers" USD export parameter for providing a
comma-delimited list of Python modules that implement the chaser
functions.  Immediately before saving the USD stage, the export
code invokes a usd_on_export() Python function defined in the chaser
modules, providing the stage as an argument.
2023-06-09 14:14:41 -04:00