diff --git a/src/experimental/platform/renderer.cc b/src/experimental/platform/renderer.cc index 9ba42230..91bdb247 100644 --- a/src/experimental/platform/renderer.cc +++ b/src/experimental/platform/renderer.cc @@ -91,6 +91,17 @@ void Renderer::Render(const mjModel* model, mjData* data, return; } + mjvCamera default_cam; + if (camera == nullptr) { + mjv_defaultCamera(&default_cam); + camera = &default_cam; + } + mjvOption default_opt; + if (vis_option == nullptr) { + mjv_defaultOption(&default_opt); + vis_option = &default_opt; + } + mjv_updateScene(model, data, vis_option, perturb, camera, mjCAT_ALL, &scene_); diff --git a/src/experimental/platform/renderer.h b/src/experimental/platform/renderer.h index dca5369f..a43f1d16 100644 --- a/src/experimental/platform/renderer.h +++ b/src/experimental/platform/renderer.h @@ -57,7 +57,7 @@ class Renderer { using Seconds = std::chrono::duration; using Milliseconds = std::chrono::duration; - explicit Renderer(void* native_window); + explicit Renderer(void* native_window = nullptr); ~Renderer(); Renderer(const Renderer&) = delete;