Skip to content
Back to skills

Rendering Viewer Assets

ASecurity

"Choose and troubleshoot dm_control rendering backends, viewers,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentpythongobashgitapibackenddocumentation

Works with

  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill rendering-viewer-assets --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rendering Viewer Assets?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rendering Viewer Assets
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-rendering-viewer-assets/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-rendering-viewer-assets)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rendering-viewer-assets
description: "Choose and troubleshoot dm_control rendering backends, viewers,
  pixel observations, camera APIs, and optional Blender exporter workflows."
metadata:
  disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---

# rendering-viewer-assets

Use this sub-skill when a task needs dm_control offscreen rendering, pixel observations, camera control, the interactive viewer, or safe guidance for the optional Blender MuJoCo exporter.

Do not use this sub-skill for non-rendering Control Suite rollouts; route those to [`../suite-rl-workflows/SKILL.md`](../suite-rl-workflows/SKILL.md). Route raw MJCF/MuJoCo model construction to [`../mjcf-mujoco-models/SKILL.md`](../mjcf-mujoco-models/SKILL.md), and custom Composer environment/task lifecycle work to [`../composer-environments/SKILL.md`](../composer-environments/SKILL.md).

## First decisions

1. Identify the rendering target:
   - Offscreen RGB/depth/segmentation arrays: use `physics.render(...)` and probe `MUJOCO_GL` before building the workflow.
   - RL pixel observations: validate a backend first, then wrap with `dm_control.suite.wrappers.pixels.Wrapper`.
   - Interactive window: use `dm_control.viewer.launch(...)`; it requires GLFW and a real display.
   - Blender export: treat as optional, external-Blender, documentation-only unless the user explicitly accepts Blender add-on installation risks.
2. Choose a backend before importing dm_control rendering modules. If `MUJOCO_GL` is unset, dm_control tries GLFW, then EGL, then OSMesa. Explicit values are `glfw`, `egl`, and `osmesa`; EGL also accepts `MUJOCO_EGL_DEVICE_ID` for selecting a GPU device.
3. Do not promise that every backend is installed. During construction, a headless EGL render probe passed, OSMesa failed because the OSMesa/OpenGL library was missing or unusable, and GLFW failed in a display-less headless session.
4. Install public packages only: use `pip install dm_control` for released packages, or `pip install git+https://github.com/google-deepmind/dm_control.git` for unreleased source snapshots. Editable installs are not supported by dm_control.

## Bundled operating files

- Read [`references/rendering-viewer-reference.md`](references/rendering-viewer-reference.md) when choosing a backend, calling `physics.render`, adding pixel observations, or adapting a viewer launcher.
- Read [`references/blender-exporter-reference.md`](references/blender-exporter-reference.md) when a user asks about exporting Blender assets to MuJoCo/MJCF, or before deciding that Blender work should be avoided.
- Read [`references/troubleshooting.md`](references/troubleshooting.md) when rendering, PyOpenGL, pixel-wrapper, viewer, EGL/OSMesa/GLFW, or Blender add-on errors appear.
- Run [`scripts/render_backend_probe.py`](scripts/render_backend_probe.py) in a fresh Python process to test `default`, `egl`, `osmesa`, or `glfw` with a tiny installed-package render.
- Run [`scripts/viewer_launch_template.py`](scripts/viewer_launch_template.py) as a safe dry-run template for suite or manipulation viewer launchers; it opens a GUI only when `--launch` is explicitly supplied.

## Minimal operating pattern

```bash
python scripts/render_backend_probe.py --backend egl --height 48 --width 64
```

If the probe succeeds, use the same backend selection for the downstream render/pixel-observation process. If it fails, follow the failure-specific route in [`references/troubleshooting.md`](references/troubleshooting.md) instead of changing unrelated suite, MJCF, or Composer logic.

Files in this skill

  • SKILL.md3.5 KB
  • references/blender-exporter-reference.md5.4 KB
  • references/rendering-viewer-reference.md8.9 KB
  • references/troubleshooting.md6.5 KB
  • scripts/render_backend_probe.py6.4 KB
  • scripts/viewer_launch_template.py6.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.