Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More robust I/O tests, sample meshes, bug fixes and changes to USD importers #718

Merged
merged 1 commit into from
May 5, 2023

Conversation

shumash
Copy link
Collaborator

@shumash shumash commented May 5, 2023

This MR is the first in a series to improve consistency and robustness of our USD and OBJ importers.

Detailed changes:

  • Added some testing utilities and corresponding tests for these utilities
  • Added explicit size checks to usd i/o tests; improved tests to not rely on test order execution; made some changes to USD reading code that improves logic flow; fixed documentation error on export_mesh in USD.
  • Fixed bug in get_scene_paths and added a test
  • Added three additional test meshes. Started a convention for keeping useful data in one place and referencing it from appropriately named test subfolder.
  • Added more robust tests for USD meshes; fixed at least one bug; added a partial refactor to usd/mesh.py (not integrated with core readers yet). Removed accidentally added file
  • Fixed a bug in rtol/atol in a testing function (backward compatible); small improvement to debug logging function
  • Non-backward compatible changes to USD material import:
    • stop always prepending material list with None
    • always output material_order, even if only one material is bound (after all it could be not bound)
  • Added extensive OBJ/USD consistency checks that at least verify material_order is read consistently.
  • Added export materials + reimport materials test for an existing test case to ensure read-write-read cycle is not broken.
  • Adapted obj/usd consistency test to work with multi-mesh USDs.
  • Fixed a bug: USD transform should apply not only to vertices, but also normals.

…ities

- Added explicit size checks to usd i/o tests; improved tests to not rely on test order execution; made some changes to USD reading code that improves logic flow; fixed documentation error on export_mesh in USD.
- Fixed bug in get_scene_paths and added a test
- Added three additional test meshes. Started a convention for keeping useful data in one place and referencing it from appropriately named test subfolder.
- Added more robust tests for USD meshes; fixed at least one bug; added a partial refactor to usd/mesh.py (not integrated with core readers yet).
Removed accidentally added file
- Normal consistency spot checks between OBJ and USD now pass; changed small USD samples to human-readable usda version.
- Fixed a bug in rtol/atol in a testing function (backward compatible); small improvement to debug logging function
- Non-backward compatible changes to USD material import:
  - stop always prepending material list with None
  - always output material_order, even if only one material is bound (after all it could be not bound)
- Added extensive OBJ/USD consistency checks that at least verify material_order is read consistently.
- Added export materials + reimport materials test for an existing test case to ensure read-write-read cycle is not broken.
- Adapted obj/usd consistency test to work with multi-mesh USDs.
- Fixed a bug: USD transform should apply not only to vertices, but also normals.

Signed-off-by: Maria Masha Shugrina <[email protected]>
@shumash shumash requested a review from Caenorst May 5, 2023 16:31
@Caenorst Caenorst merged commit 27efa0f into NVIDIAGameWorks:master May 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants