diff --git a/threejs/tests/examples/effects/vreffect.ts b/threejs/tests/examples/effects/vreffect.ts
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/threejs/three-tests.ts b/threejs/three-tests.ts
index 0693d40bd1..64213831a6 100644
--- a/threejs/three-tests.ts
+++ b/threejs/three-tests.ts
@@ -59,3 +59,4 @@ THE SOFTWARE.
// 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;
+ }
+}