@luma.gl/shadertools 9.1.0-alpha.1 → 9.1.0-alpha.12
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 +1005 -487
- package/dist/dist.min.js +2489 -1625
- package/dist/index.cjs +2864 -1817
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +29 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -12
- package/dist/lib/glsl-utils/shader-utils.d.ts.map +1 -1
- package/dist/lib/glsl-utils/shader-utils.js +2 -3
- package/dist/lib/shader-assembler.d.ts +3 -4
- package/dist/lib/shader-assembler.d.ts.map +1 -1
- package/dist/lib/shader-assembler.js +3 -2
- package/dist/lib/shader-assembly/assemble-shaders.d.ts +4 -3
- package/dist/lib/shader-assembly/assemble-shaders.d.ts.map +1 -1
- package/dist/lib/shader-assembly/assemble-shaders.js +46 -18
- package/dist/lib/shader-assembly/platform-defines.d.ts.map +1 -1
- package/dist/lib/shader-assembly/platform-defines.js +14 -6
- package/dist/lib/shader-module/shader-module-dependencies.d.ts +53 -0
- package/dist/lib/shader-module/shader-module-dependencies.d.ts.map +1 -0
- package/dist/lib/{shader-assembly/resolve-modules.js → shader-module/shader-module-dependencies.js} +38 -14
- package/dist/lib/shader-module/shader-module.d.ts +30 -12
- package/dist/lib/shader-module/shader-module.d.ts.map +1 -1
- package/dist/lib/shader-module/shader-module.js +76 -6
- package/dist/lib/shader-module/shader-pass.d.ts +3 -2
- package/dist/lib/shader-module/shader-pass.d.ts.map +1 -1
- package/dist/module-injectors.d.ts +2 -2
- package/dist/module-injectors.d.ts.map +1 -1
- package/dist/module-injectors.js +13 -10
- package/dist/modules/engine/geometry/geometry.d.ts.map +1 -1
- package/dist/modules/engine/geometry/geometry.js +12 -8
- package/dist/modules/engine/picking/picking.d.ts +9 -9
- package/dist/modules/engine/picking/picking.d.ts.map +1 -1
- package/dist/modules/engine/picking/picking.js +103 -66
- package/dist/modules/engine/project/project.d.ts +2 -2
- package/dist/modules/engine/project/project.d.ts.map +1 -1
- package/dist/modules/engine/project/project.js +36 -22
- package/dist/modules/engine/transform/transform.d.ts.map +1 -1
- package/dist/modules/engine/transform/transform.js +28 -16
- package/dist/modules/lighting/gouraud-material/gouraud-material.d.ts +10 -7
- package/dist/modules/lighting/gouraud-material/gouraud-material.d.ts.map +1 -1
- package/dist/modules/lighting/gouraud-material/gouraud-material.js +2 -0
- package/dist/modules/lighting/gouraud-material/gouraud-shaders-glsl.d.ts +2 -2
- package/dist/modules/lighting/gouraud-material/gouraud-shaders-glsl.d.ts.map +1 -1
- package/dist/modules/lighting/gouraud-material/gouraud-shaders-glsl.js +79 -53
- package/dist/modules/lighting/lights/lighting-uniforms-glsl.d.ts +1 -1
- package/dist/modules/lighting/lights/lighting-uniforms-glsl.d.ts.map +1 -1
- package/dist/modules/lighting/lights/lighting-uniforms-glsl.js +38 -23
- package/dist/modules/lighting/lights/lighting-uniforms-wgsl.d.ts +2 -0
- package/dist/modules/lighting/lights/lighting-uniforms-wgsl.d.ts.map +1 -0
- package/dist/modules/lighting/lights/lighting-uniforms-wgsl.js +56 -0
- package/dist/modules/lighting/lights/lighting.d.ts +5 -4
- package/dist/modules/lighting/lights/lighting.d.ts.map +1 -1
- package/dist/modules/lighting/lights/lighting.js +7 -5
- package/dist/modules/lighting/no-material/dirlight.d.ts +8 -8
- package/dist/modules/lighting/no-material/dirlight.d.ts.map +1 -1
- package/dist/modules/lighting/no-material/dirlight.js +34 -20
- package/dist/modules/lighting/pbr-material/pbr-fragment-glsl.d.ts +1 -1
- package/dist/modules/lighting/pbr-material/pbr-fragment-glsl.d.ts.map +1 -1
- package/dist/modules/lighting/pbr-material/pbr-fragment-glsl.js +304 -181
- package/dist/modules/lighting/pbr-material/pbr-material.d.ts +72 -69
- package/dist/modules/lighting/pbr-material/pbr-material.d.ts.map +1 -1
- package/dist/modules/lighting/pbr-material/pbr-material.js +4 -2
- package/dist/modules/lighting/pbr-material/pbr-uniforms-glsl.d.ts +1 -1
- package/dist/modules/lighting/pbr-material/pbr-uniforms-glsl.d.ts.map +1 -1
- package/dist/modules/lighting/pbr-material/pbr-uniforms-glsl.js +38 -20
- package/dist/modules/lighting/pbr-material/pbr-vertex-glsl.d.ts +1 -1
- package/dist/modules/lighting/pbr-material/pbr-vertex-glsl.d.ts.map +1 -1
- package/dist/modules/lighting/pbr-material/pbr-vertex-glsl.js +21 -16
- package/dist/modules/lighting/phong-material/phong-material.d.ts +14 -12
- package/dist/modules/lighting/phong-material/phong-material.d.ts.map +1 -1
- package/dist/modules/lighting/phong-material/phong-material.js +5 -3
- package/dist/modules/lighting/phong-material/phong-shaders-glsl.d.ts +2 -2
- package/dist/modules/lighting/phong-material/phong-shaders-glsl.d.ts.map +1 -1
- package/dist/modules/lighting/phong-material/phong-shaders-glsl.js +82 -54
- package/dist/modules/lighting/phong-material/phong-shaders-wgsl.d.ts +41 -0
- package/dist/modules/lighting/phong-material/phong-shaders-wgsl.d.ts.map +1 -0
- package/dist/modules/lighting/phong-material/phong-shaders-wgsl.js +130 -0
- package/dist/modules/math/fp32/fp32.d.ts.map +1 -1
- package/dist/modules/math/fp32/fp32.js +127 -100
- package/dist/modules/math/fp64/fp64-utils.d.ts +3 -3
- package/dist/modules/math/fp64/fp64-utils.d.ts.map +1 -1
- package/dist/modules/math/random/random.d.ts +1 -1
- package/dist/modules/math/random/random.d.ts.map +1 -1
- package/dist/modules/math/random/random.js +3 -3
- package/dist/modules/module-injectors.d.ts +2 -2
- package/dist/modules/module-injectors.d.ts.map +1 -1
- package/dist/modules/module-injectors.js +13 -10
- package/dist/modules/postprocessing/image-adjust-filters/brightnesscontrast.d.ts +4 -1
- package/dist/modules/postprocessing/image-adjust-filters/brightnesscontrast.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-adjust-filters/brightnesscontrast.js +16 -12
- package/dist/modules/postprocessing/image-adjust-filters/denoise.d.ts +4 -1
- package/dist/modules/postprocessing/image-adjust-filters/denoise.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-adjust-filters/denoise.js +21 -17
- package/dist/modules/postprocessing/image-adjust-filters/huesaturation.d.ts +5 -2
- package/dist/modules/postprocessing/image-adjust-filters/huesaturation.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-adjust-filters/huesaturation.js +29 -22
- package/dist/modules/postprocessing/image-adjust-filters/noise.d.ts +4 -1
- package/dist/modules/postprocessing/image-adjust-filters/noise.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-adjust-filters/noise.js +14 -10
- package/dist/modules/postprocessing/image-adjust-filters/sepia.d.ts +4 -1
- package/dist/modules/postprocessing/image-adjust-filters/sepia.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-adjust-filters/sepia.js +17 -12
- package/dist/modules/postprocessing/image-adjust-filters/vibrance.d.ts +4 -1
- package/dist/modules/postprocessing/image-adjust-filters/vibrance.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-adjust-filters/vibrance.js +12 -9
- package/dist/modules/postprocessing/image-adjust-filters/vignette.d.ts +4 -1
- package/dist/modules/postprocessing/image-adjust-filters/vignette.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-adjust-filters/vignette.js +13 -10
- package/dist/modules/postprocessing/image-blur-filters/tiltshift.d.ts +5 -2
- package/dist/modules/postprocessing/image-blur-filters/tiltshift.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-blur-filters/tiltshift.js +40 -26
- package/dist/modules/postprocessing/image-blur-filters/triangleblur.d.ts +5 -2
- package/dist/modules/postprocessing/image-blur-filters/triangleblur.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-blur-filters/triangleblur.js +32 -19
- package/dist/modules/postprocessing/image-blur-filters/zoomblur.d.ts +4 -1
- package/dist/modules/postprocessing/image-blur-filters/zoomblur.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-blur-filters/zoomblur.js +2 -0
- package/dist/modules/postprocessing/image-fun-filters/colorhalftone.d.ts +4 -1
- package/dist/modules/postprocessing/image-fun-filters/colorhalftone.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-fun-filters/colorhalftone.js +31 -27
- package/dist/modules/postprocessing/image-fun-filters/dotscreen.d.ts +4 -1
- package/dist/modules/postprocessing/image-fun-filters/dotscreen.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-fun-filters/dotscreen.js +19 -15
- package/dist/modules/postprocessing/image-fun-filters/edgework.d.ts +8 -5
- package/dist/modules/postprocessing/image-fun-filters/edgework.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-fun-filters/edgework.js +53 -42
- package/dist/modules/postprocessing/image-fun-filters/hexagonalpixelate.d.ts +4 -1
- package/dist/modules/postprocessing/image-fun-filters/hexagonalpixelate.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-fun-filters/hexagonalpixelate.js +41 -33
- package/dist/modules/postprocessing/image-fun-filters/ink.d.ts +4 -1
- package/dist/modules/postprocessing/image-fun-filters/ink.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-fun-filters/ink.js +27 -25
- package/dist/modules/postprocessing/image-fun-filters/magnify.d.ts +2 -1
- package/dist/modules/postprocessing/image-fun-filters/magnify.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-fun-filters/magnify.js +17 -16
- package/dist/modules/postprocessing/image-warp-filters/bulgepinch.d.ts +5 -2
- package/dist/modules/postprocessing/image-warp-filters/bulgepinch.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-warp-filters/bulgepinch.js +24 -20
- package/dist/modules/postprocessing/image-warp-filters/swirl.d.ts +5 -2
- package/dist/modules/postprocessing/image-warp-filters/swirl.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-warp-filters/swirl.js +26 -22
- package/dist/modules/postprocessing/image-warp-filters/warp.d.ts +2 -1
- package/dist/modules/postprocessing/image-warp-filters/warp.d.ts.map +1 -1
- package/dist/modules/postprocessing/image-warp-filters/warp.js +9 -8
- package/dist/modules-webgl1/geometry/geometry.d.ts.map +1 -1
- package/dist/modules-webgl1/geometry/geometry.js +12 -8
- package/dist/modules-webgl1/lighting/dirlight/dirlight.d.ts +2 -2
- package/dist/modules-webgl1/lighting/dirlight/dirlight.d.ts.map +1 -1
- package/dist/modules-webgl1/lighting/dirlight/dirlight.js +8 -5
- package/dist/modules-webgl1/lighting/lights/lights-glsl.d.ts +1 -1
- package/dist/modules-webgl1/lighting/lights/lights-glsl.d.ts.map +1 -1
- package/dist/modules-webgl1/lighting/lights/lights-glsl.js +19 -11
- package/dist/modules-webgl1/lighting/pbr/pbr-fragment-glsl.d.ts +1 -1
- package/dist/modules-webgl1/lighting/pbr/pbr-fragment-glsl.d.ts.map +1 -1
- package/dist/modules-webgl1/lighting/pbr/pbr-fragment-glsl.js +268 -157
- package/dist/modules-webgl1/lighting/pbr/pbr-vertex-glsl.d.ts +1 -1
- package/dist/modules-webgl1/lighting/pbr/pbr-vertex-glsl.d.ts.map +1 -1
- package/dist/modules-webgl1/lighting/pbr/pbr-vertex-glsl.js +16 -12
- package/dist/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.d.ts +1 -1
- package/dist/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.d.ts.map +1 -1
- package/dist/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.js +64 -55
- package/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.d.ts +1 -1
- package/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.d.ts.map +1 -1
- package/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.js +113 -81
- package/dist/modules-webgl1/math/fp64/fp64-functions-glsl.d.ts +1 -1
- package/dist/modules-webgl1/math/fp64/fp64-functions-glsl.d.ts.map +1 -1
- package/dist/modules-webgl1/math/fp64/fp64-functions-glsl.js +588 -433
- package/dist/modules-webgl1/project/project.d.ts +2 -2
- package/dist/modules-webgl1/project/project.d.ts.map +1 -1
- package/dist/modules-webgl1/project/project.js +5 -4
- package/package.json +5 -5
- package/src/index.ts +78 -32
- package/src/lib/glsl-utils/shader-utils.ts +1 -3
- package/src/lib/shader-assembler.ts +7 -8
- package/src/lib/shader-assembly/assemble-shaders.ts +55 -22
- package/src/lib/shader-assembly/platform-defines.ts +5 -6
- package/src/lib/shader-module/shader-module-dependencies.ts +111 -0
- package/src/lib/shader-module/shader-module.ts +134 -19
- package/src/lib/shader-module/shader-pass.ts +3 -2
- package/src/module-injectors.ts +2 -4
- package/src/modules/engine/geometry/geometry.ts +2 -3
- package/src/modules/engine/picking/picking.ts +12 -10
- package/src/modules/engine/project/project.ts +2 -3
- package/src/modules/engine/transform/transform.ts +1 -3
- package/src/modules/lighting/gouraud-material/gouraud-material.ts +4 -0
- package/src/modules/lighting/gouraud-material/gouraud-shaders-glsl.ts +2 -4
- package/src/modules/lighting/lights/lighting-uniforms-glsl.ts +1 -3
- package/src/modules/lighting/lights/lighting-uniforms-wgsl.ts +57 -0
- package/src/modules/lighting/lights/lighting.ts +9 -5
- package/src/modules/lighting/no-material/dirlight.ts +30 -19
- package/src/modules/lighting/pbr-material/pbr-fragment-glsl.ts +1 -2
- package/src/modules/lighting/pbr-material/pbr-material.ts +44 -38
- package/src/modules/lighting/pbr-material/pbr-uniforms-glsl.ts +1 -3
- package/src/modules/lighting/pbr-material/pbr-vertex-glsl.ts +1 -3
- package/src/modules/lighting/phong-material/phong-material.ts +6 -3
- package/src/modules/lighting/phong-material/phong-shaders-glsl.ts +2 -4
- package/src/modules/lighting/phong-material/phong-shaders-wgsl.ts +132 -0
- package/src/modules/math/fp32/fp32.ts +1 -2
- package/src/modules/math/fp64/fp64-utils.ts +3 -3
- package/src/modules/math/random/random.ts +1 -2
- package/src/modules/module-injectors.ts +2 -4
- package/src/modules/postprocessing/image-adjust-filters/brightnesscontrast.ts +6 -2
- package/src/modules/postprocessing/image-adjust-filters/denoise.ts +7 -3
- package/src/modules/postprocessing/image-adjust-filters/huesaturation.ts +9 -4
- package/src/modules/postprocessing/image-adjust-filters/noise.ts +6 -2
- package/src/modules/postprocessing/image-adjust-filters/sepia.ts +6 -2
- package/src/modules/postprocessing/image-adjust-filters/vibrance.ts +5 -2
- package/src/modules/postprocessing/image-adjust-filters/vignette.ts +11 -4
- package/src/modules/postprocessing/image-blur-filters/tiltshift.ts +6 -2
- package/src/modules/postprocessing/image-blur-filters/triangleblur.ts +6 -2
- package/src/modules/postprocessing/image-blur-filters/zoomblur.ts +5 -0
- package/src/modules/postprocessing/image-fun-filters/colorhalftone.ts +6 -2
- package/src/modules/postprocessing/image-fun-filters/dotscreen.ts +6 -2
- package/src/modules/postprocessing/image-fun-filters/edgework.ts +10 -4
- package/src/modules/postprocessing/image-fun-filters/hexagonalpixelate.ts +6 -2
- package/src/modules/postprocessing/image-fun-filters/ink.ts +8 -3
- package/src/modules/postprocessing/image-fun-filters/magnify.ts +3 -2
- package/src/modules/postprocessing/image-warp-filters/bulgepinch.ts +6 -2
- package/src/modules/postprocessing/image-warp-filters/swirl.ts +8 -2
- package/src/modules/postprocessing/image-warp-filters/warp.ts +3 -2
- package/src/modules-webgl1/geometry/geometry.ts +2 -3
- package/src/modules-webgl1/lighting/dirlight/dirlight.ts +3 -4
- package/src/modules-webgl1/lighting/lights/lights-glsl.ts +1 -3
- package/src/modules-webgl1/lighting/pbr/pbr-fragment-glsl.ts +1 -2
- package/src/modules-webgl1/lighting/pbr/pbr-vertex-glsl.ts +1 -3
- package/src/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.ts +1 -3
- package/src/modules-webgl1/math/fp64/fp64-arithmetic-glsl.ts +1 -3
- package/src/modules-webgl1/math/fp64/fp64-functions-glsl.ts +1 -3
- package/src/modules-webgl1/project/project.ts +1 -2
- package/dist/lib/glsl-utils/highlight.d.ts +0 -6
- package/dist/lib/glsl-utils/highlight.d.ts.map +0 -1
- package/dist/lib/glsl-utils/highlight.js +0 -9
- package/dist/lib/shader-assembly/resolve-modules.d.ts +0 -40
- package/dist/lib/shader-assembly/resolve-modules.d.ts.map +0 -1
- package/dist/lib/shader-module/normalize-shader-module.d.ts +0 -3
- package/dist/lib/shader-module/normalize-shader-module.d.ts.map +0 -1
- package/dist/lib/shader-module/normalize-shader-module.js +0 -14
- package/dist/lib/shader-module/shader-module-instance.d.ts +0 -28
- package/dist/lib/shader-module/shader-module-instance.d.ts.map +0 -1
- package/dist/lib/shader-module/shader-module-instance.js +0 -126
- package/src/lib/glsl-utils/highlight.ts +0 -11
- package/src/lib/shader-assembly/resolve-modules.ts +0 -81
- package/src/lib/shader-module/normalize-shader-module.ts +0 -17
- package/src/lib/shader-module/shader-module-instance.ts +0 -167
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const MODULE_INJECTORS_VS
|
|
2
|
-
export declare const MODULE_INJECTORS_FS
|
|
1
|
+
export declare const MODULE_INJECTORS_VS = "#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n";
|
|
2
|
+
export declare const MODULE_INJECTORS_FS = "#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n";
|
|
3
3
|
//# sourceMappingURL=module-injectors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-injectors.d.ts","sourceRoot":"","sources":["../../src/modules/module-injectors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module-injectors.d.ts","sourceRoot":"","sources":["../../src/modules/module-injectors.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,8EAI/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,0dAqB/B,CAAC"}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
export const MODULE_INJECTORS_VS = `\
|
|
4
|
+
export const MODULE_INJECTORS_VS = /* glsl */ `\
|
|
6
5
|
#ifdef MODULE_LOGDEPTH
|
|
7
|
-
logdepth_adjustPosition(gl_Position);
|
|
6
|
+
logdepth_adjustPosition(gl_Position);
|
|
8
7
|
#endif
|
|
9
8
|
`;
|
|
10
|
-
export const MODULE_INJECTORS_FS = `\
|
|
9
|
+
export const MODULE_INJECTORS_FS = /* glsl */ `\
|
|
11
10
|
#ifdef MODULE_MATERIAL
|
|
12
|
-
gl_FragColor = material_filterColor(gl_FragColor);
|
|
11
|
+
gl_FragColor = material_filterColor(gl_FragColor);
|
|
13
12
|
#endif
|
|
13
|
+
|
|
14
14
|
#ifdef MODULE_LIGHTING
|
|
15
|
-
gl_FragColor = lighting_filterColor(gl_FragColor);
|
|
15
|
+
gl_FragColor = lighting_filterColor(gl_FragColor);
|
|
16
16
|
#endif
|
|
17
|
+
|
|
17
18
|
#ifdef MODULE_FOG
|
|
18
|
-
gl_FragColor = fog_filterColor(gl_FragColor);
|
|
19
|
+
gl_FragColor = fog_filterColor(gl_FragColor);
|
|
19
20
|
#endif
|
|
21
|
+
|
|
20
22
|
#ifdef MODULE_PICKING
|
|
21
|
-
gl_FragColor = picking_filterHighlightColor(gl_FragColor);
|
|
22
|
-
gl_FragColor = picking_filterPickingColor(gl_FragColor);
|
|
23
|
+
gl_FragColor = picking_filterHighlightColor(gl_FragColor);
|
|
24
|
+
gl_FragColor = picking_filterPickingColor(gl_FragColor);
|
|
23
25
|
#endif
|
|
26
|
+
|
|
24
27
|
#ifdef MODULE_LOGDEPTH
|
|
25
|
-
logdepth_setFragDepth();
|
|
28
|
+
logdepth_setFragDepth();
|
|
26
29
|
#endif
|
|
27
30
|
`;
|
|
@@ -2,6 +2,7 @@ export type BrightnessContrastProps = {
|
|
|
2
2
|
brightness?: number;
|
|
3
3
|
contrast?: number;
|
|
4
4
|
};
|
|
5
|
+
export type BrightnessContrastUniforms = BrightnessContrastProps;
|
|
5
6
|
/**
|
|
6
7
|
* Brightness / Contrast -
|
|
7
8
|
* Provides additive brightness and multiplicative contrast control.
|
|
@@ -9,6 +10,8 @@ export type BrightnessContrastProps = {
|
|
|
9
10
|
* @param contrast -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast)
|
|
10
11
|
*/
|
|
11
12
|
export declare const brightnessContrast: {
|
|
13
|
+
readonly props: BrightnessContrastProps;
|
|
14
|
+
readonly uniforms: BrightnessContrastUniforms;
|
|
12
15
|
readonly name: "brightnessContrast";
|
|
13
16
|
readonly uniformTypes: {
|
|
14
17
|
readonly brightness: "f32";
|
|
@@ -28,7 +31,7 @@ export declare const brightnessContrast: {
|
|
|
28
31
|
readonly max: 1;
|
|
29
32
|
};
|
|
30
33
|
};
|
|
31
|
-
readonly fs:
|
|
34
|
+
readonly fs: "\nuniform brightnessContrastUniforms {\n float brightness;\n float contrast;\n} brightnessContrast;\n\nvec4 brightnessContrast_filterColor(vec4 color) {\n color.rgb += brightnessContrast.brightness;\n if (brightnessContrast.contrast > 0.0) {\n color.rgb = (color.rgb - 0.5) / (1.0 - brightnessContrast.contrast) + 0.5;\n } else {\n color.rgb = (color.rgb - 0.5) * (1.0 + brightnessContrast.contrast) + 0.5;\n }\n return color;\n}\n\nvec4 brightnessContrast_filterColor(vec4 color, vec2 texSize, vec2 texCoords) {\n return brightnessContrast_filterColor(color);\n}\n";
|
|
32
35
|
readonly passes: [{
|
|
33
36
|
readonly filter: true;
|
|
34
37
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brightnesscontrast.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/brightnesscontrast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"brightnesscontrast.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/brightnesscontrast.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;oBAChB,uBAAuB;uBACpB,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;CAaY,CAAC"}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const fs = /* glsl */ `\
|
|
5
|
+
|
|
6
6
|
uniform brightnessContrastUniforms {
|
|
7
|
-
float brightness;
|
|
8
|
-
float contrast;
|
|
7
|
+
float brightness;
|
|
8
|
+
float contrast;
|
|
9
9
|
} brightnessContrast;
|
|
10
|
+
|
|
10
11
|
vec4 brightnessContrast_filterColor(vec4 color) {
|
|
11
|
-
color.rgb += brightnessContrast.brightness;
|
|
12
|
-
if (brightnessContrast.contrast > 0.0) {
|
|
13
|
-
color.rgb = (color.rgb - 0.5) / (1.0 - brightnessContrast.contrast) + 0.5;
|
|
14
|
-
} else {
|
|
15
|
-
color.rgb = (color.rgb - 0.5) * (1.0 + brightnessContrast.contrast) + 0.5;
|
|
16
|
-
}
|
|
17
|
-
return color;
|
|
12
|
+
color.rgb += brightnessContrast.brightness;
|
|
13
|
+
if (brightnessContrast.contrast > 0.0) {
|
|
14
|
+
color.rgb = (color.rgb - 0.5) / (1.0 - brightnessContrast.contrast) + 0.5;
|
|
15
|
+
} else {
|
|
16
|
+
color.rgb = (color.rgb - 0.5) * (1.0 + brightnessContrast.contrast) + 0.5;
|
|
17
|
+
}
|
|
18
|
+
return color;
|
|
18
19
|
}
|
|
20
|
+
|
|
19
21
|
vec4 brightnessContrast_filterColor(vec4 color, vec2 texSize, vec2 texCoords) {
|
|
20
|
-
return brightnessContrast_filterColor(color);
|
|
22
|
+
return brightnessContrast_filterColor(color);
|
|
21
23
|
}
|
|
22
24
|
`;
|
|
23
25
|
/**
|
|
@@ -27,6 +29,8 @@ return brightnessContrast_filterColor(color);
|
|
|
27
29
|
* @param contrast -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast)
|
|
28
30
|
*/
|
|
29
31
|
export const brightnessContrast = {
|
|
32
|
+
props: {},
|
|
33
|
+
uniforms: {},
|
|
30
34
|
name: 'brightnessContrast',
|
|
31
35
|
uniformTypes: {
|
|
32
36
|
brightness: 'f32',
|
|
@@ -11,12 +11,15 @@ export type DenoiseProps = {
|
|
|
11
11
|
*/
|
|
12
12
|
strength?: number;
|
|
13
13
|
};
|
|
14
|
+
export type DenoiseUniforms = DenoiseProps;
|
|
14
15
|
/**
|
|
15
16
|
* Denoise -
|
|
16
17
|
* Smooths over grainy noise in dark images using an 9x9 box filter
|
|
17
18
|
* weighted by color intensity, similar to a bilateral filter.
|
|
18
19
|
*/
|
|
19
20
|
export declare const denoise: {
|
|
21
|
+
readonly props: DenoiseProps;
|
|
22
|
+
readonly uniforms: DenoiseUniforms;
|
|
20
23
|
readonly name: "denoise";
|
|
21
24
|
readonly uniformTypes: {
|
|
22
25
|
readonly strength: "f32";
|
|
@@ -29,7 +32,7 @@ export declare const denoise: {
|
|
|
29
32
|
readonly max: 1;
|
|
30
33
|
};
|
|
31
34
|
};
|
|
32
|
-
readonly fs:
|
|
35
|
+
readonly fs: "uniform denoiseUniforms {\n float strength;\n} noise;\n\nvec4 denoise_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {\n float adjustedExponent = 3. + 200. * pow(1. - noise.strength, 4.);\n\n vec4 center = texture(source, texCoord);\n vec4 color = vec4(0.0);\n float total = 0.0;\n for (float x = -4.0; x <= 4.0; x += 1.0) {\n for (float y = -4.0; y <= 4.0; y += 1.0) {\n vec4 offsetColor = texture(source, texCoord + vec2(x, y) / texSize);\n float weight = 1.0 - abs(dot(offsetColor.rgb - center.rgb, vec3(0.25)));\n weight = pow(weight, adjustedExponent);\n color += offsetColor * weight;\n total += weight;\n }\n }\n\n return color / total;\n}\n";
|
|
33
36
|
readonly passes: [{
|
|
34
37
|
readonly sampler: true;
|
|
35
38
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"denoise.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/denoise.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"denoise.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/denoise.ts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,OAAO;oBACL,YAAY;uBACT,eAAe;;;;;;;;;;;;;;;;;;;CAY6B,CAAC"}
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { glsl } from "../../../lib/glsl-utils/highlight.js";
|
|
5
4
|
// Do a 9x9 bilateral box filter
|
|
6
|
-
const fs = `\
|
|
5
|
+
const fs = /* glsl */ `\
|
|
7
6
|
uniform denoiseUniforms {
|
|
8
|
-
float strength;
|
|
7
|
+
float strength;
|
|
9
8
|
} noise;
|
|
9
|
+
|
|
10
10
|
vec4 denoise_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {
|
|
11
|
-
float adjustedExponent = 3. + 200. * pow(1. - noise.strength, 4.);
|
|
12
|
-
|
|
13
|
-
vec4
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
for (float
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
weight =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
11
|
+
float adjustedExponent = 3. + 200. * pow(1. - noise.strength, 4.);
|
|
12
|
+
|
|
13
|
+
vec4 center = texture(source, texCoord);
|
|
14
|
+
vec4 color = vec4(0.0);
|
|
15
|
+
float total = 0.0;
|
|
16
|
+
for (float x = -4.0; x <= 4.0; x += 1.0) {
|
|
17
|
+
for (float y = -4.0; y <= 4.0; y += 1.0) {
|
|
18
|
+
vec4 offsetColor = texture(source, texCoord + vec2(x, y) / texSize);
|
|
19
|
+
float weight = 1.0 - abs(dot(offsetColor.rgb - center.rgb, vec3(0.25)));
|
|
20
|
+
weight = pow(weight, adjustedExponent);
|
|
21
|
+
color += offsetColor * weight;
|
|
22
|
+
total += weight;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return color / total;
|
|
25
27
|
}
|
|
26
28
|
`;
|
|
27
29
|
/**
|
|
@@ -30,6 +32,8 @@ return color / total;
|
|
|
30
32
|
* weighted by color intensity, similar to a bilateral filter.
|
|
31
33
|
*/
|
|
32
34
|
export const denoise = {
|
|
35
|
+
props: {},
|
|
36
|
+
uniforms: {},
|
|
33
37
|
name: 'denoise',
|
|
34
38
|
uniformTypes: {
|
|
35
39
|
strength: 'f32'
|
|
@@ -5,9 +5,10 @@ export type HueSaturationProps = {
|
|
|
5
5
|
/** -1 to 1 (-1 is 180 degree rotation in the negative direction, 0 is no change,
|
|
6
6
|
* and 1 is 180 degree rotation in the positive direction) */
|
|
7
7
|
hue?: number;
|
|
8
|
-
/**
|
|
8
|
+
/** -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast) */
|
|
9
9
|
saturation?: number;
|
|
10
10
|
};
|
|
11
|
+
export type HueSaturationUniforms = HueSaturationProps;
|
|
11
12
|
/**
|
|
12
13
|
* Hue / Saturation
|
|
13
14
|
* Provides rotational hue and multiplicative saturation control. RGB color space
|
|
@@ -18,7 +19,10 @@ export type HueSaturationProps = {
|
|
|
18
19
|
* or away from the average color channel value.
|
|
19
20
|
*/
|
|
20
21
|
export declare const hueSaturation: {
|
|
22
|
+
readonly props: HueSaturationProps;
|
|
23
|
+
readonly uniforms: HueSaturationUniforms;
|
|
21
24
|
readonly name: "hueSaturation";
|
|
25
|
+
readonly fs: "uniform hueSaturationUniforms {\n float hue;\n float saturation;\n} hueSaturation;\n\nvec4 hueSaturation_filterColor(vec4 color) {\n // hue adjustment, wolfram alpha: RotationTransform[angle, {1, 1, 1}][{x, y, z}]\n float angle = hueSaturation.hue * 3.14159265;\n float s = sin(angle), c = cos(angle);\n vec3 weights = (vec3(2.0 * c, -sqrt(3.0) * s - c, sqrt(3.0) * s - c) + 1.0) / 3.0;\n float len = length(color.rgb);\n color.rgb = vec3(\n dot(color.rgb, weights.xyz),\n dot(color.rgb, weights.zxy),\n dot(color.rgb, weights.yzx)\n );\n\n // saturation adjustment\n float average = (color.r + color.g + color.b) / 3.0;\n if (hueSaturation.saturation > 0.0) {\n color.rgb += (average - color.rgb) * (1.0 - 1.0 / (1.001 - hueSaturation.saturation));\n } else {\n color.rgb += (average - color.rgb) * (-hueSaturation.saturation);\n }\n\n return color;\n}\n\nvec4 hueSaturation_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {\n return hueSaturation_filterColor(color);\n}\n";
|
|
22
26
|
readonly uniformTypes: {
|
|
23
27
|
readonly hue: "f32";
|
|
24
28
|
readonly saturation: "f32";
|
|
@@ -35,7 +39,6 @@ export declare const hueSaturation: {
|
|
|
35
39
|
readonly max: 1;
|
|
36
40
|
};
|
|
37
41
|
};
|
|
38
|
-
readonly fs: string;
|
|
39
42
|
readonly passes: [{
|
|
40
43
|
readonly filter: true;
|
|
41
44
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huesaturation.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/huesaturation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"huesaturation.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/huesaturation.ts"],"names":[],"mappings":"AAwCA;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;iEAC6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;oBACX,kBAAkB;uBACf,qBAAqB;;;;;;;;;;;;;;;;;;;;;;CAcY,CAAC"}
|
|
@@ -1,32 +1,37 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
const fs = `\
|
|
4
|
+
const fs = /* glsl */ `\
|
|
6
5
|
uniform hueSaturationUniforms {
|
|
7
|
-
float hue;
|
|
8
|
-
float saturation;
|
|
6
|
+
float hue;
|
|
7
|
+
float saturation;
|
|
9
8
|
} hueSaturation;
|
|
9
|
+
|
|
10
10
|
vec4 hueSaturation_filterColor(vec4 color) {
|
|
11
|
-
|
|
12
|
-
float
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
dot(color.rgb, weights.
|
|
18
|
-
dot(color.rgb, weights.
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
// hue adjustment, wolfram alpha: RotationTransform[angle, {1, 1, 1}][{x, y, z}]
|
|
12
|
+
float angle = hueSaturation.hue * 3.14159265;
|
|
13
|
+
float s = sin(angle), c = cos(angle);
|
|
14
|
+
vec3 weights = (vec3(2.0 * c, -sqrt(3.0) * s - c, sqrt(3.0) * s - c) + 1.0) / 3.0;
|
|
15
|
+
float len = length(color.rgb);
|
|
16
|
+
color.rgb = vec3(
|
|
17
|
+
dot(color.rgb, weights.xyz),
|
|
18
|
+
dot(color.rgb, weights.zxy),
|
|
19
|
+
dot(color.rgb, weights.yzx)
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
// saturation adjustment
|
|
23
|
+
float average = (color.r + color.g + color.b) / 3.0;
|
|
24
|
+
if (hueSaturation.saturation > 0.0) {
|
|
25
|
+
color.rgb += (average - color.rgb) * (1.0 - 1.0 / (1.001 - hueSaturation.saturation));
|
|
26
|
+
} else {
|
|
27
|
+
color.rgb += (average - color.rgb) * (-hueSaturation.saturation);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return color;
|
|
27
31
|
}
|
|
32
|
+
|
|
28
33
|
vec4 hueSaturation_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {
|
|
29
|
-
return hueSaturation_filterColor(color);
|
|
34
|
+
return hueSaturation_filterColor(color);
|
|
30
35
|
}
|
|
31
36
|
`;
|
|
32
37
|
/**
|
|
@@ -39,7 +44,10 @@ return hueSaturation_filterColor(color);
|
|
|
39
44
|
* or away from the average color channel value.
|
|
40
45
|
*/
|
|
41
46
|
export const hueSaturation = {
|
|
47
|
+
props: {},
|
|
48
|
+
uniforms: {},
|
|
42
49
|
name: 'hueSaturation',
|
|
50
|
+
fs,
|
|
43
51
|
uniformTypes: {
|
|
44
52
|
hue: 'f32',
|
|
45
53
|
saturation: 'f32'
|
|
@@ -48,6 +56,5 @@ export const hueSaturation = {
|
|
|
48
56
|
hue: { value: 0, min: -1, max: 1 },
|
|
49
57
|
saturation: { value: 0, min: -1, max: 1 }
|
|
50
58
|
},
|
|
51
|
-
fs,
|
|
52
59
|
passes: [{ filter: true }]
|
|
53
60
|
};
|
|
@@ -5,11 +5,14 @@ export type NoiseProps = {
|
|
|
5
5
|
/** 0 to 1 (0 for no effect, 1 for maximum noise) */
|
|
6
6
|
amount?: number;
|
|
7
7
|
};
|
|
8
|
+
export type NoiseUniforms = NoiseProps;
|
|
8
9
|
/**
|
|
9
10
|
* Noise
|
|
10
11
|
* Adds black and white noise to the image.
|
|
11
12
|
*/
|
|
12
13
|
export declare const noise: {
|
|
14
|
+
readonly props: NoiseProps;
|
|
15
|
+
readonly uniforms: NoiseUniforms;
|
|
13
16
|
readonly name: "noise";
|
|
14
17
|
readonly uniformTypes: {
|
|
15
18
|
readonly amount: "f32";
|
|
@@ -21,7 +24,7 @@ export declare const noise: {
|
|
|
21
24
|
readonly max: 1;
|
|
22
25
|
};
|
|
23
26
|
};
|
|
24
|
-
readonly fs:
|
|
27
|
+
readonly fs: "uniform noiseUniforms {\n float amount;\n} noise;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);\n}\n\nvec4 noise_filterColor(vec4 color, vec2 texCoord) {\n float diff = (rand(texCoord) - 0.5) * noise.amount;\n color.r += diff;\n color.g += diff;\n color.b += diff;\n return color;\n}\n\nvec4 noise_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {\n return noise_filterColor(color, texCoord);\n}\n";
|
|
25
28
|
readonly passes: [{
|
|
26
29
|
readonly filter: true;
|
|
27
30
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noise.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/noise.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"noise.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/noise.ts"],"names":[],"mappings":"AA4BA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,KAAK;oBACH,UAAU;uBACP,aAAa;;;;;;;;;;;;;;;;CAWwB,CAAC"}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
const fs = `\
|
|
4
|
+
const fs = /* glsl */ `\
|
|
6
5
|
uniform noiseUniforms {
|
|
7
|
-
float amount;
|
|
6
|
+
float amount;
|
|
8
7
|
} noise;
|
|
8
|
+
|
|
9
9
|
float rand(vec2 co) {
|
|
10
|
-
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
|
|
10
|
+
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
|
|
11
11
|
}
|
|
12
|
+
|
|
12
13
|
vec4 noise_filterColor(vec4 color, vec2 texCoord) {
|
|
13
|
-
float diff = (rand(texCoord) - 0.5) * noise.amount;
|
|
14
|
-
color.r += diff;
|
|
15
|
-
color.g += diff;
|
|
16
|
-
color.b += diff;
|
|
17
|
-
return color;
|
|
14
|
+
float diff = (rand(texCoord) - 0.5) * noise.amount;
|
|
15
|
+
color.r += diff;
|
|
16
|
+
color.g += diff;
|
|
17
|
+
color.b += diff;
|
|
18
|
+
return color;
|
|
18
19
|
}
|
|
20
|
+
|
|
19
21
|
vec4 noise_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {
|
|
20
|
-
return noise_filterColor(color, texCoord);
|
|
22
|
+
return noise_filterColor(color, texCoord);
|
|
21
23
|
}
|
|
22
24
|
`;
|
|
23
25
|
/**
|
|
@@ -25,6 +27,8 @@ return noise_filterColor(color, texCoord);
|
|
|
25
27
|
* Adds black and white noise to the image.
|
|
26
28
|
*/
|
|
27
29
|
export const noise = {
|
|
30
|
+
props: {},
|
|
31
|
+
uniforms: {},
|
|
28
32
|
name: 'noise',
|
|
29
33
|
uniformTypes: {
|
|
30
34
|
amount: 'f32'
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export type SepiaProps = {
|
|
2
2
|
amount?: number;
|
|
3
3
|
};
|
|
4
|
+
export type SepiaUniforms = SepiaProps;
|
|
4
5
|
/**
|
|
5
6
|
* @filter Sepia
|
|
6
7
|
* @description Gives the image a reddish-brown monochrome tint that imitates an old photograph.
|
|
7
8
|
* @param amount 0 to 1 (0 for no effect, 1 for full sepia coloring)
|
|
8
9
|
*/
|
|
9
10
|
export declare const sepia: {
|
|
11
|
+
readonly props: SepiaProps;
|
|
12
|
+
readonly uniforms: SepiaUniforms;
|
|
10
13
|
readonly name: "sepia";
|
|
11
14
|
readonly uniformTypes: {
|
|
12
15
|
readonly amount: "f32";
|
|
@@ -18,7 +21,7 @@ export declare const sepia: {
|
|
|
18
21
|
readonly max: 1;
|
|
19
22
|
};
|
|
20
23
|
};
|
|
21
|
-
readonly fs:
|
|
24
|
+
readonly fs: "uniform sepiaUniforms {\n float amount;\n} sepia;\n\nvec4 sepia_filterColor(vec4 color) {\n float r = color.r;\n float g = color.g;\n float b = color.b;\n\n color.r =\n min(1.0, (r * (1.0 - (0.607 * sepia.amount))) + (g * (0.769 * sepia.amount)) + (b * (0.189 * sepia.amount)));\n color.g = min(1.0, (r * 0.349 * sepia.amount) + (g * (1.0 - (0.314 * sepia.amount))) + (b * 0.168 * sepia.amount));\n color.b = min(1.0, (r * 0.272 * sepia.amount) + (g * 0.534 * sepia.amount) + (b * (1.0 - (0.869 * sepia.amount))));\n\n return color;\n}\n\nvec4 sepia_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {\n return sepia_filterColor(color);\n}\n";
|
|
22
25
|
readonly passes: [{
|
|
23
26
|
readonly filter: true;
|
|
24
27
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sepia.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/sepia.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sepia.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/sepia.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,KAAK;oBACH,UAAU;uBACP,aAAa;;;;;;;;;;;;;;;;CAWwB,CAAC"}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
const fs = `\
|
|
4
|
+
const fs = /* glsl */ `\
|
|
6
5
|
uniform sepiaUniforms {
|
|
7
|
-
float amount;
|
|
6
|
+
float amount;
|
|
8
7
|
} sepia;
|
|
8
|
+
|
|
9
9
|
vec4 sepia_filterColor(vec4 color) {
|
|
10
|
-
float r = color.r;
|
|
11
|
-
float g = color.g;
|
|
12
|
-
float b = color.b;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
color.
|
|
17
|
-
|
|
10
|
+
float r = color.r;
|
|
11
|
+
float g = color.g;
|
|
12
|
+
float b = color.b;
|
|
13
|
+
|
|
14
|
+
color.r =
|
|
15
|
+
min(1.0, (r * (1.0 - (0.607 * sepia.amount))) + (g * (0.769 * sepia.amount)) + (b * (0.189 * sepia.amount)));
|
|
16
|
+
color.g = min(1.0, (r * 0.349 * sepia.amount) + (g * (1.0 - (0.314 * sepia.amount))) + (b * 0.168 * sepia.amount));
|
|
17
|
+
color.b = min(1.0, (r * 0.272 * sepia.amount) + (g * 0.534 * sepia.amount) + (b * (1.0 - (0.869 * sepia.amount))));
|
|
18
|
+
|
|
19
|
+
return color;
|
|
18
20
|
}
|
|
21
|
+
|
|
19
22
|
vec4 sepia_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {
|
|
20
|
-
return sepia_filterColor(color);
|
|
23
|
+
return sepia_filterColor(color);
|
|
21
24
|
}
|
|
22
25
|
`;
|
|
23
26
|
/**
|
|
@@ -26,6 +29,8 @@ return sepia_filterColor(color);
|
|
|
26
29
|
* @param amount 0 to 1 (0 for no effect, 1 for full sepia coloring)
|
|
27
30
|
*/
|
|
28
31
|
export const sepia = {
|
|
32
|
+
props: {},
|
|
33
|
+
uniforms: {},
|
|
29
34
|
name: 'sepia',
|
|
30
35
|
uniformTypes: {
|
|
31
36
|
amount: 'f32'
|
|
@@ -5,8 +5,11 @@ export type VibranceProps = {
|
|
|
5
5
|
/** -1 to 1 (-1 is minimum vibrance, 0 is no change, and 1 is maximum vibrance) */
|
|
6
6
|
amount?: number;
|
|
7
7
|
};
|
|
8
|
+
export type VibranceUniforms = VibranceProps;
|
|
8
9
|
/** Vibrance - Modifies the saturation of desaturated colors, leaving saturated colors unmodified. */
|
|
9
10
|
export declare const vibrance: {
|
|
11
|
+
readonly props: VibranceProps;
|
|
12
|
+
readonly uniforms: VibranceUniforms;
|
|
10
13
|
readonly name: "vibrance";
|
|
11
14
|
readonly uniformPropTypes: {
|
|
12
15
|
readonly amount: {
|
|
@@ -15,7 +18,7 @@ export declare const vibrance: {
|
|
|
15
18
|
readonly max: 1;
|
|
16
19
|
};
|
|
17
20
|
};
|
|
18
|
-
readonly fs:
|
|
21
|
+
readonly fs: "uniform vibranceUniforms {\n float amount;\n} vibrance;\n\nvec4 vibrance_filterColor(vec4 color) {\n float average = (color.r + color.g + color.b) / 3.0;\n float mx = max(color.r, max(color.g, color.b));\n float amt = (mx - average) * (-vibrance.amount * 3.0);\n color.rgb = mix(color.rgb, vec3(mx), amt);\n return color;\n}\n\nvec4 vibrance_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {\n return vibrance_filterColor(color);\n}\n";
|
|
19
22
|
readonly passes: [{
|
|
20
23
|
readonly filter: true;
|
|
21
24
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibrance.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/vibrance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vibrance.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/vibrance.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE7C,qGAAqG;AACrG,eAAO,MAAM,QAAQ;oBACN,aAAa;uBACV,gBAAgB;;;;;;;;;;;;;CAO2B,CAAC"}
|
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
const fs = `\
|
|
4
|
+
const fs = /* glsl */ `\
|
|
6
5
|
uniform vibranceUniforms {
|
|
7
|
-
float amount;
|
|
6
|
+
float amount;
|
|
8
7
|
} vibrance;
|
|
8
|
+
|
|
9
9
|
vec4 vibrance_filterColor(vec4 color) {
|
|
10
|
-
float average = (color.r + color.g + color.b) / 3.0;
|
|
11
|
-
float mx = max(color.r, max(color.g, color.b));
|
|
12
|
-
float amt = (mx - average) * (-vibrance.amount * 3.0);
|
|
13
|
-
color.rgb = mix(color.rgb, vec3(mx), amt);
|
|
14
|
-
return color;
|
|
10
|
+
float average = (color.r + color.g + color.b) / 3.0;
|
|
11
|
+
float mx = max(color.r, max(color.g, color.b));
|
|
12
|
+
float amt = (mx - average) * (-vibrance.amount * 3.0);
|
|
13
|
+
color.rgb = mix(color.rgb, vec3(mx), amt);
|
|
14
|
+
return color;
|
|
15
15
|
}
|
|
16
|
+
|
|
16
17
|
vec4 vibrance_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {
|
|
17
|
-
return vibrance_filterColor(color);
|
|
18
|
+
return vibrance_filterColor(color);
|
|
18
19
|
}
|
|
19
20
|
`;
|
|
20
21
|
/** Vibrance - Modifies the saturation of desaturated colors, leaving saturated colors unmodified. */
|
|
21
22
|
export const vibrance = {
|
|
23
|
+
props: {},
|
|
24
|
+
uniforms: {},
|
|
22
25
|
name: 'vibrance',
|
|
23
26
|
uniformPropTypes: {
|
|
24
27
|
amount: { value: 0, min: -1, max: 1 }
|
|
@@ -7,13 +7,15 @@ export type VignetteProps = {
|
|
|
7
7
|
/** 0 to 1 (0 for no effect, 1 for maximum lens darkening) */
|
|
8
8
|
amount?: number;
|
|
9
9
|
};
|
|
10
|
+
export type VignetteUniforms = VignetteProps;
|
|
10
11
|
/**
|
|
11
12
|
* Vignette -
|
|
12
13
|
* Adds a simulated lens edge darkening effect.
|
|
13
14
|
*/
|
|
14
15
|
export declare const vignette: {
|
|
16
|
+
readonly props: VignetteProps;
|
|
17
|
+
readonly uniforms: VignetteUniforms;
|
|
15
18
|
readonly name: "vignette";
|
|
16
|
-
readonly fs: string;
|
|
17
19
|
readonly uniformTypes: {
|
|
18
20
|
readonly radius: "f32";
|
|
19
21
|
readonly amount: "f32";
|
|
@@ -33,5 +35,6 @@ export declare const vignette: {
|
|
|
33
35
|
readonly passes: [{
|
|
34
36
|
readonly filter: true;
|
|
35
37
|
}];
|
|
38
|
+
readonly fs: "uniform vignetteUniforms {\n float radius;\n float amount;\n} vignette;\n\nvec4 vignette_filterColor(vec4 color, vec2 texCoord) {\n float dist = distance(texCoord, vec2(0.5, 0.5));\n float ratio = smoothstep(0.8, vignette.radius * 0.799, dist * (vignette.amount + vignette.radius));\n return color.rgba * ratio + (1.0 - ratio)*vec4(0.0, 0.0, 0.0, 1.0);\n}\n\nvec4 vignette_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {\n return vignette_filterColor(color, texCoord);\n}\n";
|
|
36
39
|
};
|
|
37
40
|
//# sourceMappingURL=vignette.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vignette.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/vignette.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vignette.d.ts","sourceRoot":"","sources":["../../../../src/modules/postprocessing/image-adjust-filters/vignette.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,QAAQ;oBACN,aAAa;uBACV,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAgB2B,CAAC"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
const fs = `\
|
|
4
|
+
const fs = /* glsl */ `\
|
|
6
5
|
uniform vignetteUniforms {
|
|
7
|
-
float radius;
|
|
8
|
-
float amount;
|
|
6
|
+
float radius;
|
|
7
|
+
float amount;
|
|
9
8
|
} vignette;
|
|
9
|
+
|
|
10
10
|
vec4 vignette_filterColor(vec4 color, vec2 texCoord) {
|
|
11
|
-
float dist = distance(texCoord, vec2(0.5, 0.5));
|
|
12
|
-
float ratio = smoothstep(0.8, vignette.radius * 0.799, dist * (vignette.amount + vignette.radius));
|
|
13
|
-
return color.rgba * ratio + (1.0 - ratio)*vec4(0.0, 0.0, 0.0, 1.0);
|
|
11
|
+
float dist = distance(texCoord, vec2(0.5, 0.5));
|
|
12
|
+
float ratio = smoothstep(0.8, vignette.radius * 0.799, dist * (vignette.amount + vignette.radius));
|
|
13
|
+
return color.rgba * ratio + (1.0 - ratio)*vec4(0.0, 0.0, 0.0, 1.0);
|
|
14
14
|
}
|
|
15
|
+
|
|
15
16
|
vec4 vignette_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {
|
|
16
|
-
return vignette_filterColor(color, texCoord);
|
|
17
|
+
return vignette_filterColor(color, texCoord);
|
|
17
18
|
}
|
|
18
19
|
`;
|
|
19
20
|
/**
|
|
@@ -21,8 +22,9 @@ return vignette_filterColor(color, texCoord);
|
|
|
21
22
|
* Adds a simulated lens edge darkening effect.
|
|
22
23
|
*/
|
|
23
24
|
export const vignette = {
|
|
25
|
+
props: {},
|
|
26
|
+
uniforms: {},
|
|
24
27
|
name: 'vignette',
|
|
25
|
-
fs,
|
|
26
28
|
uniformTypes: {
|
|
27
29
|
radius: 'f32',
|
|
28
30
|
amount: 'f32'
|
|
@@ -31,5 +33,6 @@ export const vignette = {
|
|
|
31
33
|
radius: { value: 0.5, min: 0, max: 1 },
|
|
32
34
|
amount: { value: 0.5, min: 0, max: 1 }
|
|
33
35
|
},
|
|
34
|
-
passes: [{ filter: true }]
|
|
36
|
+
passes: [{ filter: true }],
|
|
37
|
+
fs
|
|
35
38
|
};
|