update method
dynamic
update()
Implementation
update() {
var geometry = this.geometry;
var pointMap = this.pointMap;
double w = 1, h = 1;
// we need just camera projection matrix inverse
// world matrix must be identity
_camera.projectionMatrixInverse.copy(camera.projectionMatrixInverse);
// center / target
setPoint('c', pointMap, geometry, _camera, 0, 0, -1);
setPoint('t', pointMap, geometry, _camera, 0, 0, 1);
// near
setPoint('n1', pointMap, geometry, _camera, -w, -h, -1);
setPoint('n2', pointMap, geometry, _camera, w, -h, -1);
setPoint('n3', pointMap, geometry, _camera, -w, h, -1);
setPoint('n4', pointMap, geometry, _camera, w, h, -1);
// far
setPoint('f1', pointMap, geometry, _camera, -w, -h, 1);
setPoint('f2', pointMap, geometry, _camera, w, -h, 1);
setPoint('f3', pointMap, geometry, _camera, -w, h, 1);
setPoint('f4', pointMap, geometry, _camera, w, h, 1);
// up
setPoint('u1', pointMap, geometry, _camera, w * 0.7, h * 1.1, -1);
setPoint('u2', pointMap, geometry, _camera, -w * 0.7, h * 1.1, -1);
setPoint('u3', pointMap, geometry, _camera, 0, h * 2, -1);
// cross
setPoint('cf1', pointMap, geometry, _camera, -w, 0, 1);
setPoint('cf2', pointMap, geometry, _camera, w, 0, 1);
setPoint('cf3', pointMap, geometry, _camera, 0, -h, 1);
setPoint('cf4', pointMap, geometry, _camera, 0, h, 1);
setPoint('cn1', pointMap, geometry, _camera, -w, 0, -1);
setPoint('cn2', pointMap, geometry, _camera, w, 0, -1);
setPoint('cn3', pointMap, geometry, _camera, 0, -h, -1);
setPoint('cn4', pointMap, geometry, _camera, 0, h, -1);
geometry!.getAttribute('position').needsUpdate = true;
}