def _worker_render()

in mujoco_py/mjrenderpool.py [0:0]


    def _worker_render(worker_id, state, width, height,
                       camera_name, randomize):
        """
        Main target function for the workers.
        """
        s = _render_pool_storage

        forward = False
        if state is not None:
            s.sim.set_state(state)
            forward = True
        if randomize and s.modder is not None:
            s.modder.randomize()
            forward = True
        if forward:
            s.sim.forward()

        rgb_block = width * height * 3
        rgb_offset = rgb_block * worker_id
        rgb = s.shared_rgbs_array[rgb_offset:rgb_offset + rgb_block]
        rgb = rgb.reshape(height, width, 3)

        depth_block = width * height
        depth_offset = depth_block * worker_id
        depth = s.shared_depths_array[depth_offset:depth_offset + depth_block]
        depth = depth.reshape(height, width)

        rgb[:], depth[:] = s.sim.render(
            width, height, camera_name=camera_name, depth=True,
            device_id=s.device_id)