node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »


canvas-orbit-camera experimental

An alternative wrapper for orbit-camera that works independently of game-shell.

Controls are as follows:

  • Rotate - Left click
  • Pan - Right click or Control + Left click
  • Zoom - Scroll or Shift + Left click

Based heavily on game-shell-orbit-camera.



camera = createCamera(canvas[, options])

Attaches a modified orbit-camera instance to the canvas – attaching the required event listeners for interaction.

The following options are available:

  • rotate: disable rotation interactions by passing false.
  • scale: disable scaling interactions by passing false.
  • pan: disable panning interactions by passing false.

See the orbit-camera documentation for a full list of available methods.


Call this at the beginning of each frame to update the current position of the camera.


Returns the current view matrix associated by the camera: a 16-element (4x4) Float32Array instance. Optionally, you can pass in your own array out here too.


var canvas = document.body.appendChild(document.createElement('canvas'))
var createCamera = require('canvas-orbit-camera')
var raf = require('raf')
var camera = createCamera(canvas)
function update() {
  // Returns your view matrix for you 
  var view = camera.view()


MIT. See for details.