camera-project
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
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.