three-stdlib
Version:
stand-alone library of threejs examples
37 lines (36 loc) • 1.25 kB
JavaScript
import { StereoCamera, Vector2 } from "three";
class StereoEffect {
constructor(renderer) {
const _stereo = new StereoCamera();
_stereo.aspect = 0.5;
const size = new Vector2();
this.setEyeSeparation = function(eyeSep) {
_stereo.eyeSep = eyeSep;
};
this.setSize = function(width, height) {
renderer.setSize(width, height);
};
this.render = function(scene, camera) {
if (scene.matrixWorldAutoUpdate === true)
scene.updateMatrixWorld();
if (camera.parent === null && camera.matrixWorldAutoUpdate === true)
camera.updateMatrixWorld();
_stereo.update(camera);
renderer.getSize(size);
if (renderer.autoClear)
renderer.clear();
renderer.setScissorTest(true);
renderer.setScissor(0, 0, size.width / 2, size.height);
renderer.setViewport(0, 0, size.width / 2, size.height);
renderer.render(scene, _stereo.cameraL);
renderer.setScissor(size.width / 2, 0, size.width / 2, size.height);
renderer.setViewport(size.width / 2, 0, size.width / 2, size.height);
renderer.render(scene, _stereo.cameraR);
renderer.setScissorTest(false);
};
}
}
export {
StereoEffect
};
//# sourceMappingURL=StereoEffect.js.map