Nyx for Genesis#

Nyx for Genesis

A high-performance renderer plugin for the Genesis World simulator.

Path-traced render of dual robot arms over a fruit on a tabletop

Nyx drops in where a Genesis Camera would go and produces photoreal, path-traced frames from the same scene state. It renders robots, articulated assets, terrain, cloth, HDRI lighting, and Gaussian-splat light fields, all GPU-resident and ready to feed straight back into a training loop.

User guide

Install the plugin, set up your first scene, drive the renderer from Python, and integrate with a Genesis simulation. Includes runnable examples for attached cameras, materials, lighting, Gaussian splats, picking, and multi-env rendering.

User guide
API reference

Auto-generated reference for every public class, function, and enum in the gs_nyx package, with cross-links into the Genesis API and worked examples for the symbols you’ll touch most.

API reference

Highlights#

Path-traced PBR

Forward, fast, and reference path-tracing modes share one scene description. Disney-style materials, named metals, HDR environments.

Supported features
Robot-attached cameras

Mount sensors on any entity/link with an offset transform. Pose updates flow through automatically each scene.step().

Attaching a camera
Multi-env friendly

Render n_envs > 1 rollouts with per-environment HDRI swaps for cheap domain randomization. RGB stays on the GPU as (B, H, W, 3) uint8.

Multiple cameras and parallel environments
Gaussian-splat scenes

Drop captured-real environments straight into a simulated scene as a light field for photoreal backgrounds in synthetic data.

Gaussian splat

Get started in a minute#

Install the wheel from PyPI (see Installation for the full requirements):

pip install gs-nyx-plugin

Then swap your Genesis camera for a Nyx sensor:

import genesis as gs
import gs_nyx.nyx_py_renderer as npr
import gs_nyx.nyx_py_sdk as nps
from gs_nyx_plugin.nyx_camera_options import NyxCameraOptions

gs.init()

scene = gs.Scene(show_viewer=False)
cam = scene.add_sensor(NyxCameraOptions(
    res         = (1280, 720),
    pos         = (-1.0, 1.0, 1.2),
    lookat      = (0.0, 0.0, 0.1),
    spp         = 32,
    render_mode = npr.ERenderMode.FastPathTracer,
))

scene.build(n_envs=1)
scene.step()
rgb = cam.read().rgb[0].cpu().numpy()  # (H, W, 3) uint8

Walk through the full version in Quickstart, or jump to Hello, Nyx for a complete runnable scene.

Find your way around#

  • Installation: wheel requirements, CUDA driver, version pinning.

  • Quickstart: render your first frame from an existing Genesis scene.

  • Concepts: the renderer lifecycle, scenes, and assets.

  • Supported features: what the plugin renders, what it doesn’t, and where the rough edges are.

  • Sensor lifecycle: operational details on the render-on-read model, multi-camera constraints, and the lighting model.

  • API reference: the full gs_nyx and gs_nyx_plugin API.