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

Allow mesh for sole visualization purpose #2455

Open
jjyyxx opened this issue Feb 25, 2025 · 1 comment
Open

Allow mesh for sole visualization purpose #2455

jjyyxx opened this issue Feb 25, 2025 · 1 comment
Labels
enhancement New feature or request

Comments

@jjyyxx
Copy link
Contributor

jjyyxx commented Feb 25, 2025

The feature, motivation and pitch

For some context, I don't think MuJoCo supports material_index mechanism to associate different faces of a mesh to multiple materials (colors) as some more dedicated renderers do. Two workarounds are:

  1. UV unwrap the whole mesh, assign different colors to different parts of the texture;
  2. Split the mesh into multiple sub-meshes, then one material each sub-mesh.

I go for the second approach, then encounter several strange bugs related to planar mesh (in <= 3.2.7). In 3.2.8, setting inertia="shell" resolves this issue. But even in upcoming 3.2.8, all meshes are forced to compute inertia, re-centering, and compute BVH, which is wasteful for sole visualization purpose. So, I hope MuJoCo could implement a flag to skip such process for certain meshes.

As a generalization, currently MuJoCo supports mjr_uploadMesh to update mesh dynamically for visualization. But it only takes the meshid-th mesh from the associated mjModel. Since MuJoCo stores meshes in a memory-efficient flat format, adding new meshes or adding / removing vertices from a mesh is very difficult. I think, mesh for sole visualization purpose could safely skip the whole MuJoCo core engine, and be supplied directly to the render context or visual struct.

Alternatives

No response

Additional context

No response

@jjyyxx jjyyxx added the enhancement New feature or request label Feb 25, 2025
@yuvaltassa
Copy link
Collaborator

Yes, this is a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants