@deck.gl/core 9.3.0-alpha.6 → 9.3.0-beta.1
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/dist.dev.js +125 -56
- package/dist/index.cjs +125 -60
- package/dist/index.cjs.map +3 -3
- package/dist/lib/attribute/attribute.d.ts +2 -0
- package/dist/lib/attribute/attribute.d.ts.map +1 -1
- package/dist/lib/attribute/attribute.js +57 -27
- package/dist/lib/attribute/attribute.js.map +1 -1
- package/dist/lib/constants.d.ts +11 -6
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +8 -9
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/init.js +2 -2
- package/dist/lib/init.js.map +1 -1
- package/dist/lib/layer.d.ts.map +1 -1
- package/dist/lib/layer.js +4 -6
- package/dist/lib/layer.js.map +1 -1
- package/dist/shaderlib/picking/picking.d.ts +1 -2
- package/dist/shaderlib/picking/picking.d.ts.map +1 -1
- package/dist/shaderlib/picking/picking.js +4 -4
- package/dist/shaderlib/picking/picking.js.map +1 -1
- package/dist/shaderlib/project/project-functions.d.ts.map +1 -1
- package/dist/shaderlib/project/project-functions.js +19 -10
- package/dist/shaderlib/project/project-functions.js.map +1 -1
- package/dist/shaderlib/project/project.glsl.d.ts.map +1 -1
- package/dist/shaderlib/project/project.glsl.js +10 -5
- package/dist/shaderlib/project/project.glsl.js.map +1 -1
- package/dist/shaderlib/project/project.wgsl.d.ts.map +1 -1
- package/dist/shaderlib/project/project.wgsl.js +10 -5
- package/dist/shaderlib/project/project.wgsl.js.map +1 -1
- package/dist/shaderlib/project/viewport-uniforms.d.ts +1 -0
- package/dist/shaderlib/project/viewport-uniforms.d.ts.map +1 -1
- package/dist/shaderlib/project/viewport-uniforms.js +28 -17
- package/dist/shaderlib/project/viewport-uniforms.js.map +1 -1
- package/dist/shaderlib/shadow/shadow.d.ts +1 -1
- package/dist/shaderlib/shadow/shadow.d.ts.map +1 -1
- package/dist/shaderlib/shadow/shadow.js +3 -2
- package/dist/shaderlib/shadow/shadow.js.map +1 -1
- package/dist.min.js +84 -84
- package/package.json +2 -2
- package/src/lib/attribute/attribute.ts +70 -27
- package/src/lib/constants.ts +18 -12
- package/src/lib/layer.ts +4 -6
- package/src/shaderlib/picking/picking.ts +4 -4
- package/src/shaderlib/project/project-functions.ts +20 -10
- package/src/shaderlib/project/project.glsl.ts +15 -6
- package/src/shaderlib/project/project.wgsl.ts +15 -6
- package/src/shaderlib/project/viewport-uniforms.ts +30 -21
- package/src/shaderlib/shadow/shadow.ts +6 -2
|
@@ -7,7 +7,7 @@ struct pickingUniforms {
|
|
|
7
7
|
isActive: f32,
|
|
8
8
|
isAttribute: f32,
|
|
9
9
|
isHighlightActive: f32,
|
|
10
|
-
|
|
10
|
+
useByteColors: f32,
|
|
11
11
|
highlightedObjectColor: vec3<f32>,
|
|
12
12
|
highlightColor: vec4<f32>,
|
|
13
13
|
};
|
|
@@ -15,11 +15,11 @@ struct pickingUniforms {
|
|
|
15
15
|
@group(0) @binding(auto) var<uniform> picking: pickingUniforms;
|
|
16
16
|
|
|
17
17
|
fn picking_normalizeColor(color: vec3<f32>) -> vec3<f32> {
|
|
18
|
-
return select(color / 255.0,
|
|
18
|
+
return select(color, color / 255.0, picking.useByteColors > 0.5);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
fn picking_normalizeColor4(color: vec4<f32>) -> vec4<f32> {
|
|
22
|
-
return select(color / 255.0,
|
|
22
|
+
return select(color, color / 255.0, picking.useByteColors > 0.5);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
fn picking_isColorZero(color: vec3<f32>) -> bool {
|
|
@@ -33,7 +33,7 @@ fn picking_isColorValid(color: vec3<f32>) -> bool {
|
|
|
33
33
|
export default {
|
|
34
34
|
...picking,
|
|
35
35
|
source: sourceWGSL,
|
|
36
|
-
defaultUniforms: { ...picking.defaultUniforms,
|
|
36
|
+
defaultUniforms: { ...picking.defaultUniforms, useByteColors: true },
|
|
37
37
|
inject: {
|
|
38
38
|
'vs:DECKGL_FILTER_GL_POSITION': `
|
|
39
39
|
// for picking depth values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking.js","sourceRoot":"","sources":["../../../src/shaderlib/picking/picking.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC;AAEF,eAAe;IACb,GAAG,OAAO;IACV,MAAM,EAAE,UAAU;IAClB,eAAe,EAAE,EAAC,GAAG,OAAO,CAAC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"picking.js","sourceRoot":"","sources":["../../../src/shaderlib/picking/picking.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC;AAEF,eAAe;IACb,GAAG,OAAO;IACV,MAAM,EAAE,UAAU;IAClB,eAAe,EAAE,EAAC,GAAG,OAAO,CAAC,eAAe,EAAE,aAAa,EAAE,IAAI,EAAC;IAClE,MAAM,EAAE;QACN,8BAA8B,EAAE;;;GAGjC;QACC,wBAAwB,EAAE;;GAE3B;QACC,wBAAwB,EAAE;YACxB,KAAK,EAAE,EAAE;YACT,SAAS,EAAE;;;;;;KAMZ;SACA;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-functions.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/project-functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project-functions.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/project-functions.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,gBAAgB,EAAC,+BAA4B;AAC1D,OAAO,KAAK,QAAQ,oCAAiC;AACrD,OAAO,KAAK,EAAC,YAAY,EAAC,6BAA0B;AAgEpD,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAAE,EAClB,EACE,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CA0C1B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE;IACN,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,mEAAmE;IACnE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mEAAmE;IACnE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,gDAAgD;IAChD,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IACxC,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;;;;wBAIoB;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAiC1B"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* Projection utils
|
|
6
6
|
* TODO: move to Viewport class?
|
|
7
7
|
*/
|
|
8
|
-
import { COORDINATE_SYSTEM } from "../../lib/constants.js";
|
|
9
8
|
import { getOffsetOrigin } from "./viewport-uniforms.js";
|
|
10
9
|
import WebMercatorViewport from "../../viewports/web-mercator-viewport.js";
|
|
11
10
|
import { vec3, vec4 } from '@math.gl/core';
|
|
@@ -27,14 +26,15 @@ function lngLatZToWorldPosition(lngLatZ, viewport, offsetMode = false) {
|
|
|
27
26
|
function normalizeParameters(opts) {
|
|
28
27
|
const { viewport, modelMatrix, coordinateOrigin } = opts;
|
|
29
28
|
let { coordinateSystem, fromCoordinateSystem, fromCoordinateOrigin } = opts;
|
|
30
|
-
if (coordinateSystem ===
|
|
31
|
-
coordinateSystem = viewport.isGeospatial
|
|
32
|
-
? COORDINATE_SYSTEM.LNGLAT
|
|
33
|
-
: COORDINATE_SYSTEM.CARTESIAN;
|
|
29
|
+
if (coordinateSystem === 'default') {
|
|
30
|
+
coordinateSystem = viewport.isGeospatial ? 'lnglat' : 'cartesian';
|
|
34
31
|
}
|
|
35
32
|
if (fromCoordinateSystem === undefined) {
|
|
36
33
|
fromCoordinateSystem = coordinateSystem;
|
|
37
34
|
}
|
|
35
|
+
else if (fromCoordinateSystem === 'default') {
|
|
36
|
+
fromCoordinateSystem = viewport.isGeospatial ? 'lnglat' : 'cartesian';
|
|
37
|
+
}
|
|
38
38
|
if (fromCoordinateOrigin === undefined) {
|
|
39
39
|
fromCoordinateOrigin = coordinateOrigin;
|
|
40
40
|
}
|
|
@@ -54,17 +54,26 @@ export function getWorldPosition(position, { viewport, modelMatrix, coordinateSy
|
|
|
54
54
|
[x, y, z] = vec4.transformMat4([], [x, y, z, 1.0], modelMatrix);
|
|
55
55
|
}
|
|
56
56
|
switch (coordinateSystem) {
|
|
57
|
-
case
|
|
57
|
+
case 'default':
|
|
58
|
+
return getWorldPosition(position, {
|
|
59
|
+
viewport,
|
|
60
|
+
modelMatrix,
|
|
61
|
+
coordinateSystem: viewport.isGeospatial ? 'lnglat' : 'cartesian',
|
|
62
|
+
coordinateOrigin,
|
|
63
|
+
offsetMode
|
|
64
|
+
});
|
|
65
|
+
case 'lnglat':
|
|
58
66
|
return lngLatZToWorldPosition([x, y, z], viewport, offsetMode);
|
|
59
|
-
case
|
|
67
|
+
case 'lnglat-offsets':
|
|
60
68
|
return lngLatZToWorldPosition([x + coordinateOrigin[0], y + coordinateOrigin[1], z + (coordinateOrigin[2] || 0)], viewport, offsetMode);
|
|
61
|
-
case
|
|
69
|
+
case 'meter-offsets':
|
|
62
70
|
return lngLatZToWorldPosition(addMetersToLngLat(coordinateOrigin, [x, y, z]), viewport, offsetMode);
|
|
63
|
-
case
|
|
64
|
-
default:
|
|
71
|
+
case 'cartesian':
|
|
65
72
|
return viewport.isGeospatial
|
|
66
73
|
? [x + coordinateOrigin[0], y + coordinateOrigin[1], z + coordinateOrigin[2]]
|
|
67
74
|
: viewport.projectPosition([x, y, z]);
|
|
75
|
+
default:
|
|
76
|
+
throw new Error(`Invalid coordinateSystem: ${coordinateSystem}`);
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-functions.js","sourceRoot":"","sources":["../../../src/shaderlib/project/project-functions.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC;;;GAGG;AACH,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"project-functions.js","sourceRoot":"","sources":["../../../src/shaderlib/project/project-functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.glsl.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/project.glsl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.glsl.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/project.glsl.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,WAAW,QAyQvB,CAAC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
// deck.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { PROJECTION_MODE, UNIT } from "../../lib/constants.js";
|
|
5
|
+
import { getShaderCoordinateSystem } from "./viewport-uniforms.js";
|
|
6
|
+
const SHADER_COORDINATE_SYSTEMS = [
|
|
7
|
+
'default',
|
|
8
|
+
'lnglat',
|
|
9
|
+
'meter-offsets',
|
|
10
|
+
'lnglat-offsets',
|
|
11
|
+
'cartesian'
|
|
12
|
+
];
|
|
13
|
+
const COORDINATE_SYSTEM_GLSL_CONSTANTS = SHADER_COORDINATE_SYSTEMS.map(coordinateSystem => `const int COORDINATE_SYSTEM_${coordinateSystem.toUpperCase().replaceAll('-', '_')} = ${getShaderCoordinateSystem(coordinateSystem)};`).join('');
|
|
9
14
|
const PROJECTION_MODE_GLSL_CONSTANTS = Object.keys(PROJECTION_MODE)
|
|
10
15
|
.map(key => `const int PROJECTION_MODE_${key} = ${PROJECTION_MODE[key]};`)
|
|
11
16
|
.join('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.glsl.js","sourceRoot":"","sources":["../../../src/shaderlib/project/project.glsl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"project.glsl.js","sourceRoot":"","sources":["../../../src/shaderlib/project/project.glsl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,eAAe,EAAE,IAAI,EAAC,+BAA4B;AAC1D,OAAO,EAAC,yBAAyB,EAAC,+BAA4B;AAE9D,MAAM,yBAAyB,GAAG;IAChC,SAAS;IACT,QAAQ;IACR,eAAe;IACf,gBAAgB;IAChB,WAAW;CACH,CAAC;AAEX,MAAM,gCAAgC,GAAG,yBAAyB,CAAC,GAAG,CACpE,gBAAgB,CAAC,EAAE,CACjB,+BAA+B,gBAAgB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CACzI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACX,MAAM,8BAA8B,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;KAChE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,6BAA6B,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;KACzE,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACjE,IAAI,CAAC,EAAE,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;EACpC,gCAAgC;EAChC,8BAA8B;EAC9B,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsQpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.wgsl.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/project.wgsl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.wgsl.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/project.wgsl.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,iBAAiB,QAuD7B,CAAC;AAEF,eAAO,MAAM,WAAW,QAoOvB,CAAC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
// deck.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { PROJECTION_MODE, UNIT } from "../../lib/constants.js";
|
|
5
|
+
import { getShaderCoordinateSystem } from "./viewport-uniforms.js";
|
|
6
|
+
const SHADER_COORDINATE_SYSTEMS = [
|
|
7
|
+
'default',
|
|
8
|
+
'lnglat',
|
|
9
|
+
'meter-offsets',
|
|
10
|
+
'lnglat-offsets',
|
|
11
|
+
'cartesian'
|
|
12
|
+
];
|
|
13
|
+
const COORDINATE_SYSTEM_WGSL_CONSTANTS = SHADER_COORDINATE_SYSTEMS.map(coordinateSystem => `const COORDINATE_SYSTEM_${coordinateSystem.toUpperCase().replaceAll('-', '_')}: i32 = ${getShaderCoordinateSystem(coordinateSystem)};`).join('');
|
|
9
14
|
const PROJECTION_MODE_WGSL_CONSTANTS = Object.keys(PROJECTION_MODE)
|
|
10
15
|
.map(key => `const PROJECTION_MODE_${key}: i32 = ${PROJECTION_MODE[key]};`)
|
|
11
16
|
.join('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.wgsl.js","sourceRoot":"","sources":["../../../src/shaderlib/project/project.wgsl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"project.wgsl.js","sourceRoot":"","sources":["../../../src/shaderlib/project/project.wgsl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,eAAe,EAAE,IAAI,EAAC,+BAA4B;AAC1D,OAAO,EAAC,yBAAyB,EAAC,+BAA4B;AAE9D,MAAM,yBAAyB,GAAG;IAChC,SAAS;IACT,QAAQ;IACR,eAAe;IACf,gBAAgB;IAChB,WAAW;CACH,CAAC;AAEX,MAAM,gCAAgC,GAAG,yBAAyB,CAAC,GAAG,CACpE,gBAAgB,CAAC,EAAE,CACjB,2BAA2B,gBAAgB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CAC1I,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACX,MAAM,8BAA8B,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;KAChE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,yBAAyB,GAAG,WAAW,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;KAC1E,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KAClE,IAAI,CAAC,EAAE,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;EAC1C,gCAAgC;EAChC,8BAA8B;EAC9B,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDpB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;EACpC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmOlB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import type Viewport from "../../viewports/viewport.js";
|
|
|
3
3
|
import type { CoordinateSystem } from "../../lib/constants.js";
|
|
4
4
|
type Vec3 = [number, number, number];
|
|
5
5
|
type Vec4 = [number, number, number, number];
|
|
6
|
+
export declare function getShaderCoordinateSystem(coordinateSystem: CoordinateSystem): 0 | 1 | -1 | 2 | 3;
|
|
6
7
|
export declare function getOffsetOrigin(viewport: Viewport, coordinateSystem: CoordinateSystem, coordinateOrigin?: Vec3): {
|
|
7
8
|
geospatialOrigin: Vec3 | null;
|
|
8
9
|
shaderCoordinateOrigin: Vec3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport-uniforms.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/viewport-uniforms.ts"],"names":[],"mappings":"AAMA,OAAO,EAAO,WAAW,EAAO,MAAM,eAAe,CAAC;AAMtD,OAAO,KAAK,QAAQ,oCAAiC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,+BAA4B;AAE1D,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"viewport-uniforms.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/project/viewport-uniforms.ts"],"names":[],"mappings":"AAMA,OAAO,EAAO,WAAW,EAAO,MAAM,eAAe,CAAC;AAMtD,OAAO,KAAK,QAAQ,oCAAiC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,+BAA4B;AAE1D,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAmB7C,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,gBAAgB,sBAM3E;AAID,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,GAAE,IAAgC,GACjD;IACD,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,sBAAsB,EAAE,IAAI,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;CACrB,CA8DA;AAqED,MAAM,MAAM,eAAe,GAAG;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,IAAI,CAAC;IACvB,YAAY,EAAE,IAAI,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC;IAGb,YAAY,EAAE,OAAO,CAAC;IAGtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,IAAI,CAAC;IAC1B,uBAAuB,EAAE,IAAI,CAAC;IAC9B,wBAAwB,EAAE,IAAI,CAAC;IAC/B,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IAEvB,oBAAoB,EAAE,WAAW,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IAGzB,cAAc,EAAE,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,gBAAoB,EACpB,WAAkB,EAElB,gBAA4B,EAC5B,gBAA4C,EAC5C,iBAAyB,EAC1B,EAAE,YAAY,GAAG,eAAe,CAgBhC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
/* eslint-disable complexity, camelcase */
|
|
5
5
|
import { mat4, vec4 } from '@math.gl/core';
|
|
6
|
-
import {
|
|
6
|
+
import { PROJECTION_MODE } from "../../lib/constants.js";
|
|
7
7
|
import memoize from "../../utils/memoize.js";
|
|
8
8
|
// To quickly set a vector to zero
|
|
9
9
|
const ZERO_VECTOR = [0, 0, 0, 0];
|
|
@@ -12,6 +12,21 @@ const VECTOR_TO_POINT_MATRIX = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0];
|
|
|
12
12
|
const IDENTITY_MATRIX = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
|
|
13
13
|
const DEFAULT_PIXELS_PER_UNIT2 = [0, 0, 0];
|
|
14
14
|
const DEFAULT_COORDINATE_ORIGIN = [0, 0, 0];
|
|
15
|
+
/** Coordinate system constants */
|
|
16
|
+
const COORDINATE_SYSTEM_NUMBERS = {
|
|
17
|
+
default: -1,
|
|
18
|
+
cartesian: 0,
|
|
19
|
+
lnglat: 1,
|
|
20
|
+
'meter-offsets': 2,
|
|
21
|
+
'lnglat-offsets': 3
|
|
22
|
+
};
|
|
23
|
+
export function getShaderCoordinateSystem(coordinateSystem) {
|
|
24
|
+
const shaderCoordinateSystem = COORDINATE_SYSTEM_NUMBERS[coordinateSystem];
|
|
25
|
+
if (shaderCoordinateSystem === undefined) {
|
|
26
|
+
throw new Error(`Invalid coordinateSystem: ${coordinateSystem}`);
|
|
27
|
+
}
|
|
28
|
+
return shaderCoordinateSystem;
|
|
29
|
+
}
|
|
15
30
|
const getMemoizedViewportUniforms = memoize(calculateViewportUniforms);
|
|
16
31
|
export function getOffsetOrigin(viewport, coordinateSystem, coordinateOrigin = DEFAULT_COORDINATE_ORIGIN) {
|
|
17
32
|
if (coordinateOrigin.length < 3) {
|
|
@@ -20,8 +35,7 @@ export function getOffsetOrigin(viewport, coordinateSystem, coordinateOrigin = D
|
|
|
20
35
|
let shaderCoordinateOrigin = coordinateOrigin;
|
|
21
36
|
let geospatialOrigin;
|
|
22
37
|
let offsetMode = true;
|
|
23
|
-
if (coordinateSystem ===
|
|
24
|
-
coordinateSystem === COORDINATE_SYSTEM.METER_OFFSETS) {
|
|
38
|
+
if (coordinateSystem === 'lnglat-offsets' || coordinateSystem === 'meter-offsets') {
|
|
25
39
|
geospatialOrigin = coordinateOrigin;
|
|
26
40
|
}
|
|
27
41
|
else {
|
|
@@ -32,19 +46,18 @@ export function getOffsetOrigin(viewport, coordinateSystem, coordinateOrigin = D
|
|
|
32
46
|
}
|
|
33
47
|
switch (viewport.projectionMode) {
|
|
34
48
|
case PROJECTION_MODE.WEB_MERCATOR:
|
|
35
|
-
if (coordinateSystem ===
|
|
36
|
-
coordinateSystem === COORDINATE_SYSTEM.CARTESIAN) {
|
|
49
|
+
if (coordinateSystem === 'lnglat' || coordinateSystem === 'cartesian') {
|
|
37
50
|
geospatialOrigin = [0, 0, 0];
|
|
38
51
|
offsetMode = false;
|
|
39
52
|
}
|
|
40
53
|
break;
|
|
41
54
|
case PROJECTION_MODE.WEB_MERCATOR_AUTO_OFFSET:
|
|
42
|
-
if (coordinateSystem ===
|
|
55
|
+
if (coordinateSystem === 'lnglat') {
|
|
43
56
|
// viewport center in world space
|
|
44
57
|
// @ts-expect-error when using LNGLAT coordinates, we expect the viewport to be geospatial, in which case geospatialOrigin is defined
|
|
45
58
|
shaderCoordinateOrigin = geospatialOrigin;
|
|
46
59
|
}
|
|
47
|
-
else if (coordinateSystem ===
|
|
60
|
+
else if (coordinateSystem === 'cartesian') {
|
|
48
61
|
// viewport center in common space
|
|
49
62
|
shaderCoordinateOrigin = [
|
|
50
63
|
Math.fround(viewport.center[0]),
|
|
@@ -125,11 +138,9 @@ function calculateMatrixAndOffset(viewport, coordinateSystem, coordinateOrigin)
|
|
|
125
138
|
*/
|
|
126
139
|
export function getUniformsFromViewport({ viewport, devicePixelRatio = 1, modelMatrix = null,
|
|
127
140
|
// Match Layer.defaultProps
|
|
128
|
-
coordinateSystem =
|
|
129
|
-
if (coordinateSystem ===
|
|
130
|
-
coordinateSystem = viewport.isGeospatial
|
|
131
|
-
? COORDINATE_SYSTEM.LNGLAT
|
|
132
|
-
: COORDINATE_SYSTEM.CARTESIAN;
|
|
141
|
+
coordinateSystem = 'default', coordinateOrigin = DEFAULT_COORDINATE_ORIGIN, autoWrapLongitude = false }) {
|
|
142
|
+
if (coordinateSystem === 'default') {
|
|
143
|
+
coordinateSystem = viewport.isGeospatial ? 'lnglat' : 'cartesian';
|
|
133
144
|
}
|
|
134
145
|
const uniforms = getMemoizedViewportUniforms({
|
|
135
146
|
viewport,
|
|
@@ -156,7 +167,7 @@ function calculateViewportUniforms({ viewport, devicePixelRatio, coordinateSyste
|
|
|
156
167
|
const focalDistance = vec4.transformMat4([], [0, 0, -viewport.focalDistance, 1], viewport.projectionMatrix)[3] || 1;
|
|
157
168
|
const uniforms = {
|
|
158
169
|
// Projection mode values
|
|
159
|
-
coordinateSystem,
|
|
170
|
+
coordinateSystem: getShaderCoordinateSystem(coordinateSystem),
|
|
160
171
|
projectionMode: viewport.projectionMode,
|
|
161
172
|
coordinateOrigin: shaderCoordinateOrigin,
|
|
162
173
|
commonOrigin: originCommon.slice(0, 3),
|
|
@@ -184,12 +195,12 @@ function calculateViewportUniforms({ viewport, devicePixelRatio, coordinateSyste
|
|
|
184
195
|
// TODO: stricter types in Viewport classes
|
|
185
196
|
const distanceScalesAtOrigin = viewport.getDistanceScales(geospatialOrigin);
|
|
186
197
|
switch (coordinateSystem) {
|
|
187
|
-
case
|
|
198
|
+
case 'meter-offsets':
|
|
188
199
|
uniforms.commonUnitsPerWorldUnit = distanceScalesAtOrigin.unitsPerMeter;
|
|
189
200
|
uniforms.commonUnitsPerWorldUnit2 = distanceScalesAtOrigin.unitsPerMeter2;
|
|
190
201
|
break;
|
|
191
|
-
case
|
|
192
|
-
case
|
|
202
|
+
case 'lnglat':
|
|
203
|
+
case 'lnglat-offsets':
|
|
193
204
|
// @ts-expect-error _pseudoMeters only exists on WebMercatorView
|
|
194
205
|
if (!viewport._pseudoMeters) {
|
|
195
206
|
uniforms.commonUnitsPerMeter = distanceScalesAtOrigin.unitsPerMeter;
|
|
@@ -198,7 +209,7 @@ function calculateViewportUniforms({ viewport, devicePixelRatio, coordinateSyste
|
|
|
198
209
|
uniforms.commonUnitsPerWorldUnit2 = distanceScalesAtOrigin.unitsPerDegree2;
|
|
199
210
|
break;
|
|
200
211
|
// a.k.a "preprojected" positions
|
|
201
|
-
case
|
|
212
|
+
case 'cartesian':
|
|
202
213
|
uniforms.commonUnitsPerWorldUnit = [1, 1, distanceScalesAtOrigin.unitsPerMeter[2]];
|
|
203
214
|
uniforms.commonUnitsPerWorldUnit2 = [0, 0, distanceScalesAtOrigin.unitsPerMeter2[2]];
|
|
204
215
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport-uniforms.js","sourceRoot":"","sources":["../../../src/shaderlib/project/viewport-uniforms.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,0CAA0C;AAE1C,OAAO,EAAC,IAAI,EAAe,IAAI,EAAC,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"viewport-uniforms.js","sourceRoot":"","sources":["../../../src/shaderlib/project/viewport-uniforms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Matrix4 } from '@math.gl/core';
|
|
2
2
|
import type { Texture } from '@luma.gl/core';
|
|
3
|
-
import
|
|
3
|
+
import { ProjectProps } from "../project/viewport-uniforms.js";
|
|
4
4
|
export type ShadowModuleProps = {
|
|
5
5
|
project: ProjectProps;
|
|
6
6
|
shadowEnabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/shadow/shadow.ts"],"names":[],"mappings":"AAMA,OAAO,EAAU,OAAO,EAAC,MAAM,eAAe,CAAC;AAK/C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAG3C,OAAO,
|
|
1
|
+
{"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../../src/shaderlib/shadow/shadow.ts"],"names":[],"mappings":"AAMA,OAAO,EAAU,OAAO,EAAC,MAAM,eAAe,CAAC;AAK/C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAG3C,OAAO,EACL,YAAY,EAGb,wCAAqC;AAsGtC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,aAAa,CAAC;IACtC,qBAAqB,CAAC,EAAE,aAAa,CAAC;IACtC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,cAAc,CAAC,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAiEF,iBAAS,oBAAoB,CAC3B,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC/B,oBAAoB,GAAG,oBAAoB,CA8D7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAyBiG;AAGjG,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrD,KAAK,aAAa,GAAG;IACnB,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// deck.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
4
|
+
import { PROJECTION_MODE } from "../../lib/constants.js";
|
|
5
5
|
import project from "../project/project.js";
|
|
6
6
|
import { Vector3, Matrix4 } from '@math.gl/core';
|
|
7
7
|
import memoize from "../../utils/memoize.js";
|
|
8
8
|
import { pixelsToWorld } from '@math.gl/web-mercator';
|
|
9
|
+
import { getShaderCoordinateSystem } from "../project/viewport-uniforms.js";
|
|
9
10
|
const uniformBlock = /* glsl */ `
|
|
10
11
|
layout(std140) uniform shadowUniforms {
|
|
11
12
|
bool drawShadowMap;
|
|
@@ -168,7 +169,7 @@ function createShadowUniforms(opts) {
|
|
|
168
169
|
const viewProjectionMatrixCentered = viewProjectionMatrix
|
|
169
170
|
.clone()
|
|
170
171
|
.translate(new Vector3(projectProps.viewport.center).negate());
|
|
171
|
-
if (projectUniforms.coordinateSystem ===
|
|
172
|
+
if (projectUniforms.coordinateSystem === getShaderCoordinateSystem('lnglat') &&
|
|
172
173
|
projectUniforms.projectionMode === PROJECTION_MODE.WEB_MERCATOR) {
|
|
173
174
|
viewProjectionMatrices[i] = viewProjectionMatrixCentered;
|
|
174
175
|
projectCenters[i] = center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/shaderlib/shadow/shadow.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,
|
|
1
|
+
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/shaderlib/shadow/shadow.ts"],"names":[],"mappings":"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"}
|