@math.gl/culling 3.6.0-alpha.5 → 3.6.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es5/lib/algorithms/compute-eigen-decomposition.js.map +1 -1
- package/dist/es5/lib/bounding-volumes/axis-aligned-bounding-box.js.map +1 -1
- package/dist/es5/lib/bounding-volumes/oriented-bounding-box.js.map +1 -1
- package/dist/es5/lib/perspective-frustum.js +63 -58
- package/dist/es5/lib/perspective-frustum.js.map +1 -1
- package/dist/es5/lib/perspective-off-center-frustum.js +51 -51
- package/dist/es5/lib/perspective-off-center-frustum.js.map +1 -1
- package/dist/es5/lib/plane.js.map +1 -1
- package/dist/esm/lib/algorithms/compute-eigen-decomposition.js.map +1 -1
- package/dist/esm/lib/bounding-volumes/axis-aligned-bounding-box.js.map +1 -1
- package/dist/esm/lib/bounding-volumes/oriented-bounding-box.js.map +1 -1
- package/dist/esm/lib/perspective-frustum.js +60 -55
- package/dist/esm/lib/perspective-frustum.js.map +1 -1
- package/dist/esm/lib/perspective-off-center-frustum.js +48 -46
- package/dist/esm/lib/perspective-off-center-frustum.js.map +1 -1
- package/dist/esm/lib/plane.js.map +1 -1
- package/dist/lib/bounding-volumes/axis-aligned-bounding-box.d.ts +1 -1
- package/dist/lib/bounding-volumes/axis-aligned-bounding-box.d.ts.map +1 -1
- package/dist/lib/bounding-volumes/oriented-bounding-box.d.ts +2 -2
- package/dist/lib/bounding-volumes/oriented-bounding-box.d.ts.map +1 -1
- package/dist/lib/perspective-frustum.d.ts +52 -40
- package/dist/lib/perspective-frustum.d.ts.map +1 -1
- package/dist/lib/perspective-frustum.js +81 -96
- package/dist/lib/perspective-off-center-frustum.d.ts +74 -38
- package/dist/lib/perspective-off-center-frustum.d.ts.map +1 -1
- package/dist/lib/perspective-off-center-frustum.js +64 -99
- package/dist/lib/plane.d.ts +8 -8
- package/dist/lib/plane.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/lib/algorithms/compute-eigen-decomposition.ts +3 -3
- package/src/lib/bounding-volumes/axis-aligned-bounding-box.ts +2 -2
- package/src/lib/bounding-volumes/oriented-bounding-box.ts +2 -2
- package/src/lib/perspective-frustum.ts +115 -118
- package/src/lib/perspective-off-center-frustum.ts +137 -131
- package/src/lib/plane.ts +11 -8
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
// Note: This class is still an experimental export, mainly used by other test cases
|
|
4
4
|
// - It has not been fully adapted to math.gl conventions
|
|
5
5
|
// - Documentation has not been ported
|
|
6
|
-
|
|
7
|
-
import { assert } from '@math.gl/core';
|
|
6
|
+
import { assert, Vector2 } from '@math.gl/core';
|
|
8
7
|
import PerspectiveOffCenterFrustum from './perspective-off-center-frustum';
|
|
9
8
|
const defined = (val) => val !== null && typeof val !== 'undefined';
|
|
10
9
|
/**
|
|
@@ -14,15 +13,6 @@ const defined = (val) => val !== null && typeof val !== 'undefined';
|
|
|
14
13
|
* plane from the origin/camera position.
|
|
15
14
|
*
|
|
16
15
|
* @alias PerspectiveFrustum
|
|
17
|
-
* @constructor
|
|
18
|
-
*
|
|
19
|
-
* @param {Object} [options] An object with the following properties:
|
|
20
|
-
* @param {Number} [options.fov] The angle of the field of view (FOV), in radians.
|
|
21
|
-
* @param {Number} [options.aspectRatio] The aspect ratio of the frustum's width to it's height.
|
|
22
|
-
* @param {Number} [options.near=1.0] The distance of the near plane.
|
|
23
|
-
* @param {Number} [options.far=500000000.0] The distance of the far plane.
|
|
24
|
-
* @param {Number} [options.xOffset=0.0] The offset in the x direction.
|
|
25
|
-
* @param {Number} [options.yOffset=0.0] The offset in the y direction.
|
|
26
16
|
*
|
|
27
17
|
* @example
|
|
28
18
|
* var frustum = new PerspectiveFrustum({
|
|
@@ -37,23 +27,13 @@ const defined = (val) => val !== null && typeof val !== 'undefined';
|
|
|
37
27
|
export default class PerspectiveFrustum {
|
|
38
28
|
constructor(options = {}) {
|
|
39
29
|
this._offCenterFrustum = new PerspectiveOffCenterFrustum();
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.fov = options.fov;
|
|
48
|
-
this.aspectRatio = options.aspectRatio;
|
|
49
|
-
this.near = options.near;
|
|
50
|
-
this._near = this.near;
|
|
51
|
-
this.far = options.far;
|
|
52
|
-
this._far = this.far;
|
|
53
|
-
this.xOffset = options.xOffset;
|
|
54
|
-
this._xOffset = this.xOffset;
|
|
55
|
-
this.yOffset = options.yOffset;
|
|
56
|
-
this._yOffset = this.yOffset;
|
|
30
|
+
const { fov, aspectRatio, near = 1.0, far = 500000000.0, xOffset = 0.0, yOffset = 0.0 } = options;
|
|
31
|
+
this.fov = fov;
|
|
32
|
+
this.aspectRatio = aspectRatio;
|
|
33
|
+
this.near = near;
|
|
34
|
+
this.far = far;
|
|
35
|
+
this.xOffset = xOffset;
|
|
36
|
+
this.yOffset = yOffset;
|
|
57
37
|
}
|
|
58
38
|
/**
|
|
59
39
|
* Returns a duplicate of a PerspectiveFrustum instance.
|
|
@@ -74,8 +54,8 @@ export default class PerspectiveFrustum {
|
|
|
74
54
|
if (!defined(other) || !(other instanceof PerspectiveFrustum)) {
|
|
75
55
|
return false;
|
|
76
56
|
}
|
|
77
|
-
|
|
78
|
-
|
|
57
|
+
this._update();
|
|
58
|
+
other._update();
|
|
79
59
|
return (this.fov === other.fov &&
|
|
80
60
|
this.aspectRatio === other.aspectRatio &&
|
|
81
61
|
this.near === other.near &&
|
|
@@ -83,57 +63,54 @@ export default class PerspectiveFrustum {
|
|
|
83
63
|
this._offCenterFrustum.equals(other._offCenterFrustum));
|
|
84
64
|
}
|
|
85
65
|
/**
|
|
86
|
-
* Gets the perspective projection matrix computed from the view
|
|
66
|
+
* Gets the perspective projection matrix computed from the view this.
|
|
87
67
|
*/
|
|
88
68
|
get projectionMatrix() {
|
|
89
|
-
|
|
69
|
+
this._update();
|
|
90
70
|
return this._offCenterFrustum.projectionMatrix;
|
|
91
71
|
}
|
|
92
72
|
/**
|
|
93
73
|
* The perspective projection matrix computed from the view frustum with an infinite far plane.
|
|
94
74
|
*/
|
|
95
75
|
get infiniteProjectionMatrix() {
|
|
96
|
-
|
|
76
|
+
this._update();
|
|
97
77
|
return this._offCenterFrustum.infiniteProjectionMatrix;
|
|
98
78
|
}
|
|
99
79
|
/**
|
|
100
80
|
* Gets the angle of the vertical field of view, in radians.
|
|
101
81
|
*/
|
|
102
82
|
get fovy() {
|
|
103
|
-
|
|
83
|
+
this._update();
|
|
104
84
|
return this._fovy;
|
|
105
85
|
}
|
|
106
86
|
/**
|
|
107
87
|
* @private
|
|
108
88
|
*/
|
|
109
89
|
get sseDenominator() {
|
|
110
|
-
|
|
90
|
+
this._update();
|
|
111
91
|
return this._sseDenominator;
|
|
112
92
|
}
|
|
113
93
|
/**
|
|
114
|
-
* Creates a culling volume for this
|
|
115
|
-
*
|
|
116
|
-
* @param {Vector3} position The eye position.
|
|
117
|
-
* @param {Vector3} direction The view direction.
|
|
118
|
-
* @param {Vector3} up The up direction.
|
|
94
|
+
* Creates a culling volume for this this.ion.
|
|
119
95
|
* @returns {CullingVolume} A culling volume at the given position and orientation.
|
|
120
96
|
*
|
|
121
97
|
* @example
|
|
122
|
-
* // Check if a bounding volume intersects the
|
|
123
|
-
* var cullingVolume =
|
|
98
|
+
* // Check if a bounding volume intersects the this.
|
|
99
|
+
* var cullingVolume = this.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
|
|
124
100
|
* var intersect = cullingVolume.computeVisibility(boundingVolume);
|
|
125
101
|
*/
|
|
126
|
-
computeCullingVolume(
|
|
127
|
-
|
|
102
|
+
computeCullingVolume(
|
|
103
|
+
/** A Vector3 defines the eye position. */
|
|
104
|
+
position,
|
|
105
|
+
/** A Vector3 defines the view direction. */
|
|
106
|
+
direction,
|
|
107
|
+
/** A Vector3 defines the up direction. */
|
|
108
|
+
up) {
|
|
109
|
+
this._update();
|
|
128
110
|
return this._offCenterFrustum.computeCullingVolume(position, direction, up);
|
|
129
111
|
}
|
|
130
112
|
/**
|
|
131
113
|
* Returns the pixel's width and height in meters.
|
|
132
|
-
*
|
|
133
|
-
* @param {Number} drawingBufferWidth The width of the drawing buffer.
|
|
134
|
-
* @param {Number} drawingBufferHeight The height of the drawing buffer.
|
|
135
|
-
* @param {Number} distance The distance to the near plane in meters.
|
|
136
|
-
* @param {Vector2} result The object onto which to store the result.
|
|
137
114
|
* @returns {Vector2} The modified result parameter or a new instance of {@link Vector2} with the pixel's width and height in the x and y properties, respectively.
|
|
138
115
|
*
|
|
139
116
|
* @exception {DeveloperError} drawingBufferWidth must be greater than zero.
|
|
@@ -142,7 +119,7 @@ export default class PerspectiveFrustum {
|
|
|
142
119
|
* @example
|
|
143
120
|
* // Example 1
|
|
144
121
|
* // Get the width and height of a pixel.
|
|
145
|
-
* var pixelSize = camera.
|
|
122
|
+
* var pixelSize = camera.this.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, new Vector2());
|
|
146
123
|
*
|
|
147
124
|
* @example
|
|
148
125
|
* // Example 2
|
|
@@ -153,53 +130,61 @@ export default class PerspectiveFrustum {
|
|
|
153
130
|
* var toCenter = Vector3.subtract(primitive.boundingVolume.center, position, new Vector3()); // vector from camera to a primitive
|
|
154
131
|
* var toCenterProj = Vector3.multiplyByScalar(direction, Vector3.dot(direction, toCenter), new Vector3()); // project vector onto camera direction vector
|
|
155
132
|
* var distance = Vector3.magnitude(toCenterProj);
|
|
156
|
-
* var pixelSize = camera.
|
|
133
|
+
* var pixelSize = camera.this.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, distance, new Vector2());
|
|
157
134
|
*/
|
|
158
|
-
getPixelDimensions(
|
|
159
|
-
|
|
160
|
-
|
|
135
|
+
getPixelDimensions(
|
|
136
|
+
/** The width of the drawing buffer. */
|
|
137
|
+
drawingBufferWidth,
|
|
138
|
+
/** The height of the drawing buffer. */
|
|
139
|
+
drawingBufferHeight,
|
|
140
|
+
/** The distance to the near plane in meters. */
|
|
141
|
+
distance,
|
|
142
|
+
/** The object onto which to store the result. */
|
|
143
|
+
result) {
|
|
144
|
+
this._update();
|
|
145
|
+
return this._offCenterFrustum.getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, result || new Vector2());
|
|
161
146
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
147
|
+
// eslint-disable-next-line complexity, max-statements
|
|
148
|
+
_update() {
|
|
149
|
+
assert(Number.isFinite(this.fov) &&
|
|
150
|
+
Number.isFinite(this.aspectRatio) &&
|
|
151
|
+
Number.isFinite(this.near) &&
|
|
152
|
+
Number.isFinite(this.far));
|
|
153
|
+
// 'fov, aspectRatio, near, or far parameters are not set.'
|
|
154
|
+
const f = this._offCenterFrustum;
|
|
155
|
+
if (this.fov !== this._fov ||
|
|
156
|
+
this.aspectRatio !== this._aspectRatio ||
|
|
157
|
+
this.near !== this._near ||
|
|
158
|
+
this.far !== this._far ||
|
|
159
|
+
this.xOffset !== this._xOffset ||
|
|
160
|
+
this.yOffset !== this._yOffset) {
|
|
161
|
+
assert(this.fov >= 0 && this.fov < Math.PI);
|
|
162
|
+
// throw new DeveloperError('fov must be in the range [0, PI).');
|
|
163
|
+
assert(this.aspectRatio > 0);
|
|
164
|
+
// throw new DeveloperError('aspectRatio must be positive.');
|
|
165
|
+
assert(this.near >= 0 && this.near < this.far);
|
|
166
|
+
// throw new DeveloperError('near must be greater than zero and less than far.');
|
|
167
|
+
this._aspectRatio = this.aspectRatio;
|
|
168
|
+
this._fov = this.fov;
|
|
169
|
+
this._fovy =
|
|
170
|
+
this.aspectRatio <= 1
|
|
171
|
+
? this.fov
|
|
172
|
+
: Math.atan(Math.tan(this.fov * 0.5) / this.aspectRatio) * 2.0;
|
|
173
|
+
this._near = this.near;
|
|
174
|
+
this._far = this.far;
|
|
175
|
+
this._sseDenominator = 2.0 * Math.tan(0.5 * this._fovy);
|
|
176
|
+
this._xOffset = this.xOffset;
|
|
177
|
+
this._yOffset = this.yOffset;
|
|
178
|
+
f.top = this.near * Math.tan(0.5 * this._fovy);
|
|
179
|
+
f.bottom = -f.top;
|
|
180
|
+
f.right = this.aspectRatio * f.top;
|
|
181
|
+
f.left = -f.right;
|
|
182
|
+
f.near = this.near;
|
|
183
|
+
f.far = this.far;
|
|
184
|
+
f.right += this.xOffset;
|
|
185
|
+
f.left += this.xOffset;
|
|
186
|
+
f.top += this.yOffset;
|
|
187
|
+
f.bottom += this.yOffset;
|
|
188
|
+
}
|
|
204
189
|
}
|
|
205
190
|
}
|
|
@@ -1,21 +1,59 @@
|
|
|
1
|
-
import { Matrix4 } from '@math.gl/core';
|
|
1
|
+
import { Vector2, Matrix4, NumericArray } from '@math.gl/core';
|
|
2
2
|
import CullingVolume from './culling-volume';
|
|
3
|
+
declare type PerspectiveOffCenterFrustumOptions = {
|
|
4
|
+
left?: number;
|
|
5
|
+
right?: number;
|
|
6
|
+
top?: number;
|
|
7
|
+
bottom?: number;
|
|
8
|
+
near?: number;
|
|
9
|
+
far?: number;
|
|
10
|
+
};
|
|
3
11
|
export default class PerspectiveOffCenterFrustum {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Defines the left clipping plane.
|
|
14
|
+
* @type {Number}
|
|
15
|
+
* @default undefined
|
|
16
|
+
*/
|
|
17
|
+
left?: number;
|
|
18
|
+
private _left?;
|
|
19
|
+
/**
|
|
20
|
+
* Defines the right clipping plane.
|
|
21
|
+
* @type {Number}
|
|
22
|
+
* @default undefined
|
|
23
|
+
*/
|
|
24
|
+
right?: number;
|
|
25
|
+
private _right?;
|
|
26
|
+
/**
|
|
27
|
+
* Defines the top clipping plane.
|
|
28
|
+
* @type {Number}
|
|
29
|
+
* @default undefined
|
|
30
|
+
*/
|
|
31
|
+
top?: number;
|
|
32
|
+
private _top?;
|
|
33
|
+
/**
|
|
34
|
+
* Defines the bottom clipping plane.
|
|
35
|
+
* @type {Number}
|
|
36
|
+
* @default undefined
|
|
37
|
+
*/
|
|
38
|
+
bottom?: number;
|
|
39
|
+
private _bottom?;
|
|
40
|
+
/**
|
|
41
|
+
* The distance of the near plane.
|
|
42
|
+
* @type {Number}
|
|
43
|
+
* @default 1.0
|
|
44
|
+
*/
|
|
45
|
+
near: number;
|
|
46
|
+
private _near;
|
|
47
|
+
/**
|
|
48
|
+
* The distance of the far plane.
|
|
49
|
+
* @type {Number}
|
|
50
|
+
* @default 500000000.0
|
|
51
|
+
*/
|
|
52
|
+
far: number;
|
|
53
|
+
private _far;
|
|
54
|
+
private _cullingVolume;
|
|
55
|
+
private _perspectiveMatrix;
|
|
56
|
+
private _infinitePerspective;
|
|
19
57
|
/**
|
|
20
58
|
* The viewing frustum is defined by 6 planes.
|
|
21
59
|
* Each plane is represented by a {@link Vector4} object, where the x, y, and z components
|
|
@@ -23,15 +61,6 @@ export default class PerspectiveOffCenterFrustum {
|
|
|
23
61
|
* plane from the origin/camera position.
|
|
24
62
|
*
|
|
25
63
|
* @alias PerspectiveOffCenterFrustum
|
|
26
|
-
* @constructor
|
|
27
|
-
*
|
|
28
|
-
* @param {Object} [options] An object with the following properties:
|
|
29
|
-
* @param {Number} [options.left] The left clipping plane distance.
|
|
30
|
-
* @param {Number} [options.right] The right clipping plane distance.
|
|
31
|
-
* @param {Number} [options.top] The top clipping plane distance.
|
|
32
|
-
* @param {Number} [options.bottom] The bottom clipping plane distance.
|
|
33
|
-
* @param {Number} [options.near=1.0] The near clipping plane distance.
|
|
34
|
-
* @param {Number} [options.far=500000000.0] The far clipping plane distance.
|
|
35
64
|
*
|
|
36
65
|
* @example
|
|
37
66
|
* const frustum = new PerspectiveOffCenterFrustum({
|
|
@@ -45,7 +74,7 @@ export default class PerspectiveOffCenterFrustum {
|
|
|
45
74
|
*
|
|
46
75
|
* @see PerspectiveFrustum
|
|
47
76
|
*/
|
|
48
|
-
constructor(options?:
|
|
77
|
+
constructor(options?: PerspectiveOffCenterFrustumOptions);
|
|
49
78
|
/**
|
|
50
79
|
* Returns a duplicate of a PerspectiveOffCenterFrustum instance.
|
|
51
80
|
* @returns {PerspectiveOffCenterFrustum} A new PerspectiveFrustum instance.
|
|
@@ -55,10 +84,9 @@ export default class PerspectiveOffCenterFrustum {
|
|
|
55
84
|
* Compares the provided PerspectiveOffCenterFrustum componentwise and returns
|
|
56
85
|
* <code>true</code> if they are equal, <code>false</code> otherwise.
|
|
57
86
|
*
|
|
58
|
-
* @param {PerspectiveOffCenterFrustum} [other] The right hand side PerspectiveOffCenterFrustum.
|
|
59
87
|
* @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
|
|
60
88
|
*/
|
|
61
|
-
equals(other:
|
|
89
|
+
equals(other: PerspectiveOffCenterFrustum): boolean;
|
|
62
90
|
/**
|
|
63
91
|
* Gets the perspective projection matrix computed from the view frustum.
|
|
64
92
|
* @memberof PerspectiveOffCenterFrustum.prototype
|
|
@@ -77,10 +105,6 @@ export default class PerspectiveOffCenterFrustum {
|
|
|
77
105
|
get infiniteProjectionMatrix(): Matrix4;
|
|
78
106
|
/**
|
|
79
107
|
* Creates a culling volume for this frustum.
|
|
80
|
-
*
|
|
81
|
-
* @param {Vector3} position The eye position.
|
|
82
|
-
* @param {Vector3} direction The view direction.
|
|
83
|
-
* @param {Vector3} up The up direction.
|
|
84
108
|
* @returns {CullingVolume} A culling volume at the given position and orientation.
|
|
85
109
|
*
|
|
86
110
|
* @example
|
|
@@ -88,14 +112,16 @@ export default class PerspectiveOffCenterFrustum {
|
|
|
88
112
|
* const cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
|
|
89
113
|
* const intersect = cullingVolume.computeVisibility(boundingVolume);
|
|
90
114
|
*/
|
|
91
|
-
computeCullingVolume(
|
|
115
|
+
computeCullingVolume(
|
|
116
|
+
/** A Vector3 defines the eye position. */
|
|
117
|
+
position: Readonly<NumericArray>,
|
|
118
|
+
/** A Vector3 defines the view direction. */
|
|
119
|
+
direction: Readonly<NumericArray>,
|
|
120
|
+
/** A Vector3 defines the up direction. */
|
|
121
|
+
up: Readonly<NumericArray>): CullingVolume;
|
|
92
122
|
/**
|
|
93
123
|
* Returns the pixel's width and height in meters.
|
|
94
124
|
*
|
|
95
|
-
* @param {Number} drawingBufferWidth The width of the drawing buffer.
|
|
96
|
-
* @param {Number} drawingBufferHeight The height of the drawing buffer.
|
|
97
|
-
* @param {Number} distance The distance to the near plane in meters.
|
|
98
|
-
* @param {Vector2} result The object onto which to store the result.
|
|
99
125
|
* @returns {Vector2} The modified result parameter or a new instance of {@link Vector2} with the pixel's width and height in the x and y properties, respectively.
|
|
100
126
|
*
|
|
101
127
|
* @exception {DeveloperError} drawingBufferWidth must be greater than zero.
|
|
@@ -117,6 +143,16 @@ export default class PerspectiveOffCenterFrustum {
|
|
|
117
143
|
* const distance = Vector3.magnitude(toCenterProj);
|
|
118
144
|
* const pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, distance, new Vector2());
|
|
119
145
|
*/
|
|
120
|
-
getPixelDimensions(
|
|
146
|
+
getPixelDimensions(
|
|
147
|
+
/** The width of the drawing buffer. */
|
|
148
|
+
drawingBufferWidth: number,
|
|
149
|
+
/** The height of the drawing buffer. */
|
|
150
|
+
drawingBufferHeight: number,
|
|
151
|
+
/** The distance to the near plane in meters. */
|
|
152
|
+
distance: number,
|
|
153
|
+
/** The object onto which to store the result. */
|
|
154
|
+
result: Vector2): Vector2;
|
|
155
|
+
private _update;
|
|
121
156
|
}
|
|
157
|
+
export {};
|
|
122
158
|
//# sourceMappingURL=perspective-off-center-frustum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perspective-off-center-frustum.d.ts","sourceRoot":"","sources":["../../src/lib/perspective-off-center-frustum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"perspective-off-center-frustum.d.ts","sourceRoot":"","sources":["../../src/lib/perspective-off-center-frustum.ts"],"names":[],"mappings":"AAOA,OAAO,EAAU,OAAO,EAAE,OAAO,EAAU,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAS7C,aAAK,kCAAkC,GAAG;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC9C;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,KAAK,CAAS;IACtB;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,IAAI,CAAS;IAErB,OAAO,CAAC,cAAc,CAOnB;IACH,OAAO,CAAC,kBAAkB,CAAiB;IAC3C,OAAO,CAAC,oBAAoB,CAAiB;IAE7C;;;;;;;;;;;;;;;;;;;OAmBG;gBACS,OAAO,GAAE,kCAAuC;IAsB5D;;;SAGK;IACL,KAAK,IAAI,2BAA2B;IAWpC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO;IAanD;;;;;;OAMG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAG9B;IAED;;;;;;OAMG;IACH,IAAI,wBAAwB,IAAI,OAAO,CAGtC;IAED;;;;;;;;OAQG;IAEH,oBAAoB;IAClB,0CAA0C;IAC1C,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;IAChC,4CAA4C;IAC5C,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;IACjC,0CAA0C;IAC1C,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,GACzB,aAAa;IAmEhB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,kBAAkB;IAChB,uCAAuC;IACvC,kBAAkB,EAAE,MAAM;IAC1B,wCAAwC;IACxC,mBAAmB,EAAE,MAAM;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,MAAM;IAChB,iDAAiD;IACjD,MAAM,EAAE,OAAO,GACd,OAAO;IA0BV,OAAO,CAAC,OAAO;CAkDhB"}
|