Yuval Tassa
6bcb22730d
Minor clean-up of some visualization code.
...
Move mjvGeom acquire/release into helper functions, where possible.
PiperOrigin-RevId: 842675435
Change-Id: Ie5aaf206927251e79b20cc4101a7017645d5dd4b
2025-12-10 05:09:53 -08:00
Google DeepMind
11f0997edf
Internal change.
...
PiperOrigin-RevId: 842636101
Change-Id: I5fc8e1f5e4caee9d909963ebe396572b13b455b7
2025-12-10 02:58:38 -08:00
Haroon Qureshi
9c1b8d8cfb
Enable font loading for wasm builds.
...
PiperOrigin-RevId: 842627994
Change-Id: I347f79ec668f31a8bbc4d26638a045e29084d715
2025-12-10 02:31:46 -08:00
Yuval Tassa
f06aa45ea6
Consolidate ray normal functions.
...
PiperOrigin-RevId: 842300829
Change-Id: Ic5e921084710cb044a4f49ea9b566d277838aaa1
2025-12-09 10:36:10 -08:00
Yuval Tassa
85e6f6de3c
Ignore unsupported light types in GL3 renderer.
...
PiperOrigin-RevId: 842271116
Change-Id: I632f7ed8e2a6488d5a8eb228928e26c8fcbdff66
2025-12-09 09:22:29 -08:00
Yuval Tassa
32d7b87ba7
Improve studio 2D plots
...
PiperOrigin-RevId: 842260702
Change-Id: I4644b69da92b9d015eb2d140b98f68c05d31a222
2025-12-09 08:56:51 -08:00
Yuval Tassa
5b1fa666fb
Add mj_rayHfieldNormal (not exposed in public header)
...
PiperOrigin-RevId: 842259581
Change-Id: I27d6c46024d55addbc22eed276331e2ef5acfa7d
2025-12-09 08:53:47 -08:00
Haroon Qureshi
7553541b4b
Use public mj_parseXml function.
...
PiperOrigin-RevId: 842245812
Change-Id: I26e1f992f82050a36373ee3a3f2c97c399b4e788
2025-12-09 08:14:32 -08:00
Haroon Qureshi
97eb307ce9
First pass at mjSpec Explorer and Properties windows.
...
Displays the list of bodies and joints from the mjSpec and displays
values for the selected element.
Functionality is very limited and a bit non-intuitive. However, we want
to get this into our users hands to start getting feedback.
PiperOrigin-RevId: 842228895
Change-Id: I2491cd5e0acaf622110e0f6b8406919024d3607a
2025-12-09 07:28:26 -08:00
Yuval Tassa
c064abc3da
Change row-flipping logic for heightfields.
...
Move row-flipping logic from `mjCModel::CopyBack` to `mjXWriter`.
PiperOrigin-RevId: 842220322
Change-Id: I6fb09db6c9e8689f6e435f82f58dd3e7c4314478
2025-12-09 07:02:21 -08:00
Haroon Qureshi
925c533580
Move playback speed control to the toolbar.
...
Initialize playback speed based on the model's global.realtime setting.
Adjust layout and tweak colours of the status and tool bars.
PiperOrigin-RevId: 842214796
Change-Id: Iff9cda74178df28a0787693242fee81e011014fc
2025-12-09 06:47:38 -08:00
Yuval Tassa
cc914c9ec7
Modify studio keyboard bindings to conform to MuJoCo API.
...
PiperOrigin-RevId: 842197387
Change-Id: I6ee9b1f5050cb4a8c2f67253f37481c61c91fdbd
2025-12-09 05:53:14 -08:00
Google DeepMind
1483aefe5f
Make actuator_length, cdof and cdof_dot public.
...
PiperOrigin-RevId: 842182467
Change-Id: Id14a1c8266e13a6f95e1c87ea07da993b614b62e
2025-12-09 04:57:42 -08:00
Yuval Tassa
f65c1cdfd1
Add mj_raySdfNormal (not exposed in public header)
...
PiperOrigin-RevId: 842178540
Change-Id: I5d2db555e9b6c0fa0daaa8bc14c7781663e4c94e
2025-12-09 04:43:39 -08:00
Matija Kecman
bf49fe3daa
Enable reading textures from spec in Python
...
PiperOrigin-RevId: 842151742
Change-Id: I477d118cc7e2385d29b395b192fa89e9facb9c3e
2025-12-09 03:08:32 -08:00
Haroon Qureshi
e1e2248925
Internal changes only.
...
PiperOrigin-RevId: 842099953
Change-Id: Ia11feec323504976cdc3e6d7170435b74ed33fcd
2025-12-09 00:18:06 -08:00
Haroon Qureshi
99a90cb649
Don't do GUI rendering when rendering to texture.
...
PiperOrigin-RevId: 842089364
Change-Id: Iaecebdc677e946c7fc618395205097462a56f2d1
2025-12-08 23:44:50 -08:00
Yuval Tassa
735b31fc89
Fix triangle lighting in native renderer.
...
PiperOrigin-RevId: 841796563
Change-Id: I778e0e02aa8b4033531d4fadc091610418ab909e
2025-12-08 09:27:04 -08:00
Taylor Howell
15145c0098
MuJoCo Warp documentation: Compilation.
...
PiperOrigin-RevId: 841761913
Change-Id: Ic1b1942a47299db48c424ad1f9e3709b05acc55e
2025-12-08 07:50:23 -08:00
Haroon Qureshi
e238b65843
Support both 3 and 4 channel images and use a safer way to assign IDs to images.
...
PiperOrigin-RevId: 841727607
Change-Id: I319db4291ecee27f4ceb7b7e952c6f68e7f8b96d
2025-12-08 05:55:00 -08:00
Gabe Oppenheimer
96e376451c
Update MuJoCo version from 3.4.0 to 3.4.1 following the 3.4.0 release
...
PiperOrigin-RevId: 840914696
Change-Id: Iffabc70dd174384ba1c535cafcd34982ff8e5712
2025-12-05 16:15:56 -08:00
Gabe Oppenheimer
e55fff5dea
CI issues resolved, we're going ahead with the 3.4.0 release.
...
PiperOrigin-RevId: 840763554
Change-Id: Ib50b00ec43d8713821f98a131fb19640810ea777
2025-12-05 09:37:40 -08:00
Haroon Qureshi
fcdacd0690
Fix crash when using image-based textures.
...
Image lights are not normal lights, so use nullptr as a placeholder.
Add checks for nullness when iterating over the lights.
PiperOrigin-RevId: 840695579
Change-Id: I092515ae814523e85f4f5ce87b2bac2241f4ea35
2025-12-05 06:08:13 -08:00
Haroon Qureshi
6e7b2ba4c3
Reuse renderable entity instead of recreating every frame.
...
PiperOrigin-RevId: 840680350
Change-Id: Ie26862f8993c4b1cf071ee867d89bcc8182d3dd2
2025-12-05 05:10:12 -08:00
Haroon Qureshi
f18c9996e6
Allow uploading textures for use with ImGui.
...
PiperOrigin-RevId: 840669528
Change-Id: I7c5854d966dd024cd492953f86bca961cfaf88b8
2025-12-05 04:31:32 -08:00
Matija Kecman
e93786c161
Fix WebGL rendering for the webdemo
...
PiperOrigin-RevId: 840640628
Change-Id: I4bac3bf634e66da01174927bf6096bc1df642e10
2025-12-05 02:39:54 -08:00
Taylor Howell
4e84671a15
MuJoCo Warp documentation: Determinism.
...
PiperOrigin-RevId: 840630917
Change-Id: Ie5f3ac34cee8812f20d6ae4fa6004385c5b048e0
2025-12-05 02:09:26 -08:00
Baruch Tabanpour
fc109f0ab5
Small fix to testspeed
...
PiperOrigin-RevId: 840607453
Change-Id: If913866cc0a3d4d3e6c39c7b5948fa167678ccad
2025-12-05 01:28:33 -08:00
Gabe Oppenheimer
237a5e5c55
Revert the changelog to unreleased state, the 3.4.0 release will be delayed due to internal issues with CI.
...
PiperOrigin-RevId: 840362346
Change-Id: Ic0fb5d6d521c5abc1b98d5242416eac6c7d056c8
2025-12-04 12:53:02 -08:00
Haroon Qureshi
6ed9f2be7a
Removed unused font uploading functionality.
...
Font textures are handled directly through ImGui.
PiperOrigin-RevId: 840259537
Change-Id: I5b6b0dc5d2c1c7066b4a23f0106de34285f40e6c
2025-12-04 08:38:58 -08:00
Haroon Qureshi
da36e822a8
Allow material default classes to define texture layers.
...
PiperOrigin-RevId: 840254100
Change-Id: I59f67fc4d1485cf80bbc005d1b35cda6224248ed
2025-12-04 08:22:55 -08:00
Haroon Qureshi
5ee8b646f7
Move Style and Layout configuration to shared GUI library.
...
PiperOrigin-RevId: 840246253
Change-Id: Ic4664b62e86e70fd6780cd9eb885978064c5f585
2025-12-04 08:02:16 -08:00
Haroon Qureshi
5f59104877
Properly handle PBR materials where no color texture is provided.
...
In this case, we'll use the mujoco material color which is then multiplied with a white fallback texture.
PiperOrigin-RevId: 840244521
Change-Id: I2134f45dcbaed7db268e5278ca8ac5429488943d
2025-12-04 07:57:24 -08:00
Haroon Qureshi
680e9a6b79
Update studio build script and instructions.
...
Mujoco studio now works on Windows and MacOS.
PiperOrigin-RevId: 840235447
Change-Id: I66d3430d5d994de2eb13ee08ad3051c6c7187e12
2025-12-04 07:27:37 -08:00
Haroon Qureshi
c5cd276e1f
Cleanup model loading flow.
...
Inlines the platform::LoadMujocoModel into the App class which simplifies
the logic and allows us to correctly display loading errors.
Also updates shortcuts:
Load Model (Ctrl+L) -> Open File (Ctrl+O)
Reload Model (Ctrl+R) -> Reload Model (Ctrl+L)
PiperOrigin-RevId: 840232553
Change-Id: I957d29046ae681d2aeb69310c3a2eec64d042d49
2025-12-04 07:20:02 -08:00
Haroon Qureshi
8823e9fedf
Improve imgui texture management.
...
Keep track of all textures and recreate them as needed. This makes imgui
textures robust to render context reinitialization.
PiperOrigin-RevId: 840228061
Change-Id: Ia4ac35ff93a41ac74020f334adc438df4b030f7c
2025-12-04 07:05:14 -08:00
Haroon Qureshi
54070fc71b
Disable bent normals by default.
...
PiperOrigin-RevId: 840216781
Change-Id: Icf24d73939fa138da46e2da7aa69a6574e6f98ec
2025-12-04 06:28:53 -08:00
Sam Haves
a942fd4875
Make filament segmentation shader distinct colors optional.
...
Previously we were computing at material update time a color for the geom based of it's
segid. This made segids unrecoverable from the resulting buffer. With this change
we allow SceneView creators to specify if they want the segmentation buffer to be purely
for visualization with distinct colors.
PiperOrigin-RevId: 840016870
Change-Id: I5920f248ace0901023e6545c7d8dd2b23f9aa397
2025-12-03 19:26:20 -08:00
Tom Power
4a6b9456aa
Set default headlight intensity to zero if there are no physical lights in the scene.
...
PiperOrigin-RevId: 839962392
Change-Id: I086d8135604982c42381a9b49cec53773c7fa362
2025-12-03 16:31:11 -08:00
Sam Haves
8507b62556
Cache the rendering mode used to allow headless segmentation rendering.
...
This also moves the read call into the frame, per the recommendation in the filament documentation. We also don't need to flush and wait for the engine twice, just defer to the end of readPixels.
PiperOrigin-RevId: 839953612
Change-Id: I52205147794440322ca976c52fb4905207c21473
2025-12-03 16:06:39 -08:00
Haroon Qureshi
14513a04c2
Wait until previous render is finished before submitting another request.
...
PiperOrigin-RevId: 839707507
Change-Id: Ib39538540ff6080d197c2ea853b7273cc56084e7
2025-12-03 05:01:44 -08:00
Haroon Qureshi
e409538831
Ensure window scale is initialized on creation.
...
PiperOrigin-RevId: 839699437
Change-Id: I99e477ac49b56726b77389306aec49c895e160fa
2025-12-03 04:29:52 -08:00
Yuval Tassa
55664b63e1
Fix broken cross-references in mjwarp/index.rst
...
PiperOrigin-RevId: 839194214
Change-Id: Ia1aca7331bc5d77fb4ef6ce7efefc3d55a1d99b3
2025-12-02 03:56:05 -08:00
Gabe Oppenheimer
951257ad54
Fix: Update changelog formatting
...
PiperOrigin-RevId: 839126146
Change-Id: Ifa349b6fd013e4c23fd96b988eacaa7c9d44532c
2025-12-02 00:26:56 -08:00
Yuval Tassa
e095bb6d41
Improve rendering of dynamics pipeline schematic
...
PiperOrigin-RevId: 838865159
Change-Id: I225e94508be7edb8f8217ec5abb2f609cbb39ae5
2025-12-01 11:36:01 -08:00
Gabe Oppenheimer
b663b7602b
Final preparations for the v3.4.0 release
...
PiperOrigin-RevId: 838824676
Change-Id: Icb5a825cb41be4d0730f4a6729b63531d649066f
2025-12-01 10:06:33 -08:00
Haroon Qureshi
448fc0e4d5
Report the actual GPU framerate rather than the main thread submit rate when using the filament renderer.
...
PiperOrigin-RevId: 838775463
Change-Id: If66644d284a4a9e0263cf31bfbd1785b18e0209b
2025-12-01 08:02:38 -08:00
Yuval Tassa
4896e698f6
Update "mjModel changes" section in simulation.rst
...
PiperOrigin-RevId: 838768328
Change-Id: I5c09186e52115df37e9412495ecc7dceddb2ed8a
2025-12-01 07:40:09 -08:00
Yuval Tassa
19e2d0ae2f
Add mj_fwdKinematics and a table improving documentation of the MuJoCo computation pipeline structure.
...
PiperOrigin-RevId: 838768130
Change-Id: I1a22d5cdca7db704ba4cea1667fcbecb16b87005
2025-12-01 07:39:00 -08:00
Google DeepMind
4c40d5938e
Add type hints to tuple constants in codegen/generators/constants.py.
...
`tuple` is better than `list` for constants if we don't expect they get modified by other parts of the code
PiperOrigin-RevId: 838748519
Change-Id: Ic950a78be7ad7518361c046d7e4542607070d3a2
2025-12-01 06:37:03 -08:00