def set_view_offset(full_width, full_height, x, y, width, height)
      @full_width = full_width
      @full_height = full_height
      @x = x
      @y = y
      @width = width
      @height = height

      update_projection_matrix
    end
def set_view_offset(full_width, full_height, x, y, width, height)
      @full_width = full_width
      @full_height = full_height
      @x = x
      @y = y
      @width = width
      @height = height

      update_projection_matrix
    end
Sets an offset in a larger frustum. This is useful for multi-window or
 multi-monitor/multi-machine setups.

 For example, if you have 3x2 monitors and each monitor is 1920x1080 and
 the monitors are in grid like this

 +---+---+---+
 | A | B | C |
 +---+---+---+
 | D | E | F |
 +---+---+---+

 then for each monitor you would call it like this

 var w = 1920;
 var h = 1080;
 var fullWidth = w * 3;
 var fullHeight = h * 2;

 --A--
 camera.setOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );
 --B--
 camera.setOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );
 --C--
 camera.setOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );
 --D--
 camera.setOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );
 --E--
 camera.setOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );
 --F--
 camera.setOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );

 Note there is no reason monitors have to be the same size or in a grid.