camera-project

1.0.2 • Public • Published

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.

Package Sidebar

Install

npm i camera-project

Weekly Downloads

436

Version

1.0.2

License

MIT

Last publish

Collaborators

  • mattdesl