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; + } +}