A Javascript port of the standard gluUnProject function used for mapping window coordinates to object coordinates.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
GLU.js
README.md

README.md

WebGL Unproject

This is a port of the usual gluUnProject function to javascript for use in WebGL applications. To use, read the included JSDoc for the unProject function -- it closely matches the API for the common C variant of the same function.

This code was originally written for picking support in Lanyard (http://github.com/fintler/lanyard). See lanyard.BasicOrbitView for a working example.

Simple Example

var viewportArray = [
    viewportOriginX, viewportOriginY, viewportWidth, viewportHeight
];

// The results of the operation will be stored in this array.
var modelPointArrayResults = [];

var success = GLU.unProject(
    windowPointX, windowPointY, windowPointZ,
    modelViewMatrix, projectionMatrix,
    viewportArray, modelPointArrayResults);

modelPointArrayResults[0] = <'x' model coordinate value>
modelPointArrayResults[1] = <'y' model coordinate value>
modelPointArrayResults[2] = <'z' model coordinate value>