@luma.gl/shaders 10.0.0-alpha.7 → 10.0.0-alpha.9
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 +233 -249
- package/dist/dist.min.js +124 -124
- package/dist/glsl.cjs.map +2 -2
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/shader-assembler-base.cjs +3 -4
- package/dist/lib/shader-assembler-base.d.ts +4 -5
- package/dist/lib/shader-assembler-base.d.ts.map +1 -1
- package/dist/lib/shader-assembler-base.js +3 -4
- package/dist/lib/shader-assembler-base.js.map +1 -1
- package/dist/lib/shader-assembly/assemble-glsl-shaders.cjs +6 -17
- package/dist/lib/shader-assembly/assemble-glsl-shaders.d.ts +5 -4
- package/dist/lib/shader-assembly/assemble-glsl-shaders.d.ts.map +1 -1
- package/dist/lib/shader-assembly/assemble-glsl-shaders.js +14 -19
- package/dist/lib/shader-assembly/assemble-glsl-shaders.js.map +1 -1
- package/dist/lib/shader-assembly/assemble-wgsl-shaders.cjs +6 -25
- package/dist/lib/shader-assembly/assemble-wgsl-shaders.d.ts +5 -6
- package/dist/lib/shader-assembly/assemble-wgsl-shaders.d.ts.map +1 -1
- package/dist/lib/shader-assembly/assemble-wgsl-shaders.js +14 -27
- package/dist/lib/shader-assembly/assemble-wgsl-shaders.js.map +1 -1
- package/dist/lib/shader-assembly/shader-assembly-shared.d.ts +2 -2
- package/dist/lib/shader-assembly/shader-assembly-shared.d.ts.map +1 -1
- package/dist/lib/shader-assembly/shader-assembly-shared.js.map +1 -1
- package/dist/lib/shader-assembly/shader-assembly-types.d.ts +11 -7
- package/dist/lib/shader-assembly/shader-assembly-types.d.ts.map +1 -1
- package/dist/lib/shader-assembly/shader-hooks.cjs +26 -29
- package/dist/lib/shader-assembly/shader-hooks.d.ts +34 -32
- package/dist/lib/shader-assembly/shader-hooks.d.ts.map +1 -1
- package/dist/lib/shader-assembly/shader-hooks.js +29 -33
- package/dist/lib/shader-assembly/shader-hooks.js.map +1 -1
- package/dist/lib/shader-assembly/shader-injections.cjs +26 -2
- package/dist/lib/shader-assembly/shader-injections.d.ts +20 -7
- package/dist/lib/shader-assembly/shader-injections.d.ts.map +1 -1
- package/dist/lib/shader-assembly/shader-injections.js +24 -0
- package/dist/lib/shader-assembly/shader-injections.js.map +1 -1
- package/dist/lib/shader-module/shader-module.cjs +3 -9
- package/dist/lib/shader-module/shader-module.d.ts +4 -8
- package/dist/lib/shader-module/shader-module.d.ts.map +1 -1
- package/dist/lib/shader-module/shader-module.js +3 -6
- package/dist/lib/shader-module/shader-module.js.map +1 -1
- package/dist/lib/shader-plugin.cjs +38 -17
- package/dist/lib/shader-plugin.d.ts +9 -17
- package/dist/lib/shader-plugin.d.ts.map +1 -1
- package/dist/lib/shader-plugin.js +43 -16
- package/dist/lib/shader-plugin.js.map +1 -1
- package/dist/modules/engine/clip/clip.cjs +4 -2
- package/dist/modules/engine/clip/clip.d.ts.map +1 -1
- package/dist/modules/engine/clip/clip.js +4 -2
- package/dist/modules/engine/clip/clip.js.map +1 -1
- package/dist/modules/engine/filter/filter.cjs +2 -1
- package/dist/modules/engine/filter/filter.d.ts.map +1 -1
- package/dist/modules/engine/filter/filter.js +2 -1
- package/dist/modules/engine/filter/filter.js.map +1 -1
- package/dist/modules/lighting/lights/lighting.d.ts +1 -1
- package/dist/modules/lighting/lights/lighting.d.ts.map +1 -1
- package/dist/modules/lighting/pbr-material/pbr-material-glsl.cjs +2 -2
- package/dist/modules/lighting/pbr-material/pbr-material-glsl.d.ts +1 -1
- package/dist/modules/lighting/pbr-material/pbr-material-glsl.d.ts.map +1 -1
- package/dist/modules/lighting/pbr-material/pbr-material-glsl.js +2 -2
- package/dist/modules/lighting/pbr-material/pbr-material-wgsl.cjs +2 -2
- package/dist/modules/lighting/pbr-material/pbr-material-wgsl.d.ts +1 -1
- package/dist/modules/lighting/pbr-material/pbr-material-wgsl.d.ts.map +1 -1
- package/dist/modules/lighting/pbr-material/pbr-material-wgsl.js +2 -2
- package/dist/modules/lighting/pbr-material/pbr-material.d.ts +2 -2
- package/dist/types/texture-formats.d.ts +1 -1
- package/dist/types/texture-formats.d.ts.map +1 -1
- package/dist/wgsl.cjs.map +2 -2
- package/package.json +3 -3
- package/src/index.ts +5 -4
- package/src/lib/shader-assembler-base.ts +5 -6
- package/src/lib/shader-assembly/assemble-glsl-shaders.ts +27 -26
- package/src/lib/shader-assembly/assemble-wgsl-shaders.ts +28 -43
- package/src/lib/shader-assembly/shader-assembly-shared.ts +5 -5
- package/src/lib/shader-assembly/shader-assembly-types.ts +11 -7
- package/src/lib/shader-assembly/shader-hooks.ts +65 -68
- package/src/lib/shader-assembly/shader-injections.ts +52 -8
- package/src/lib/shader-module/shader-module.ts +7 -14
- package/src/lib/shader-plugin.ts +59 -48
- package/src/modules/engine/clip/clip.ts +4 -2
- package/src/modules/engine/filter/filter.ts +2 -1
- package/src/modules/lighting/lights/lighting.ts +1 -1
- package/src/modules/lighting/pbr-material/pbr-material-glsl.ts +2 -2
- package/src/modules/lighting/pbr-material/pbr-material-wgsl.ts +2 -2
- package/src/types/texture-formats.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-injections.js","sourceRoot":"","sources":["../../../src/lib/shader-assembly/shader-injections.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,kCAA+B;AAChF,OAAO,EAAC,MAAM,EAAC,2BAAwB;AAEvC,sBAAsB;AACtB,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE,mBAAmB;IAC3B,QAAQ,EAAE,mBAAmB;CAC9B,CAAC;AAEF,MAAM,mBAAmB,GAAG,iCAAiC,CAAC,CAAC,oBAAoB;AACnF,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,6CAA6C;AACtF,MAAM,SAAS,GAAa,EAAE,CAAC;AAE/B,MAAM,CAAC,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"shader-injections.js","sourceRoot":"","sources":["../../../src/lib/shader-assembly/shader-injections.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,6 @@ __export(shader_module_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(shader_module_exports);
|
|
26
26
|
var import_prop_types = require("../filters/prop-types.cjs");
|
|
27
|
-
var import_shader_injections = require("../shader-assembly/shader-injections.cjs");
|
|
28
27
|
function initializeShaderModules(modules) {
|
|
29
28
|
modules.map((module2) => initializeShaderModule(module2));
|
|
30
29
|
}
|
|
@@ -33,15 +32,10 @@ function initializeShaderModule(module2) {
|
|
|
33
32
|
return;
|
|
34
33
|
}
|
|
35
34
|
initializeShaderModules(module2.dependencies || []);
|
|
36
|
-
const {
|
|
37
|
-
propTypes = {},
|
|
38
|
-
deprecations = [],
|
|
39
|
-
// defines = {},
|
|
40
|
-
inject = {}
|
|
41
|
-
} = module2;
|
|
35
|
+
const { propTypes = {}, deprecations = [] } = module2;
|
|
42
36
|
const instance = {
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
parsedDeprecations: parseDeprecationDefinitions(deprecations),
|
|
38
|
+
normalizedInjections: { vertex: {}, fragment: {} }
|
|
45
39
|
};
|
|
46
40
|
if (propTypes) {
|
|
47
41
|
instance.propValidators = (0, import_prop_types.makePropValidators)(propTypes);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UniformFormat } from "../../types.js";
|
|
2
2
|
import { PropType, PropValidator } from "../filters/prop-types.js";
|
|
3
3
|
import type { ShaderModuleUniformValue, UniformTypes, UniformValue } from "../utils/uniform-types.js";
|
|
4
|
-
import {
|
|
4
|
+
import type { ResolvedShaderInjection } from "../shader-assembly/shader-injections.js";
|
|
5
5
|
import type { ShaderBinding as Binding } from "../../types.js";
|
|
6
6
|
export type UniformInfo = {
|
|
7
7
|
format?: UniformFormat;
|
|
@@ -63,11 +63,6 @@ export type ShaderModule<PropsT extends Record<string, any> = Record<string, any
|
|
|
63
63
|
getUniforms?: (props: Partial<PropsT>, prevUniforms?: UniformsT) => Partial<UniformsT & BindingsT>;
|
|
64
64
|
/** Boolean or numeric preprocessor defines contributed by this shader module. */
|
|
65
65
|
defines?: Record<string, boolean | number>;
|
|
66
|
-
/** Injections */
|
|
67
|
-
inject?: Record<string, string | {
|
|
68
|
-
injection: string;
|
|
69
|
-
order: number;
|
|
70
|
-
}>;
|
|
71
66
|
dependencies?: ShaderModule<any, any>[];
|
|
72
67
|
/** Information on deprecated properties */
|
|
73
68
|
deprecations?: ShaderModuleDeprecation[];
|
|
@@ -75,9 +70,10 @@ export type ShaderModule<PropsT extends Record<string, any> = Record<string, any
|
|
|
75
70
|
instance?: {
|
|
76
71
|
propValidators?: Record<string, PropValidator>;
|
|
77
72
|
parsedDeprecations: ShaderModuleDeprecation[];
|
|
73
|
+
/** Empty compatibility value for consumers using older shadertools assembly. */
|
|
78
74
|
normalizedInjections: {
|
|
79
|
-
vertex: Record<string,
|
|
80
|
-
fragment: Record<string,
|
|
75
|
+
vertex: Record<string, ResolvedShaderInjection>;
|
|
76
|
+
fragment: Record<string, ResolvedShaderInjection>;
|
|
81
77
|
};
|
|
82
78
|
};
|
|
83
79
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAC,uBAAoB;AAC1C,OAAO,EACL,QAAQ,EACR,aAAa,EAGd,iCAA8B;AAC/B,OAAO,KAAK,EAAC,wBAAwB,EAAE,YAAY,EAAE,YAAY,EAAC,kCAA+B;AACjG,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
4
|
import { makePropValidators, getValidatedProperties } from "../filters/prop-types.js";
|
|
5
|
-
import { normalizeInjections } from "../shader-assembly/shader-injections.js";
|
|
6
5
|
// SHNDER MODULE API
|
|
7
6
|
export function initializeShaderModules(modules) {
|
|
8
7
|
modules.map((module) => initializeShaderModule(module));
|
|
@@ -12,12 +11,10 @@ export function initializeShaderModule(module) {
|
|
|
12
11
|
return;
|
|
13
12
|
}
|
|
14
13
|
initializeShaderModules(module.dependencies || []);
|
|
15
|
-
const { propTypes = {}, deprecations = []
|
|
16
|
-
// defines = {},
|
|
17
|
-
inject = {} } = module;
|
|
14
|
+
const { propTypes = {}, deprecations = [] } = module;
|
|
18
15
|
const instance = {
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
parsedDeprecations: parseDeprecationDefinitions(deprecations),
|
|
17
|
+
normalizedInjections: { vertex: {}, fragment: {} }
|
|
21
18
|
};
|
|
22
19
|
if (propTypes) {
|
|
23
20
|
instance.propValidators = makePropValidators(propTypes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-module.js","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAG5D,OAAO,EAGL,kBAAkB,EAClB,sBAAsB,EACvB,iCAA8B;
|
|
1
|
+
{"version":3,"file":"shader-module.js","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,11 +21,12 @@ __export(shader_plugin_exports, {
|
|
|
21
21
|
resolveShaderPlugins: () => resolveShaderPlugins
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(shader_plugin_exports);
|
|
24
|
+
var import_shader_injections = require("./shader-assembly/shader-injections.cjs");
|
|
24
25
|
var import_types = require("../types.cjs");
|
|
25
|
-
const SHADER_PLUGIN_INJECTION_TARGET_REGEX = /^(vs|fs):(?:#(?:decl|main-start|main-end)|[A-Za-z_][\w-]*)$/;
|
|
26
26
|
function resolveShaderPlugins(plugins = [], shaderLanguage) {
|
|
27
27
|
const resolved = {
|
|
28
28
|
modules: [],
|
|
29
|
+
hooks: [],
|
|
29
30
|
defines: {},
|
|
30
31
|
injections: {},
|
|
31
32
|
vertexInputs: {},
|
|
@@ -89,20 +90,41 @@ function appendShaderPlugin(resolved, plugin, shaderLanguage) {
|
|
|
89
90
|
}
|
|
90
91
|
resolved.interStageVariables[name] = normalizedVarying;
|
|
91
92
|
}
|
|
92
|
-
for (const
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
93
|
+
for (const hook of plugin.hooks || []) {
|
|
94
|
+
const implementation = hook[shaderLanguage];
|
|
95
|
+
if (!implementation)
|
|
95
96
|
continue;
|
|
96
|
-
|
|
97
|
-
if (
|
|
98
|
-
|
|
97
|
+
const target = `${hook.stage === "vertex" ? "vs" : "fs"}:${hook.name}`;
|
|
98
|
+
if (!/^(vs|fs):[A-Za-z_][A-Za-z0-9_]*$/.test(target)) {
|
|
99
|
+
throw new Error(`Invalid ShaderPlugin hook ${target}`);
|
|
99
100
|
}
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
const existing = resolved.hooks.find((value) => value.stage === hook.stage && value.name === hook.name);
|
|
102
|
+
const previous = existing == null ? void 0 : existing[shaderLanguage];
|
|
103
|
+
if (previous && (previous.parameters !== implementation.parameters || (previous.returnType || "void") !== (implementation.returnType || "void") || previous.header !== implementation.header || previous.footer !== implementation.footer)) {
|
|
104
|
+
throw new Error(`Conflicting ShaderPlugin hook ${target}`);
|
|
105
|
+
}
|
|
106
|
+
if (!existing)
|
|
107
|
+
resolved.hooks.push({ name: hook.name, stage: hook.stage, [shaderLanguage]: implementation });
|
|
108
|
+
}
|
|
109
|
+
const pluginInjections = Array.isArray(plugin.injections) ? plugin.injections : Object.entries(plugin.injections || {}).flatMap(([key, source]) => {
|
|
110
|
+
const target = selectShaderLanguage(key, shaderLanguage);
|
|
111
|
+
if (target === void 0)
|
|
112
|
+
return [];
|
|
113
|
+
const [stage, ...name] = target.split(":");
|
|
114
|
+
if (stage !== "vs" && stage !== "fs")
|
|
115
|
+
throw new Error(`Invalid ShaderPlugin injection ${key}`);
|
|
116
|
+
return [
|
|
117
|
+
{
|
|
118
|
+
stage: stage === "vs" ? "vertex" : "fragment",
|
|
119
|
+
target: name.join(":"),
|
|
120
|
+
[shaderLanguage]: source
|
|
121
|
+
}
|
|
122
|
+
];
|
|
123
|
+
});
|
|
124
|
+
const selectedInjections = (0, import_shader_injections.resolveShaderInjections)(pluginInjections, shaderLanguage, plugin.name);
|
|
125
|
+
for (const [target, injections] of Object.entries(selectedInjections)) {
|
|
126
|
+
resolved.injections[target] ||= [];
|
|
127
|
+
resolved.injections[target].push(...injections);
|
|
106
128
|
}
|
|
107
129
|
}
|
|
108
130
|
function assertShaderPluginInterfaceName(name, kind) {
|
|
@@ -119,10 +141,9 @@ function normalizeShaderPluginInterStageVariable(name, varying) {
|
|
|
119
141
|
}
|
|
120
142
|
return { type: varying.type, interpolation };
|
|
121
143
|
}
|
|
122
|
-
function
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
144
|
+
function selectShaderLanguage(value, language) {
|
|
145
|
+
const match = /^(glsl|wgsl):([\s\S]+)$/.exec(value);
|
|
146
|
+
return match ? match[1] === language ? match[2] : void 0 : value;
|
|
126
147
|
}
|
|
127
148
|
// Annotate the CommonJS export names for ESM import in node:
|
|
128
149
|
0 && (module.exports = {
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ShaderHook } from "./shader-assembly/shader-hooks.js";
|
|
2
|
+
import { type ShaderInjection, type ResolvedShaderInjection } from "./shader-assembly/shader-injections.js";
|
|
2
3
|
import type { ShaderModule } from "./shader-module/shader-module.js";
|
|
3
4
|
import { type AttributeShaderType } from "../types.js";
|
|
4
|
-
/** Named shader anchor or hook target accepted by ShaderPlugin injections. */
|
|
5
|
-
export type ShaderPluginInjectionTarget = 'vs:#decl' | 'vs:#main-start' | 'vs:#main-end' | 'fs:#decl' | 'fs:#main-start' | 'fs:#main-end' | `vs:${string}` | `fs:${string}`;
|
|
6
|
-
/** Named shader source injection contributed by a ShaderPlugin. */
|
|
7
|
-
export type ShaderPluginInjection = {
|
|
8
|
-
/** Named shader anchor or hook that receives this source. */
|
|
9
|
-
target: ShaderPluginInjectionTarget;
|
|
10
|
-
/** GLSL source for this target. Omit to skip this injection when assembling GLSL. */
|
|
11
|
-
glsl?: string;
|
|
12
|
-
/** WGSL source for this target. Omit to skip this injection when assembling WGSL. */
|
|
13
|
-
wgsl?: string;
|
|
14
|
-
/** Relative injection order within the target. */
|
|
15
|
-
order?: number;
|
|
16
|
-
};
|
|
17
5
|
/** Portable interpolation modes for ShaderPlugin inter-stage variables. */
|
|
18
6
|
export type ShaderPluginInterStageVariableInterpolation = 'smooth' | 'flat';
|
|
19
7
|
/** Cross-stage value contributed by a ShaderPlugin. */
|
|
@@ -36,8 +24,10 @@ export type ShaderPlugin = {
|
|
|
36
24
|
module?: ShaderModule<any, any, any>;
|
|
37
25
|
/** Boolean or numeric preprocessor defines added to shader assembly. */
|
|
38
26
|
defines?: Record<string, boolean | number>;
|
|
39
|
-
/** Named
|
|
40
|
-
injections?:
|
|
27
|
+
/** Named injections as explicit-stage objects or optionally language-qualified string keys. */
|
|
28
|
+
injections?: ShaderInjection[] | Record<string, string>;
|
|
29
|
+
/** Callable extension points with a shared name and language-specific source. */
|
|
30
|
+
hooks?: ShaderHook[];
|
|
41
31
|
/** Shader-facing vertex inputs added by this plugin. Buffer ownership remains with the caller. */
|
|
42
32
|
vertexInputs?: Record<string, AttributeShaderType>;
|
|
43
33
|
/** Values transported from the selected vertex entry point to the fragment entry point. */
|
|
@@ -47,10 +37,12 @@ export type ShaderPlugin = {
|
|
|
47
37
|
export type ResolvedShaderPlugins = {
|
|
48
38
|
/** Resolved shader modules in plugin declaration order. */
|
|
49
39
|
modules: ShaderModule[];
|
|
40
|
+
/** Language-selected hook declarations. */
|
|
41
|
+
hooks: ShaderHook[];
|
|
50
42
|
/** Resolved boolean or numeric preprocessor defines. */
|
|
51
43
|
defines: Record<string, boolean | number>;
|
|
52
44
|
/** Resolved named code injections grouped by target. */
|
|
53
|
-
injections: Record<string,
|
|
45
|
+
injections: Record<string, ResolvedShaderInjection[]>;
|
|
54
46
|
/** Resolved shader-facing vertex inputs in plugin declaration order. */
|
|
55
47
|
vertexInputs: Record<string, AttributeShaderType>;
|
|
56
48
|
/** Resolved inter-stage variables in plugin declaration order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-plugin.d.ts","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"shader-plugin.d.ts","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,0CAAuC;AAC/D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,+CAA4C;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,yCAAsC;AAChE,OAAO,EAAoB,KAAK,mBAAmB,EAAC,oBAAiB;AAErE,2EAA2E;AAC3E,MAAM,MAAM,2CAA2C,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5E,uDAAuD;AACvD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,6CAA6C;IAC7C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,2CAA2C,CAAC;CAC7D,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,aAAa,EAAE,2CAA2C,CAAC;CAC5D,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG;IACzB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC3C,+FAA+F;IAC/F,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,iFAAiF;IACjF,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACnD,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;CACtE,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,2DAA2D;IAC3D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2CAA2C;IAC3C,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC1C,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACtD,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAClD,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;CAC7E,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,YAAY,EAAE,YAAK,EACrC,cAAc,EAAE,MAAM,GAAG,MAAM,GAC9B,qBAAqB,CAsBvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,SAAS,YAAY,EAAO,EACrC,aAAa,GAAE,SAAS,YAAY,EAAO,EAC3C,OAAO,GAAE;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;CAAM,GACjG,YAAY,EAAE,CAqBhB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
import { resolveShaderInjections } from "./shader-assembly/shader-injections.js";
|
|
4
5
|
import { shaderTypeDecoder } from "../types.js";
|
|
5
|
-
const SHADER_PLUGIN_INJECTION_TARGET_REGEX = /^(vs|fs):(?:#(?:decl|main-start|main-end)|[A-Za-z_][\w-]*)$/;
|
|
6
6
|
/** Resolve plugin interfaces and select injection source for one shader language. */
|
|
7
7
|
export function resolveShaderPlugins(plugins = [], shaderLanguage) {
|
|
8
8
|
const resolved = {
|
|
9
9
|
modules: [],
|
|
10
|
+
hooks: [],
|
|
10
11
|
defines: {},
|
|
11
12
|
injections: {},
|
|
12
13
|
vertexInputs: {},
|
|
@@ -78,20 +79,47 @@ function appendShaderPlugin(resolved, plugin, shaderLanguage) {
|
|
|
78
79
|
}
|
|
79
80
|
resolved.interStageVariables[name] = normalizedVarying;
|
|
80
81
|
}
|
|
81
|
-
for (const
|
|
82
|
-
const
|
|
83
|
-
if (
|
|
82
|
+
for (const hook of plugin.hooks || []) {
|
|
83
|
+
const implementation = hook[shaderLanguage];
|
|
84
|
+
if (!implementation)
|
|
84
85
|
continue;
|
|
85
|
-
|
|
86
|
-
if (
|
|
87
|
-
|
|
86
|
+
const target = `${hook.stage === 'vertex' ? 'vs' : 'fs'}:${hook.name}`;
|
|
87
|
+
if (!/^(vs|fs):[A-Za-z_][A-Za-z0-9_]*$/.test(target)) {
|
|
88
|
+
throw new Error(`Invalid ShaderPlugin hook ${target}`);
|
|
88
89
|
}
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
const existing = resolved.hooks.find(value => value.stage === hook.stage && value.name === hook.name);
|
|
91
|
+
const previous = existing?.[shaderLanguage];
|
|
92
|
+
if (previous &&
|
|
93
|
+
(previous.parameters !== implementation.parameters ||
|
|
94
|
+
(previous.returnType || 'void') !== (implementation.returnType || 'void') ||
|
|
95
|
+
previous.header !== implementation.header ||
|
|
96
|
+
previous.footer !== implementation.footer)) {
|
|
97
|
+
throw new Error(`Conflicting ShaderPlugin hook ${target}`);
|
|
98
|
+
}
|
|
99
|
+
if (!existing)
|
|
100
|
+
resolved.hooks.push({ name: hook.name, stage: hook.stage, [shaderLanguage]: implementation });
|
|
101
|
+
}
|
|
102
|
+
const pluginInjections = Array.isArray(plugin.injections)
|
|
103
|
+
? plugin.injections
|
|
104
|
+
: Object.entries(plugin.injections || {}).flatMap(([key, source]) => {
|
|
105
|
+
const target = selectShaderLanguage(key, shaderLanguage);
|
|
106
|
+
if (target === undefined)
|
|
107
|
+
return [];
|
|
108
|
+
const [stage, ...name] = target.split(':');
|
|
109
|
+
if (stage !== 'vs' && stage !== 'fs')
|
|
110
|
+
throw new Error(`Invalid ShaderPlugin injection ${key}`);
|
|
111
|
+
return [
|
|
112
|
+
{
|
|
113
|
+
stage: stage === 'vs' ? 'vertex' : 'fragment',
|
|
114
|
+
target: name.join(':'),
|
|
115
|
+
[shaderLanguage]: source
|
|
116
|
+
}
|
|
117
|
+
];
|
|
94
118
|
});
|
|
119
|
+
const selectedInjections = resolveShaderInjections(pluginInjections, shaderLanguage, plugin.name);
|
|
120
|
+
for (const [target, injections] of Object.entries(selectedInjections)) {
|
|
121
|
+
resolved.injections[target] ||= [];
|
|
122
|
+
resolved.injections[target].push(...injections);
|
|
95
123
|
}
|
|
96
124
|
}
|
|
97
125
|
function assertShaderPluginInterfaceName(name, kind) {
|
|
@@ -108,9 +136,8 @@ function normalizeShaderPluginInterStageVariable(name, varying) {
|
|
|
108
136
|
}
|
|
109
137
|
return { type: varying.type, interpolation };
|
|
110
138
|
}
|
|
111
|
-
function
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
139
|
+
function selectShaderLanguage(value, language) {
|
|
140
|
+
const match = /^(glsl|wgsl):([\s\S]+)$/.exec(value);
|
|
141
|
+
return match ? (match[1] === language ? match[2] : undefined) : value;
|
|
115
142
|
}
|
|
116
143
|
//# sourceMappingURL=shader-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-plugin.js","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;
|
|
1
|
+
{"version":3,"file":"shader-plugin.js","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAG5D,OAAO,EACL,uBAAuB,EAGxB,+CAA4C;AAE7C,OAAO,EAAC,iBAAiB,EAA2B,oBAAiB;AAqDrE,qFAAqF;AACrF,MAAM,UAAU,oBAAoB,CAClC,UAAmC,EAAE,EACrC,cAA+B;IAE/B,MAAM,QAAQ,GAA0B;QACtC,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,EAAC,YAAY,EAAE,mBAAmB,EAAC,GAAG,QAAQ,CAAC;IAErD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,+CAA+C,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAmC,EAAE,EACrC,gBAAyC,EAAE,EAC3C,UAAgG,EAAE;IAElG,MAAM,aAAa,GAAmB,CAAC,GAAG,OAAO,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;IACxD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM;YAAE,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ;YAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,OAAO,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA+B,EAC/B,MAAoB,EACpB,cAA+B;IAE/B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,+BAA+B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,YAAY,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,4BAA4B,YAAY,UAAU,IAAI,GAAG,CAC5F,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/E,+BAA+B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,iBAAiB,GAAG,uCAAuC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC3D,IACE,eAAe;YACf,CAAC,eAAe,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI;gBAC9C,eAAe,CAAC,aAAa,KAAK,iBAAiB,CAAC,aAAa,CAAC,EACpE,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,iCAAiC;gBAC5D,IAAI,eAAe,CAAC,IAAI,IAAI,eAAe,CAAC,aAAa,QAAQ;gBACjE,IAAI,iBAAiB,CAAC,IAAI,IAAI,iBAAiB,CAAC,aAAa,GAAG,CACnE,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC;IACzD,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc;YAAE,SAAS;QAC9B,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACvE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAClC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAChE,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC,cAAc,CAAC,CAAC;QAC5C,IACE,QAAQ;YACR,CAAC,QAAQ,CAAC,UAAU,KAAK,cAAc,CAAC,UAAU;gBAChD,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,IAAI,MAAM,CAAC;gBACzE,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;gBACzC,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC,EAC5C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,QAAQ;YACX,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,EAAC,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAqB,EAAE;YACnF,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACzD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;gBAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO;gBACL;oBACE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,UAAoB;oBACnE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACtB,CAAC,cAAc,CAAC,EAAE,MAAM;iBACzB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAClG,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAY,EAAE,IAAgC;IACrF,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,IAAI,2CAA2C,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,SAAS,uCAAuC,CAC9C,IAAY,EACZ,OAAuC;IAEvC,MAAM,EAAC,aAAa,EAAC,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,WAAW,GAAG,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,KAAK,CAAC;IACvE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjF,IAAI,WAAW,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,+BAA+B,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAC,CAAC;AAC7C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,QAAyB;IACpE,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC"}
|
|
@@ -109,7 +109,8 @@ const clipShaderPlugin = {
|
|
|
109
109
|
},
|
|
110
110
|
injections: [
|
|
111
111
|
{
|
|
112
|
-
|
|
112
|
+
stage: "vertex",
|
|
113
|
+
target: "CLIP_POSITION",
|
|
113
114
|
glsl: `clipCoordinates = geometryCoordinates;
|
|
114
115
|
if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_INSTANCE} &&
|
|
115
116
|
!clip_isInBounds(instanceCoordinates)) {
|
|
@@ -122,7 +123,8 @@ if (clipUniforms.enabled != 0 && clipUniforms.mode == ${CLIP_MODE_INSTANCE} &&
|
|
|
122
123
|
}`
|
|
123
124
|
},
|
|
124
125
|
{
|
|
125
|
-
|
|
126
|
+
stage: "fragment",
|
|
127
|
+
target: "CLIP_COLOR",
|
|
126
128
|
glsl: `if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_GEOMETRY} &&
|
|
127
129
|
!clip_isInBounds(clipCoordinates)) {
|
|
128
130
|
discard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clip.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,qBAAqB,GAAG;IAClC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,2FAA2F;IAC3F,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC,CAAC;AAqFF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"clip.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,qBAAqB,GAAG;IAClC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,2FAA2F;IAC3F,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC,CAAC;AAqFF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,YAsC9B,CAAC"}
|
|
@@ -85,7 +85,8 @@ export const clipShaderPlugin = {
|
|
|
85
85
|
},
|
|
86
86
|
injections: [
|
|
87
87
|
{
|
|
88
|
-
|
|
88
|
+
stage: 'vertex',
|
|
89
|
+
target: 'CLIP_POSITION',
|
|
89
90
|
glsl: `\
|
|
90
91
|
clipCoordinates = geometryCoordinates;
|
|
91
92
|
if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_INSTANCE} &&
|
|
@@ -100,7 +101,8 @@ if (clipUniforms.enabled != 0 && clipUniforms.mode == ${CLIP_MODE_INSTANCE} &&
|
|
|
100
101
|
}`
|
|
101
102
|
},
|
|
102
103
|
{
|
|
103
|
-
|
|
104
|
+
stage: 'fragment',
|
|
105
|
+
target: 'CLIP_COLOR',
|
|
104
106
|
glsl: `\
|
|
105
107
|
if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_GEOMETRY} &&
|
|
106
108
|
!clip_isInBounds(clipCoordinates)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,EAA2B;IAClC,QAAQ,EAAE,EAAkB;IAC5B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IACzC,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,WAAW;KACpB;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACrB;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;CAepB;IACC,WAAW,CAAC,QAA+B,EAAE;QAC3C,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACtF,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,gBAAgB;IACxB,mBAAmB,EAAE;QACnB,eAAe,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAC;KAC9D;IACD,UAAU,EAAE;QACV;YACE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,EAA2B;IAClC,QAAQ,EAAE,EAAkB;IAC5B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IACzC,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,WAAW;KACpB;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACrB;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;CAepB;IACC,WAAW,CAAC,QAA+B,EAAE;QAC3C,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACtF,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,gBAAgB;IACxB,mBAAmB,EAAE;QACnB,eAAe,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAC;KAC9D;IACD,UAAU,EAAE;QACV;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE;;kDAEsC,kBAAkB;;;EAGlE;YACI,IAAI,EAAE;;wDAE4C,kBAAkB;;;EAGxE;SACG;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE;kDACsC,kBAAkB;;;EAGlE;YACI,IAAI,EAAE;wDAC4C,kBAAkB;;;EAGxE;SACG;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AA+DF,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AA+DF,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,EAAE,YAoBhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,EAA6B;IACpC,QAAQ,EAAE,EAAoB;IAC9B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IAC3C,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;KACX;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;CAUhB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAapB;IACC,WAAW,CAAC,QAAiC,EAAE;QAC7C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,kGAAkG;AAClG,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,kBAAkB;IAC1B,YAAY,EAAE;QACZ,YAAY,EAAE,KAAK;KACpB;IACD,UAAU,EAAE;QACV;YACE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,EAA6B;IACpC,QAAQ,EAAE,EAAoB;IAC9B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IAC3C,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;KACX;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;CAUhB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAapB;IACC,WAAW,CAAC,QAAiC,EAAE;QAC7C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,kGAAkG;AAClG,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,kBAAkB;IAC1B,YAAY,EAAE;QACZ,YAAY,EAAE,KAAK;KACpB;IACD,UAAU,EAAE;QACV;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE;;;EAGV;YACI,IAAI,EAAE;;;EAGV;SACG;KACF;CACF,CAAC"}
|
|
@@ -28,7 +28,7 @@ export type PointLight = {
|
|
|
28
28
|
export type DirectionalLight = {
|
|
29
29
|
/** Discriminator used to identify directional lights in `lights: Light[]`. */
|
|
30
30
|
type: 'directional';
|
|
31
|
-
/** World-space light
|
|
31
|
+
/** World-space direction in which light travels. */
|
|
32
32
|
direction: Readonly<NumberArray3>;
|
|
33
33
|
/** RGB light color in the existing `0..255` convention used by luma.gl materials. */
|
|
34
34
|
color?: Readonly<NumberArray3>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lighting.d.ts","sourceRoot":"","sources":["../../../../src/modules/lighting/lights/lighting.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,gBAAgB,EAItB,6CAA0C;AAI3C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAM9D,kFAAkF;AAClF,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEzF,iEAAiE;AACjE,MAAM,MAAM,YAAY,GAAG;IACzB,0EAA0E;IAC1E,IAAI,EAAE,SAAS,CAAC;IAChB,qFAAqF;IACrF,KAAK,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG;IACvB,wEAAwE;IACxE,IAAI,EAAE,OAAO,CAAC;IACd,kCAAkC;IAClC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjC,qFAAqF;IACrF,KAAK,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACtC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8EAA8E;IAC9E,IAAI,EAAE,aAAa,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"lighting.d.ts","sourceRoot":"","sources":["../../../../src/modules/lighting/lights/lighting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1262,7 +1262,7 @@ vec4 pbr_filterColorWithSpotShadows(vec4 vertexColor, vec4 spotVisibility)
|
|
|
1262
1262
|
|
|
1263
1263
|
for(int i = 0; i < lighting.directionalLightCount; i++) {
|
|
1264
1264
|
if (i < lighting.directionalLightCount) {
|
|
1265
|
-
PBRInfo_setDirectionalLight(pbrInfo, lighting_getDirectionalLight(i).direction);
|
|
1265
|
+
PBRInfo_setDirectionalLight(pbrInfo, -lighting_getDirectionalLight(i).direction);
|
|
1266
1266
|
color += calculateFinalColor(pbrInfo, lighting_getDirectionalLight(i).color);
|
|
1267
1267
|
}
|
|
1268
1268
|
}
|
|
@@ -1550,7 +1550,7 @@ vec4 pbr_filterColorWithSpotShadows(vec4 vertexColor, vec4 spotVisibility)
|
|
|
1550
1550
|
// Apply directional light
|
|
1551
1551
|
for(int i = 0; i < lighting.directionalLightCount; i++) {
|
|
1552
1552
|
if (i < lighting.directionalLightCount) {
|
|
1553
|
-
PBRInfo_setDirectionalLight(pbrInfo, lighting_getDirectionalLight(i).direction);
|
|
1553
|
+
PBRInfo_setDirectionalLight(pbrInfo, -lighting_getDirectionalLight(i).direction);
|
|
1554
1554
|
color += calculateMaterialLightColor(
|
|
1555
1555
|
pbrInfo,
|
|
1556
1556
|
lighting_getDirectionalLight(i).color,
|