Haroon Qureshi
ff7c613c79
Initial implementation of the filament rendering backend for mujoco.
...
This is intended as a drop-in replacement for mjr_render to enable high
quality, physically-based rendering (PBR) using the filament render engine.
This is a work-in-progress and, as such, some features may be missing. This
is also a code-only drop; build files (including instructions on how to
generate the filament materials) will be provided at a later date.
This library is intended to be run with the experimental studio app.
PiperOrigin-RevId: 817593684
Change-Id: Ib9cd14c1881e4897c1111275bd749aa38ebb5317
2025-10-10 05:01:39 -07:00
Matija Kecman
bd68f0c6cc
Update CMake to use C++20
...
PiperOrigin-RevId: 817573868
Change-Id: I22c98515763623d7411fd12910cf88cdaa336e6e
2025-10-10 03:54:47 -07:00
Matija Kecman
59a5a7bf5f
Improve error messages in LoadMujocoModel
...
PiperOrigin-RevId: 817565307
Change-Id: I367298cdf77d26b6f8deb5c6a0d5c3cab1e4d065
2025-10-10 03:24:50 -07:00
Taylor Howell
38af2e2d00
Export mujoco_warp/pyproject.toml.
...
PiperOrigin-RevId: 817541914
Change-Id: I271f66c26699c1c9d15133420e189d5c525deae6
2025-10-10 02:02:57 -07:00
Baruch Tabanpour
192da87475
Remove _full_compat from MJX io.
...
PiperOrigin-RevId: 817337868
Change-Id: Ic61b8d57937452371b85416c624ff2672c908aac
2025-10-09 14:26:19 -07:00
Erik Frey
50e163748d
Use correct tile sizes in 3p mujoco_warp now that launch_tiled bugs are fixed.
...
PiperOrigin-RevId: 817310391
Change-Id: I652509ba8d6dcd514b264eb450952e6980e48f1e
2025-10-09 13:18:45 -07:00
Taylor Howell
a9632a9825
MuJoCo Warp feature parity documentation.
...
PiperOrigin-RevId: 817123818
Change-Id: I21e4fd64943d68ffd714a1d84309ed5085764d6a
2025-10-09 04:33:24 -07:00
Haroon Qureshi
abe88202d0
Remove redundant flags argument.
...
PiperOrigin-RevId: 817115667
Change-Id: I4e5096206d7c24f5861e1bb9e8049149803dceeb
2025-10-09 04:07:43 -07:00
Alessio Quaglino
98682ae284
Do not modify mesh position when fitting a geom to the mesh AABB.
...
Also, unify the meaning of fitting a geom to an AABB: it now means to find the smallest geom such that its AABB contains the mesh AABB.
Fixes #2881 .
PiperOrigin-RevId: 817097544
Change-Id: I883c686feffa803bd16ba461db24a474dfec7712
2025-10-09 03:05:00 -07:00
Sam Haves
3a299c49ca
Remove use of usdaFileFormat from mjcf_file_format.
...
Previously this was just used for the USDA file format token, which we can confidently just construct ourselves.
Since [this PR in OpenUSD](https://github.com/PixarAnimationStudios/OpenUSD/commit/5bb9ad1fb2a034e1f9b48c7db936f296b5b78e25 ) the file lives in a different place now and public usage will be deprecated anyways.
PiperOrigin-RevId: 816801204
Change-Id: I42e92d2af52b0f9ff0a679ecb96f3d2dbf623531
2025-10-08 11:54:44 -07:00
Joan Llobera
cfd487c315
BUGFIX: when parsing a unity scene with mujoco element,s the mujoco package generates a value for the attribute "passive", but the attribute has been droped, it is not valid anymore in unity 3.3.6
...
this makes old mujoco scenes that work in unity not work anymore when upgrading the mujoco version.
2025-10-08 16:50:22 +02:00
Haroon Qureshi
1335ec87e4
Move font assets data targets into toolbox library.
...
PiperOrigin-RevId: 816654994
Change-Id: Ic56fab2b0af0c8d85682f8b233342a0d088d5cca
2025-10-08 05:09:42 -07:00
Haroon Qureshi
8e4932170a
Remove unused params.
...
PiperOrigin-RevId: 816654011
Change-Id: Ib26bc90dcda167e8acf1feaa3b015acb5aa7aceb
2025-10-08 05:05:59 -07:00
Haroon Qureshi
e7e331b11e
Update sensor decor elements to be of type mjOBJ_SENSOR.
...
PiperOrigin-RevId: 816640568
Change-Id: I838608c0482ec1ee499fe9598ddb33aa6c5331e9
2025-10-08 04:17:40 -07:00
Haroon Qureshi
7b9f6a5cc1
Invert early-out checks to reduce nesting.
...
PiperOrigin-RevId: 816606107
Change-Id: I325d3f4695cdeb189694088d8a81b198d65f96ea
2025-10-08 02:21:14 -07:00
Baruch Tabanpour
b56cf98e41
Import google-deepmind/mujoco_warp from GitHub. Update MJX io.py.
...
PiperOrigin-RevId: 816431884
Change-Id: I54881e7e350fbe5b2be1833e66745894b122f374
2025-10-07 16:43:30 -07:00
Saran Tunyasuvunakool
f83ee3fd73
Update mujoco_warp.
...
Also remove mujoco_warp tests and test data from this repo.
PiperOrigin-RevId: 816239754
Change-Id: Ie89ef043d40bb43d1e1150acd33b5f4cbf162ab8
2025-10-07 09:50:21 -07:00
Haroon Qureshi
fbab761627
Cleanup how different rendering backends are selected.
...
PiperOrigin-RevId: 816169098
Change-Id: I915aa45fa3a6d45a5178d3ff7bfdd0f1b1e01789
2025-10-07 17:48:23 +01:00
Taylor Howell
fd9b989bf8
Import google-deepmind/mujoco_warp from GitHub.
...
PiperOrigin-RevId: 816099854
Change-Id: I6302a97c2f5d4594a08ebf4bc53a180b804360e6
2025-10-07 17:47:55 +01:00
Yuval Tassa
414888b716
Mark some mjData fields as mutable.
...
PiperOrigin-RevId: 815819490
Change-Id: I1a62fda556b4197aec451f2747c69f34bab13220
2025-10-06 11:43:38 -07:00
Yuval Tassa
52eff3da0f
Fix mismatched argument format in mju_mulInertVec declaration.
...
PiperOrigin-RevId: 815818142
Change-Id: Id9caa581962705095f227a113505fc3e3ddd1054
2025-10-06 11:40:32 -07:00
Yuval Tassa
ab9575d8a6
Refactor and speed up mj_crb and add a benchmark.
...
This is a no-op "prefactor" of `mj_crb` to reduce the number of lines changed in the upcoming sleeping CL. The main change here is that `mj_crb` now avoids accessing the model and data pointer repeatedly, but instead has the input and output pointers explicitly declared as local variables. A benchmark test found a healthy **14% perf bump** due to two changes:
- Adding `restrict` to `mju_mulInertVec`
- The function-local pointers.
Adding `restrict` to the local pointers had no effect. Note that `mj_crb` is not a particularly expensive function so these speed bumps are not significant per se, but rather indicative of possible future gains with these techniques.
```
Benchmark Time(ns) CPU(ns) Iterations
---------------------------------------------------------------
ORGINAL BASELINE
BM_CRB_BASELINE_mean 4325 4348 993200 230.052k items/s
BASELINE + RESTRICT
BM_CRB_BASELINE_mean 4057 4090 1186150 244.573k items/s
LOCAL POINTERS + RESTRICT
BM_CRB_mean 3772 3800 1001750 263.209k items/s
```
PiperOrigin-RevId: 815798225
Change-Id: Iffdf57b544e8e10562807c617f73ca4ccd1c614f
2025-10-06 10:54:01 -07:00
Taylor Howell
b75af81c75
Update .readthedocs.yml.
...
PiperOrigin-RevId: 815776443
Change-Id: I6637a7d303232ca41840e80e27b6dd9d6b6d803c
2025-10-06 10:07:55 -07:00
Taylor Howell
9e5c5b110d
Update .readthedocs.yml.
...
PiperOrigin-RevId: 815693650
Change-Id: Ibeb1ceab983768b4af5759d9654ea857faa2db64
2025-10-06 06:15:51 -07:00
Taylor Howell
e10853e52e
MuJoCo Warp basic usage and minimal example documentation.
...
PiperOrigin-RevId: 815654625
Change-Id: Ifa90a7469ef827777317bd3c4cda216130a5c7e9
2025-10-06 04:03:36 -07:00
Yuval Tassa
431f96572e
Remove unused mjOption.apirate.
...
PiperOrigin-RevId: 815633571
Change-Id: Ib98f3eb2df47f96fa1fe6e987a3a0cd23a9479f6
2025-10-06 02:51:17 -07:00
Haroon Qureshi
a849fedcd2
Separate mjv_addGeoms into separate functions for each category.
...
PiperOrigin-RevId: 815607891
Change-Id: I16b29061c7e2229146bd0e0152721bca40fa4fd1
2025-10-06 01:30:26 -07:00
Taylor Howell
680f880b03
Remove unused functions from collision_convex.py.
...
PiperOrigin-RevId: 815605363
Change-Id: Ia1978a2e84cedd3c4382164562d672d1d6f20c43
2025-10-06 01:21:47 -07:00
Sam Haves
e4704cd28b
Create list_dependencies sample to list all dependencies for an MCJF file.
...
PiperOrigin-RevId: 814816067
Change-Id: Idc6232e5d1ef1ff0318aeacd0e3d4b4a5a303485
2025-10-03 13:47:28 -07:00
Baruch Tabanpour
6ae9cc8061
Fix #2508 .
...
PiperOrigin-RevId: 814761747
Change-Id: Ic3d1ed359f377799126987c3640b7e534e764c6b
2025-10-03 11:17:14 -07:00
Baruch Tabanpour
d321ba7642
Bump warp-lang version.
...
PiperOrigin-RevId: 814757185
Change-Id: Ia3ee1fd731bf19b621a8816fdb7ce670f2bc035c
2025-10-03 11:05:48 -07:00
Yuval Tassa
6e6253c4d5
Remove redundant line in types.py
...
PiperOrigin-RevId: 814749110
Change-Id: Ic335e3ffc724a62a2d0660295afdfeb288f6c96a
2025-10-03 10:43:52 -07:00
Yuval Tassa
18779ab54a
Clean up engine_core_util
...
PiperOrigin-RevId: 814709359
Change-Id: If4ec66808e7de51e16b772afdb8485fa4ff30030
2025-10-03 08:48:11 -07:00
Sam Haves
b5c35f87fc
Add material parsing path for colliders instead of strictly visual gprims.
...
PiperOrigin-RevId: 814692421
Change-Id: If92a36d0382f60e0d92c7d90320dec51c20ea739
2025-10-03 07:52:55 -07:00
Taylor Howell
709caa0628
Update .readthedocs.yml.
...
PiperOrigin-RevId: 814687463
Change-Id: Ia319c9bb77cb954d71b7afd27eedf33a65aeb5d1
2025-10-03 07:34:50 -07:00
Haroon Qureshi
24679b47e4
Separate out site and geom frame construction.
...
PiperOrigin-RevId: 814677737
Change-Id: I623f9d1e23ac6b3076a577e97911f7ec73492f52
2025-10-03 06:56:53 -07:00
Taylor Howell
9f796c3e70
Add missing constants to Python bindings.
...
PiperOrigin-RevId: 814663674
Change-Id: Ib5abb561a8b950cc6db86b4786ab01cd3326de78
2025-10-03 06:06:22 -07:00
Taylor Howell
53360f51a9
Update .readthedocs.yml to install MuJoCo Warp in order to generate API documentation. Additionally, mirror mujoco_warp/pyproject.toml in mjx/mujoco/mjx/third_party/mujoco_warp.
...
PiperOrigin-RevId: 814656860
Change-Id: Ie4c0e9076c90b598dedc65a3e9793ed3d2375c37
2025-10-03 05:39:45 -07:00
Kyle Bayes
50920450d2
Update box geom docs.
...
PiperOrigin-RevId: 814646973
Change-Id: I6ef294c2b740ca2ebbf2501974120d13d08bf56e
2025-10-03 05:00:26 -07:00
Taylor Howell
33a30480f8
Updates for MJX viewer related to Warp backend.
...
PiperOrigin-RevId: 814604809
Change-Id: I1cdb135f8f01b399163ece7415b09fd977ce7ad8
2025-10-03 02:25:24 -07:00
Haroon Qureshi
493d73062c
Misc cleanup to addFrameGeoms.
...
PiperOrigin-RevId: 814582959
Change-Id: I2546bf1c13334628d379ad24737de095085e1b1f
2025-10-03 01:14:32 -07:00
Baruch Tabanpour
8eacacfd13
Import NVIDIA/warp from GitHub.
...
PiperOrigin-RevId: 814423562
Change-Id: Ibf441f161e25c51c494de84b0d263b32af76545c
2025-10-02 16:08:26 -07:00
Sam Haves
32e08f9507
Expose userfacenormal to mjsMesh
...
PiperOrigin-RevId: 814253177
Change-Id: I644974feea0722f03e7c3b01be7b702dba233f0a
2025-10-02 08:53:42 -07:00
Sam Haves
6320b95957
Add mju_getXMLDependencies that given an MJCF file returns filepaths to all of it's dependencies.
...
PiperOrigin-RevId: 814203235
Change-Id: Ib5c2e2f4dd42224a768c88d76473544190c72bc0
2025-10-02 06:14:48 -07:00
Taylor Howell
7e16ecaa25
Updates for testspeed.cc ctrl noise.
...
PiperOrigin-RevId: 814192687
Change-Id: I0498c8efc8e71cd578e6b9d40ffa1411447d3e43
2025-10-02 05:37:48 -07:00
Haroon Qureshi
6ed2ceaa83
Add non-decorative elements before decorative elements.
...
PiperOrigin-RevId: 814165875
Change-Id: Iab09e2fe1fa129b0c19760c969b5639e690a95d9
2025-10-02 03:59:06 -07:00
Kyle Bayes
91257896c0
Implement faster mju_isZeroByte.
...
PiperOrigin-RevId: 814148714
Change-Id: Iaf5ed9d3502eaaaee8d46a986f2db00811ae0707
2025-10-02 02:53:53 -07:00
Taylor Howell
401bf431b8
Modify Simulate::InjectNoise to set target of exponential decay to value from key_ctrl if a valid key is provided as input.
...
PiperOrigin-RevId: 813819040
Change-Id: I79508039b17fb3484b71ae0d19614c32adacfa10
2025-10-01 10:46:29 -07:00
Yuval Tassa
edbdb5195c
Change MuJoCo engine source code function-spacing convention from 3 blank lines to 2
...
PiperOrigin-RevId: 813754244
Change-Id: I6836e41c3b021cb727e922c25c60f629b9814c93
2025-10-01 07:58:17 -07:00
Sam Haves
c439628f82
When parsing USD, infer gravity from stage metadata if UsdPhysicsScene missing or undefined.
...
PiperOrigin-RevId: 813705210
Change-Id: I13741af6dc87ecd9efb83219e978f5f06c72d021
2025-10-01 05:19:31 -07:00