Home

Awesome

camera-project

stable

Projects a 3D world point into 2D window space.

var mat4 = require('gl-mat4')
var project = require('camera-project')

//projection * view matrix
var combinedProjView = mat4.multiply([], projection, view)

//viewport bounds
var viewport = [x, y, width, height]

//3D world point
var point = [0, -1, 2.5]

//vec4 output
var output = []

project(output, point, viewport, combinedProjView)

The output z component contains the window space depth, and w is the value of (1 / clip.w). Assumes depth range is 0 to 1.

Usage

NPM

vec4 = project(out, point, viewport, combined)

Projects the 3D point into window space using the viewport bounds (screen x, y, width, height) and combined matrix (result of multiplying projection * view matrices).

The result is stored in out and returned.

See Also

License

MIT, see LICENSE.md for details.