Move function that parses the graphics mode from a string into graphics_mode.cc.

PiperOrigin-RevId: 878482669
Change-Id: I8b713bc740c5711b9c7cc9ea63c21bad42cd2943
This commit is contained in:
Haroon Qureshi
2026-03-04 07:29:59 -08:00
committed by Copybara-Service
parent c70b05e037
commit 64597f45d3
3 changed files with 32 additions and 14 deletions
@@ -14,6 +14,9 @@
#include "experimental/platform/graphics_mode.h"
#include <string_view>
#include <mujoco/mujoco.h>
namespace mujoco::platform {
bool IsClassic(GraphicsMode gfx_mode) {
@@ -48,4 +51,26 @@ bool IsHeadless(GraphicsMode gfx_mode) {
gfx_mode == GraphicsMode::FilamentOpenGlHeadless;
}
GraphicsMode GraphicsModeFromString(std::string_view str,
GraphicsMode default_mode) {
if (str == "classic") {
return GraphicsMode::ClassicOpenGl;
} else if (str == "classic_headless") {
return GraphicsMode::ClassicOpenGlHeadless;
} else if (str == "opengl") {
return GraphicsMode::FilamentOpenGl;
} else if (str == "vulkan") {
return GraphicsMode::FilamentVulkan;
} else if (str == "webgl") {
return GraphicsMode::FilamentWebGl;
} else if (str == "opengl_headless") {
return GraphicsMode::FilamentOpenGlHeadless;
} else if (str.empty()) {
return default_mode;
} else {
mju_error("Unsupported graphics mode: %s", str.data());
return default_mode;
}
}
} // namespace mujoco::platform
@@ -15,6 +15,8 @@
#ifndef MUJOCO_SRC_EXPERIMENTAL_PLATFORM_GRAPHICS_MODE_H_
#define MUJOCO_SRC_EXPERIMENTAL_PLATFORM_GRAPHICS_MODE_H_
#include <string_view>
namespace mujoco::platform {
// Describes the configuration of the graphics and rendering systems.
@@ -45,6 +47,9 @@ bool IsVulkan(GraphicsMode gfx_mode);
bool IsWebGl(GraphicsMode gfx_mode);
bool IsHeadless(GraphicsMode gfx_mode);
GraphicsMode GraphicsModeFromString(std::string_view str,
GraphicsMode default_mode);
} // namespace mujoco::platform
#endif // MUJOCO_SRC_EXPERIMENTAL_PLATFORM_GRAPHICS_MODE_H_