rgl.open {rgl} | R Documentation

## 3D visualization device system

### Description

3D real-time rendering system.

### Usage

    # Low level rgl.* interface
    rgl.open(useNULL = rgl.useNULL())     # open new device
    rgl.close()    # close current device
    rgl.cur()      # returns active device ID
    rgl.dev.list() # returns all device IDs
    rgl.set(which, silent = FALSE) # set device as active
    rgl.quit()     # shutdown rgl device system
    rgl.init(initValue = 0, onlyNULL = FALSE)     # re-initialize rgl

### Arguments

`useNULL` | whether to open the “null” device
`which` | device ID
`silent` | whether to suppress update of window titles
`initValue` | value for internal use only
`onlyNULL` | only initialize the null (no display) device

### Details

The rgl device design is oriented towards the R device metaphor. If you send scene management instructions, and there's no device open, it will be opened automatically. Opened devices automatically get the current device focus. The focus may be changed by using `rgl.set()`. `rgl.quit()` shuts down the rgl subsystem and all open devices, detaches the package including the shared library and additional system libraries.

The `rgl.open()` function attempts to open a new RGL window. If the `"rgl.antialias"` option is set, it will be used to select the requested antialiasing. (See `open3d` for more description of antialiasing and an alternative way to set the value.)

If `useNULL` is `TRUE`, rgl will use a “null” device. This device records objects as they are plotted, but displays nothing. It is intended for use with `writeWebGL` and similar functions.

If `rgl.open()` fails (e.g. because X windows is not running, or its `DISPLAY` variable is not set properly), then you can retry the initialization by calling `rgl.init()`. Do not do this when windows have already been successfully opened: they will be orphaned, with no way to remove them other than closing R. In fact, it's probably a good idea not to do this at all: quitting R and restarting it is a better solution.

This package also includes a higher level interface which is described in the r3d help topic. That interface is designed to act more like classic 2D R graphics. We recommend that you avoid mixing `rgl.*` and `*3d` calls.

See the first example below to display the ChangeLog.

### Value

`rgl.open`, `rgl.close` and `rgl.set` are called for their side effects and return no useful value. Similarly `rgl.init` and `rgl.quit` are not designed to return useful values; in fact, users shouldn't call them at all!

`rgl.cur` returns the currently active devices, or `0` if none is active; `rgl.dev.list` returns a vector of all open devices. Both functions name the items according to the type of device: `null` for a hidden null device, `wgl` for a Windows device, and `glX` for an X windows device.

### See Also

r3d, `rgl.clear`, `rgl.pop`, `rgl.viewpoint`, `rgl.light`, `rgl.bg`, `rgl.bbox`, `rgl.points`, `rgl.lines`, `rgl.triangles`, `rgl.quads`, `rgl.texts`, `rgl.surface`, `rgl.spheres`, `rgl.sprites`, `rgl.snapshot`, `rgl.useNULL`

[Package rgl version 0.99.16 Index]