diff --git a/threejs/tests/examples/effects/vreffect.ts b/threejs/tests/examples/effects/vreffect.ts
new file mode 100644
index 0000000000..2e0fbca8e5
--- /dev/null
+++ b/threejs/tests/examples/effects/vreffect.ts
@@ -0,0 +1,16 @@
+///
+///
+
+var _vrEffect: THREE.VREffect;
+
+_vrEffect = new THREE.VREffect(new THREE.WebGLRenderer({antialias: true}), (error) => {
+ if (error) {
+ this._stats.classList.add("error");
+ this._stats.innerHTML = "WebVR API not supported";
+ this._vrAvailable = false;
+ }
+});
+
+_vrEffect.setSize(100, 100);
+_vrEffect.render(new THREE.Scene(), new THREE.Camera());
+_vrEffect.setFullScreen(true);
diff --git a/threejs/three-tests.ts b/threejs/three-tests.ts
index 0693d40bd1..ec3018c3e7 100644
--- a/threejs/three-tests.ts
+++ b/threejs/three-tests.ts
@@ -57,5 +57,6 @@ THE SOFTWARE.
///
///
-// examples test.
+// examples test
///
+///
diff --git a/threejs/three-vreffect.d.ts b/threejs/three-vreffect.d.ts
new file mode 100644
index 0000000000..2fab612808
--- /dev/null
+++ b/threejs/three-vreffect.d.ts
@@ -0,0 +1,31 @@
+// Type definitions for three.js (VREffect.js)
+// Project: https://github.com/mrdoob/three.js/blob/master/examples/js/effects/VREffect.js
+// Definitions by: Toshiya Nakakura
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module THREE {
+ export class VREffect {
+ constructor(renderer: Renderer, callback?: (params: string)=>void);
+ render(scene: Scene, camera: Camera): void;
+ setSize(width: number, height: number): void;
+ setFullScreen(flag: boolean): void;
+ startFullscreen(): void;
+ FovToNDCScaleOffset(fov: VRFov): VREffectOffset;
+ FovPortToProjection(fov: VRFov, rightHanded: boolean, zNear: number, zFar: number): Matrix4;
+ FovToProjection(fov: VRFov, rightHanded: boolean, zNear: number, zFar: number): Matrix4;
+ }
+
+ export interface VRFov{
+ leftTan: number;
+ rightTan: number;
+ upTan: number;
+ downTan: number;
+ }
+
+ export interface VREffectOffset{
+ scale: number;
+ offset: number;
+ }
+}