From e93786c1617de1210b733bde999b8fa51dc2b384 Mon Sep 17 00:00:00 2001 From: Matija Kecman Date: Fri, 5 Dec 2025 02:38:52 -0800 Subject: [PATCH] Fix WebGL rendering for the webdemo PiperOrigin-RevId: 840640628 Change-Id: I4bac3bf634e66da01174927bf6096bc1df642e10 --- src/experimental/filament/filament/filament_context.cc | 2 ++ src/experimental/filament/filament/scene_view.cc | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/experimental/filament/filament/filament_context.cc b/src/experimental/filament/filament/filament_context.cc index d6a1a714..3b3a632e 100644 --- a/src/experimental/filament/filament/filament_context.cc +++ b/src/experimental/filament/filament/filament_context.cc @@ -161,8 +161,10 @@ void FilamentContext::Render(const mjrRect& viewport, const mjvScene* scene, if (!render_to_texture_) { filament::View* view = scene_view_->PrepareRenderView(last_render_mode_); + #ifndef __EMSCRIPTEN__ // Wait until previous frame is completed before requesting a new frame. engine_->flushAndWait(); + #endif if (renderer_->beginFrame(swap_chain_)) { renderer_->render(view); diff --git a/src/experimental/filament/filament/scene_view.cc b/src/experimental/filament/filament/scene_view.cc index cdb54e2b..35911dc6 100644 --- a/src/experimental/filament/filament/scene_view.cc +++ b/src/experimental/filament/filament/scene_view.cc @@ -289,7 +289,10 @@ void SceneView::PrepareLights() { params.spot_cone_angle = model->light_cutoff[i]; } auto light_obj = std::make_unique(object_mgr_, params); +#ifndef __EMSCRIPTEN__ + // TODO(b/458045799): Re-enable when lights work on glinux and chromebook. light_obj->AddToScene(scene_); +#endif lights_.emplace_back(std::move(light_obj)); } }