babylon.anaglyphFreeCamera.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. module BABYLON {
  2. Node.AddNodeConstructor("AnaglyphFreeCamera", (name, scene, options) => {
  3. return () => new AnaglyphFreeCamera(name, Vector3.Zero(), options.interaxial_distance, scene);
  4. });
  5. /**
  6. * Camera used to simulate anaglyphic rendering (based on FreeCamera)
  7. * @see http://doc.babylonjs.com/features/cameras#anaglyph-cameras
  8. */
  9. export class AnaglyphFreeCamera extends FreeCamera {
  10. /**
  11. * Creates a new AnaglyphFreeCamera
  12. * @param name defines camera name
  13. * @param position defines initial position
  14. * @param interaxialDistance defines distance between each color axis
  15. * @param scene defines the hosting scene
  16. */
  17. constructor(name: string, position: Vector3, interaxialDistance: number, scene: Scene) {
  18. super(name, position, scene);
  19. this.interaxialDistance = interaxialDistance;
  20. this.setCameraRigMode(Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH, { interaxialDistance: interaxialDistance });
  21. }
  22. /**
  23. * Gets camera class name
  24. * @returns AnaglyphFreeCamera
  25. */
  26. public getClassName(): string {
  27. return "AnaglyphFreeCamera";
  28. }
  29. }
  30. }