Spaces:
Running
Running
| import { Camera } from './Camera'; | |
| /** | |
| * Camera with perspective projection. | |
| * | |
| * # example | |
| * var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 ); | |
| * scene.add( camera ); | |
| * | |
| * @source https://github.com/mrdoob/three.js/blob/master/src/cameras/PerspectiveCamera.js | |
| */ | |
| export class PerspectiveCamera extends Camera { | |
| /** | |
| * @param fov Camera frustum vertical field of view. Default value is 50. | |
| * @param aspect Camera frustum aspect ratio. Default value is 1. | |
| * @param near Camera frustum near plane. Default value is 0.1. | |
| * @param far Camera frustum far plane. Default value is 2000. | |
| */ | |
| constructor(fov?: number, aspect?: number, near?: number, far?: number); | |
| type: 'PerspectiveCamera'; | |
| isPerspectiveCamera: true; | |
| zoom: number; | |
| /** | |
| * Camera frustum vertical field of view, from bottom to top of view, in degrees. | |
| */ | |
| fov: number; | |
| /** | |
| * Camera frustum aspect ratio, window width divided by window height. | |
| */ | |
| aspect: number; | |
| /** | |
| * Camera frustum near plane. | |
| */ | |
| near: number; | |
| /** | |
| * Camera frustum far plane. | |
| */ | |
| far: number; | |
| focus: number; | |
| view: null | { | |
| enabled: boolean; | |
| fullWidth: number; | |
| fullHeight: number; | |
| offsetX: number; | |
| offsetY: number; | |
| width: number; | |
| height: number; | |
| }; | |
| filmGauge: number; | |
| filmOffset: number; | |
| setFocalLength(focalLength: number): void; | |
| getFocalLength(): number; | |
| getEffectiveFOV(): number; | |
| getFilmWidth(): number; | |
| getFilmHeight(): number; | |
| /** | |
| * Sets an offset in a larger frustum. This is useful for multi-window or multi-monitor/multi-machine setups. | |
| * For example, if you have 3x2 monitors and each monitor is 1920x1080 and the monitors are in grid like this: | |
| * | |
| * +---+---+---+ | |
| * | A | B | C | | |
| * +---+---+---+ | |
| * | D | E | F | | |
| * +---+---+---+ | |
| * | |
| * then for each monitor you would call it like this: | |
| * | |
| * var w = 1920; | |
| * var h = 1080; | |
| * var fullWidth = w * 3; | |
| * var fullHeight = h * 2; | |
| * | |
| * // A | |
| * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); | |
| * // B | |
| * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); | |
| * // C | |
| * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); | |
| * // D | |
| * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); | |
| * // E | |
| * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); | |
| * // F | |
| * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h ); Note there is no reason monitors have to be the same size or in a grid. | |
| * | |
| * @param fullWidth full width of multiview setup | |
| * @param fullHeight full height of multiview setup | |
| * @param x horizontal offset of subcamera | |
| * @param y vertical offset of subcamera | |
| * @param width width of subcamera | |
| * @param height height of subcamera | |
| */ | |
| setViewOffset( | |
| fullWidth: number, | |
| fullHeight: number, | |
| x: number, | |
| y: number, | |
| width: number, | |
| height: number | |
| ): void; | |
| clearViewOffset(): void; | |
| /** | |
| * Updates the camera projection matrix. Must be called after change of parameters. | |
| */ | |
| updateProjectionMatrix(): void; | |
| toJSON(meta?: any): any; | |
| /** | |
| * @deprecated Use {@link PerspectiveCamera#setFocalLength .setFocalLength()} and {@link PerspectiveCamera#filmGauge .filmGauge} instead. | |
| */ | |
| setLens(focalLength: number, frameHeight?: number): void; | |
| } | |