Skip to content

Commit dbf41fc

Browse files
committed
Update all scripts from dev branch of three.js
1 parent a6294c6 commit dbf41fc

File tree

3 files changed

+41
-27
lines changed

3 files changed

+41
-27
lines changed

js/deps/VRControls.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ THREE.VRControls = function ( object, onError ) {
1515

1616
var oculusDevices = devices.filter( function ( device ) {
1717

18-
return device.deviceName.toLowerCase().indexOf('oculus') !== -1;
18+
return device.deviceName.toLowerCase().indexOf( 'oculus' ) !== - 1;
1919

2020
} );
2121

2222
if ( oculusDevices.length >= 1 ) {
2323

2424
return devices.filter( function ( device ) {
2525

26-
return device.deviceName.toLowerCase().indexOf('cardboard') === -1;
26+
return device.deviceName.toLowerCase().indexOf( 'cardboard' ) === - 1;
2727

2828
} );
2929

@@ -111,9 +111,15 @@ THREE.VRControls = function ( object, onError ) {
111111

112112
this.zeroSensor = function () {
113113

114-
THREE.warn( 'THREE.VRControls: .zeroSensor() is now .resetSensor().' );
114+
console.warn( 'THREE.VRControls: .zeroSensor() is now .resetSensor().' );
115115
this.resetSensor();
116116

117117
};
118118

119+
this.dispose = function () {
120+
121+
vrInputs = [];
122+
123+
};
124+
119125
};

js/deps/VREffect.js

+25-24
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ THREE.VREffect = function ( renderer, onError ) {
115115

116116
var sceneL, sceneR;
117117

118-
if ( scene instanceof Array ) {
118+
if ( Array.isArray( scene ) ) {
119119

120120
sceneL = scene[ 0 ];
121121
sceneR = scene[ 1 ];
@@ -162,7 +162,7 @@ THREE.VREffect = function ( renderer, onError ) {
162162

163163
// Regular render mode if not HMD
164164

165-
if ( scene instanceof Array ) scene = scene[ 0 ];
165+
if ( Array.isArray( scene ) ) scene = scene[ 0 ];
166166

167167
renderer.render( scene, camera );
168168

@@ -172,10 +172,10 @@ THREE.VREffect = function ( renderer, onError ) {
172172

173173
function fovToNDCScaleOffset( fov ) {
174174

175-
var pxscale = 2.0 / (fov.leftTan + fov.rightTan);
176-
var pxoffset = (fov.leftTan - fov.rightTan) * pxscale * 0.5;
177-
var pyscale = 2.0 / (fov.upTan + fov.downTan);
178-
var pyoffset = (fov.upTan - fov.downTan) * pyscale * 0.5;
175+
var pxscale = 2.0 / ( fov.leftTan + fov.rightTan );
176+
var pxoffset = ( fov.leftTan - fov.rightTan ) * pxscale * 0.5;
177+
var pyscale = 2.0 / ( fov.upTan + fov.downTan );
178+
var pyoffset = ( fov.upTan - fov.downTan ) * pyscale * 0.5;
179179
return { scale: [ pxscale, pyscale ], offset: [ pxoffset, pyoffset ] };
180180

181181
}
@@ -186,44 +186,45 @@ THREE.VREffect = function ( renderer, onError ) {
186186
zNear = zNear === undefined ? 0.01 : zNear;
187187
zFar = zFar === undefined ? 10000.0 : zFar;
188188

189-
var handednessScale = rightHanded ? -1.0 : 1.0;
189+
var handednessScale = rightHanded ? - 1.0 : 1.0;
190190

191191
// start with an identity matrix
192192
var mobj = new THREE.Matrix4();
193193
var m = mobj.elements;
194194

195195
// and with scale/offset info for normalized device coords
196-
var scaleAndOffset = fovToNDCScaleOffset(fov);
196+
var scaleAndOffset = fovToNDCScaleOffset( fov );
197197

198198
// X result, map clip edges to [-w,+w]
199-
m[0 * 4 + 0] = scaleAndOffset.scale[0];
200-
m[0 * 4 + 1] = 0.0;
201-
m[0 * 4 + 2] = scaleAndOffset.offset[0] * handednessScale;
202-
m[0 * 4 + 3] = 0.0;
199+
m[ 0 * 4 + 0 ] = scaleAndOffset.scale[ 0 ];
200+
m[ 0 * 4 + 1 ] = 0.0;
201+
m[ 0 * 4 + 2 ] = scaleAndOffset.offset[ 0 ] * handednessScale;
202+
m[ 0 * 4 + 3 ] = 0.0;
203203

204204
// Y result, map clip edges to [-w,+w]
205205
// Y offset is negated because this proj matrix transforms from world coords with Y=up,
206206
// but the NDC scaling has Y=down (thanks D3D?)
207-
m[1 * 4 + 0] = 0.0;
208-
m[1 * 4 + 1] = scaleAndOffset.scale[1];
209-
m[1 * 4 + 2] = -scaleAndOffset.offset[1] * handednessScale;
210-
m[1 * 4 + 3] = 0.0;
207+
m[ 1 * 4 + 0 ] = 0.0;
208+
m[ 1 * 4 + 1 ] = scaleAndOffset.scale[ 1 ];
209+
m[ 1 * 4 + 2 ] = - scaleAndOffset.offset[ 1 ] * handednessScale;
210+
m[ 1 * 4 + 3 ] = 0.0;
211211

212212
// Z result (up to the app)
213-
m[2 * 4 + 0] = 0.0;
214-
m[2 * 4 + 1] = 0.0;
215-
m[2 * 4 + 2] = zFar / (zNear - zFar) * -handednessScale;
216-
m[2 * 4 + 3] = (zFar * zNear) / (zNear - zFar);
213+
m[ 2 * 4 + 0 ] = 0.0;
214+
m[ 2 * 4 + 1 ] = 0.0;
215+
m[ 2 * 4 + 2 ] = zFar / ( zNear - zFar ) * - handednessScale;
216+
m[ 2 * 4 + 3 ] = ( zFar * zNear ) / ( zNear - zFar );
217217

218218
// W result (= Z in)
219-
m[3 * 4 + 0] = 0.0;
220-
m[3 * 4 + 1] = 0.0;
221-
m[3 * 4 + 2] = handednessScale;
222-
m[3 * 4 + 3] = 0.0;
219+
m[ 3 * 4 + 0 ] = 0.0;
220+
m[ 3 * 4 + 1 ] = 0.0;
221+
m[ 3 * 4 + 2 ] = handednessScale;
222+
m[ 3 * 4 + 3 ] = 0.0;
223223

224224
mobj.transpose();
225225

226226
return mobj;
227+
227228
}
228229

229230
function fovToProjection( fov, rightHanded, zNear, zFar ) {

update.sh

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/usr/bin/env bash
2+
# Fetch the latest versions of three.js, VRControls and VREffect from the
3+
# three.js repository.
4+
5+
curl -o js/deps/VRControls.js https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/js/controls/VRControls.js
6+
curl -o js/deps/VREffect.js https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/js/effects/VREffect.js
7+
curl -o js/deps/three.js http://threejs.org/build/three.js

0 commit comments

Comments
 (0)