A simple library-agnostic arcball camera in Javascript
MIT License
A simple library-agnostic arcball camera in Javascript
npm install arcball
var ArcballCamera = require('arcball').ArcballCamera;
var camera = new ArcballCamera();
// ... in mouse event handler
camera.update(mouse_x, mouse_y, {
rotate: mouse_left_clicked,
pan: mouse_right_clicked,
zoom: mouse_middle_clicked
});
// ... in rendering loop
var camera_matrix = camera.matrix();
ArcballCamera()
The main camera object
ArcballCamera.update(mouse_x, mouse_y, flags)
Updates the camera state using the mouse input. mouse_x
and mouse_y
are the x/y coordinates of the mouse, flags
is an object containing the boolean flags rotate
, pan
, and zoom
which determine how to rotate the camera.
ArcballCamera.matrix()
Returns a 4x4 homogeneous transformation matrix representing the position of the object relative to the arcball camera.
(c) 2013 Mikola Lysenko ([email protected]). MIT License