-
Notifications
You must be signed in to change notification settings - Fork 3
Convert OBJ to USD #34
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
Convert OBJ to USD #34
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really understand the intricacies of mutli-object OBJs with respect to the tinyobjloader API, but I have found that many of the processing functions are quite slow. You need to be very careful about when & how to access the indices, normals, and texcoords arrays. If you do it subtly wrong you incur either array copies or per-index lookups between c++ & python, both of which are quite slow.
We should find the largest robot we can that has normals & uvs and perf test on that to figure out if our use of tinyobjloader is efficient.
If this does turn out to be slow, and there really is no other approach to split arrays between shapes, then we should have 2 code paths
- fast path for single shape OBJs -- exactly what we have in MJC
- slow path for multi shape OBJs
fe3a0eb to
996a0d7
Compare
996a0d7 to
c78947e
Compare
7cc6cbb to
aeb343b
Compare
Description
Fixes #6
Convert OBJ to USD.
Updated:
If obj contains only one mesh, it will be processed using the same code as mujoco-usd-converter.
If obj contains multiple meshes, the multiple meshes will be placed in Xform.
two_meshes.obj
->
Checklist