in mujoco_py/mjrendercontext.pyx [0:0]
def __init__(self, MjSim sim, bint offscreen=True, int device_id=-1, opengl_backend=None, quiet=False):
self.sim = sim
self._setup_opengl_context(offscreen, device_id, opengl_backend, quiet=quiet)
self.offscreen = offscreen
# Ensure the model data has been updated so that there
# is something to render
sim.forward()
sim.add_render_context(self)
self._model_ptr = sim.model.ptr
self._data_ptr = sim.data.ptr
self.scn = WrapMjvScene(&self._scn)
self.cam = WrapMjvCamera(&self._cam)
self.vopt = WrapMjvOption(&self._vopt)
self.con = WrapMjrContext(&self._con)
self._pert.active = 0
self._pert.select = 0
self._pert.skinselect = -1
self.pert = WrapMjvPerturb(&self._pert)
self._markers = []
self._overlay = {}
self._init_camera(sim)
self._set_mujoco_buffers()