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

Modify USD and OBJ importers for correctness, consistency and convenience #724

Merged
merged 1 commit into from
May 24, 2023

Conversation

shumash
Copy link
Collaborator

@shumash shumash commented May 24, 2023

Make USD and OBJ importers consistent for all properties, change handling of material assignments, fix bugs, add option to triangulate.

Non-backward compatible changes to OBJ importer, including:

  • renamed vertex_normals to normals and fixed doc (this value is normals array is not num_verts x 3, but num_normals x 3)
  • renamed face_normals to face_normals_idx, which is more accurate
  • changed material_order to material_assignments tensor with material_id per face
  • materials are now returned in alphabetical order
  • fixed handling of materials for non-homogeneous meshes
  • fixed skip handling of non-homogeneous meshes

Other changes to OBJ importer:

  • added option to triangulate
  • added handler to fill in missing materials
  • added material_name to materials

Non-backward compatible changes to USD importer, including:

  • changes material_order to material_assignments tensor with material_id per face (this is original USD repersentation)
  • materials are now returned in alphabetical order
  • removed deprecated handlers in kaolin.io.usd

Other changes to USD importer:

  • major refactoring of the USD importer code; multiple bug fixes; more robust tests
  • added material_name to materials
  • added option to triangulate
  • fixed a bug in USD importer handling of uvs in non-homogeneous meshes

Other changes:

  • deprecated heterogeneous_mesh_handler_naive_homogenize, renaming it mesh_handler_naive_triangulate (as it is not specific to heterogeneous mesh handling)
  • material assignments are now properly handled during triangulation
  • modified and simplified notebooks, given changes to API
  • added multi-object multi-material test file: amsterdam.obj, amsterdam.usd
  • modified notebooks and recipes to be more robust to missing data (e.g. shapenet) and to run both locally and on CI
  • added IO consistency checks for OBJ/USD for the new amsterdam mesh
  • removed heterogeneous_mesh_handler_empty, as we will no longer be able to support it with Mesh API

@shumash shumash requested a review from Caenorst May 24, 2023 15:26
…ling of material assignments, fix bugs, add option to triangulate.

Non-backward compatible changes to OBJ importer, including:
  - renamed vertex_normals to normals and fixed doc
  (this value is normals array is not num_verts x 3, but num_normals x 3)
  - renamed face_normals to face_normals_idx, which is more accurate
  - changed material_order to material_assignments tensor with material_id per face
  - materials are now returned in alphabetical order
  - fixed handling of materials for non-homogeneous meshes
  - fixed skip handling of non-homogeneous meshes

Other changes to OBJ importer:
  - added option to triangulate
  - added handler to fill in missing materials
  - added material_name to materials

Non-backward compatible changes to USD importer, including:
  - changes material_order to material_assignments tensor with material_id per face
  (this is original USD repersentation)
  - materials are now returned in alphabetical order
  - removed deprecated handlers in kaolin.io.usd

Other changes to USD importer:
  - major refactoring of the USD importer code; multiple bug fixes; more robust tests
  - added material_name to materials
  - added option to triangulate
  - fixed a bug in USD importer handling of uvs in non-homogeneous meshes

Other changes:
  - deprecated heterogeneous_mesh_handler_naive_homogenize, renaming it mesh_handler_naive_triangulate
  (as it is not specific to heterogeneous mesh handling)
  - material assignments are now properly handled during triangulation
  - modified and simplified notebooks, given changes to API
  - added multi-object multi-material test file: amsterdam.obj, amsterdam.usd
  - modified notebooks and recipes to be more robust to missing data (e.g. shapenet)
  and to run both locally and on CI
  - added IO consistency checks for OBJ/USD for the new amsterdam mesh
  - removed heterogeneous_mesh_handler_empty, as we will no longer be able to support it with Mesh API

Signed-off-by: Maria Masha Shugrina <[email protected]>
@shumash shumash force-pushed the mshugrina/material_order branch from d4772bf to b8522d5 Compare May 24, 2023 16:11
@Caenorst Caenorst merged commit 1834e57 into NVIDIAGameWorks:master May 24, 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