Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/threejs_4_deno/src/Three.js>PerspectiveCamera#setViewOffset

A simple transformation of three.js for use within a Deno workflow
Go to Latest
method PerspectiveCamera.prototype.setViewOffset
Re-export
import { PerspectiveCamera } from "https://deno.land/x/threejs_4_deno@v121/src/Three.js";

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:

	 const w = 1920;
	 const h = 1080;
	 const fullWidth = w * 3;
	 const 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.

Parameters

fullWidth: number

full width of multiview setup

fullHeight: number

full height of multiview setup

x: number

horizontal offset of subcamera

y: number

vertical offset of subcamera

width: number

width of subcamera

height: number

height of subcamera