@nodetool-ai/gpu 0.8.6 → 0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/pool.d.ts +1 -1
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +1 -1
- package/dist/pool.js.map +1 -1
- package/dist/shaders/color/grade/v1/module.d.ts.map +1 -1
- package/dist/shaders/color/grade/v1/module.js +2 -40
- package/dist/shaders/color/grade/v1/module.js.map +1 -1
- package/dist/shaders/color/hsb/v1/module.d.ts.map +1 -1
- package/dist/shaders/color/hsb/v1/module.js +2 -40
- package/dist/shaders/color/hsb/v1/module.js.map +1 -1
- package/dist/shaders/color/hslAdjust/v1/module.d.ts.map +1 -1
- package/dist/shaders/color/hslAdjust/v1/module.js +2 -40
- package/dist/shaders/color/hslAdjust/v1/module.js.map +1 -1
- package/dist/shaders/filters/grain/v2/module.d.ts +18 -0
- package/dist/shaders/filters/grain/v2/module.d.ts.map +1 -0
- package/dist/shaders/filters/grain/v2/module.js +141 -0
- package/dist/shaders/filters/grain/v2/module.js.map +1 -0
- package/dist/shaders/index.d.ts +2 -1
- package/dist/shaders/index.d.ts.map +1 -1
- package/dist/shaders/index.js +3 -1
- package/dist/shaders/index.js.map +1 -1
- package/dist/shared/hsvWgsl.d.ts +7 -0
- package/dist/shared/hsvWgsl.d.ts.map +1 -0
- package/dist/shared/hsvWgsl.js +47 -0
- package/dist/shared/hsvWgsl.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
2026-10-
|
|
1
|
+
2026-10-25T16:17:19.995Z
|
package/dist/pool.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { consumePremulDebugWarnings, isPremulDebugEnabled, setPremulDebugEnabled
|
|
|
23
23
|
export type { DebugViolation, DebugReadback, DebugSink, EncodeValidationArgs } from "./debug/premulValidator.js";
|
|
24
24
|
export { ceilToBucket, makeScratchPool, makeUniformRing, createGPUContextFromDevice } from "./context.js";
|
|
25
25
|
export type { GPUContext, GPUCapabilities, PipelineCache, CachedPipeline, ScratchPool, ScratchSpec, UniformRing } from "./context.js";
|
|
26
|
-
export { ALL_SHADERS, ALL_RECIPES, ALL_CATALOG, passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 } from "./shaders/index.js";
|
|
26
|
+
export { ALL_SHADERS, ALL_RECIPES, ALL_CATALOG, passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersGrainV2, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 } from "./shaders/index.js";
|
|
27
27
|
import { ShaderRegistry } from "./registry.js";
|
|
28
28
|
/** A {@link ShaderRegistry} preloaded with every catalog module (shaders + recipes). */
|
|
29
29
|
export declare function createDefaultRegistry(): ShaderRegistry;
|
package/dist/pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,cAAc,EACd,aAAa,EACb,SAAS,EACT,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,wFAAwF;AACxF,wBAAgB,qBAAqB,IAAI,cAAc,CAItD"}
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,cAAc,EACd,aAAa,EACb,SAAS,EACT,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,wFAAwF;AACxF,wBAAgB,qBAAqB,IAAI,cAAc,CAItD"}
|
package/dist/pool.js
CHANGED
|
@@ -21,7 +21,7 @@ export * from "./recipe.js";
|
|
|
21
21
|
export * from "./fullscreenQuad.js";
|
|
22
22
|
export { consumePremulDebugWarnings, isPremulDebugEnabled, setPremulDebugEnabled, resetPremulDebugCache } from "./debug/premulValidator.js";
|
|
23
23
|
export { ceilToBucket, makeScratchPool, makeUniformRing, createGPUContextFromDevice } from "./context.js";
|
|
24
|
-
export { ALL_SHADERS, ALL_RECIPES, ALL_CATALOG, passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 } from "./shaders/index.js";
|
|
24
|
+
export { ALL_SHADERS, ALL_RECIPES, ALL_CATALOG, passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersGrainV2, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 } from "./shaders/index.js";
|
|
25
25
|
import { ShaderRegistry } from "./registry.js";
|
|
26
26
|
import { ALL_CATALOG } from "./shaders/index.js";
|
|
27
27
|
/** A {@link ShaderRegistry} preloaded with every catalog module (shaders + recipes). */
|
package/dist/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,wFAAwF;AACxF,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,wFAAwF;AACxF,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/color/grade/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/color/grade/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,eAAO,MAAM,gBAAgB;;;;;;;;;EAS3B,CAAC;AAQH,eAAO,MAAM,YAAY;;;;;;;;;GA8GvB,CAAC"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import tgpu from "typegpu";
|
|
15
15
|
import * as d from "typegpu/data";
|
|
16
16
|
import { defineModule } from "../../../../module.js";
|
|
17
|
+
import { WGSL_HSV } from "../../../../shared/hsvWgsl.js";
|
|
17
18
|
export const ColorGradeParams = d.struct({
|
|
18
19
|
brightness: d.f32,
|
|
19
20
|
contrast: d.f32,
|
|
@@ -62,46 +63,7 @@ export const colorGradeV1 = defineModule({
|
|
|
62
63
|
layout,
|
|
63
64
|
workgroupSize: [16, 16, 1],
|
|
64
65
|
wgsl: /* wgsl */ `
|
|
65
|
-
|
|
66
|
-
let maxC = max(max(rgb.r, rgb.g), rgb.b);
|
|
67
|
-
let minC = min(min(rgb.r, rgb.g), rgb.b);
|
|
68
|
-
let delta = maxC - minC;
|
|
69
|
-
var h: f32 = 0.0;
|
|
70
|
-
var s: f32 = 0.0;
|
|
71
|
-
let v: f32 = maxC;
|
|
72
|
-
if (delta > 0.00001) {
|
|
73
|
-
s = delta / maxC;
|
|
74
|
-
if (maxC == rgb.r) {
|
|
75
|
-
h = (rgb.g - rgb.b) / delta;
|
|
76
|
-
if (rgb.g < rgb.b) { h = h + 6.0; }
|
|
77
|
-
} else if (maxC == rgb.g) {
|
|
78
|
-
h = 2.0 + (rgb.b - rgb.r) / delta;
|
|
79
|
-
} else {
|
|
80
|
-
h = 4.0 + (rgb.r - rgb.g) / delta;
|
|
81
|
-
}
|
|
82
|
-
h = h / 6.0;
|
|
83
|
-
}
|
|
84
|
-
return vec3<f32>(h, s, v);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
fn hsv2rgb(hsv: vec3<f32>) -> vec3<f32> {
|
|
88
|
-
let h = hsv.x * 6.0;
|
|
89
|
-
let s = hsv.y;
|
|
90
|
-
let v = hsv.z;
|
|
91
|
-
let i = floor(h);
|
|
92
|
-
let f = h - i;
|
|
93
|
-
let p = v * (1.0 - s);
|
|
94
|
-
let q = v * (1.0 - s * f);
|
|
95
|
-
let t = v * (1.0 - s * (1.0 - f));
|
|
96
|
-
let idx = i32(i) % 6;
|
|
97
|
-
if (idx == 0) { return vec3<f32>(v, t, p); }
|
|
98
|
-
if (idx == 1) { return vec3<f32>(q, v, p); }
|
|
99
|
-
if (idx == 2) { return vec3<f32>(p, v, t); }
|
|
100
|
-
if (idx == 3) { return vec3<f32>(p, q, v); }
|
|
101
|
-
if (idx == 4) { return vec3<f32>(t, p, v); }
|
|
102
|
-
return vec3<f32>(v, p, q);
|
|
103
|
-
}
|
|
104
|
-
|
|
66
|
+
${WGSL_HSV}
|
|
105
67
|
fn smoothstepCustom(e0: f32, e1: f32, x: f32) -> f32 {
|
|
106
68
|
let t = clamp((x - e0) / (e1 - e0), 0.0, 1.0);
|
|
107
69
|
return t * t * (3.0 - 2.0 * t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/shaders/color/grade/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/shaders/color/grade/v1/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/color/hsb/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/color/hsb/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,eAAO,MAAM,SAAS;;;;EAIpB,CAAC;AAgBH,eAAO,MAAM,UAAU;;;;GA8DrB,CAAC"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import tgpu from "typegpu";
|
|
10
10
|
import * as d from "typegpu/data";
|
|
11
11
|
import { defineModule } from "../../../../module.js";
|
|
12
|
+
import { WGSL_HSV } from "../../../../shared/hsvWgsl.js";
|
|
12
13
|
export const HsbParams = d.struct({
|
|
13
14
|
hue: d.f32,
|
|
14
15
|
saturation: d.f32,
|
|
@@ -45,46 +46,7 @@ export const colorHsbV1 = defineModule({
|
|
|
45
46
|
layout,
|
|
46
47
|
samplers: { samp: samplerDescriptor },
|
|
47
48
|
wgsl: /* wgsl */ `
|
|
48
|
-
|
|
49
|
-
let maxC = max(max(rgb.r, rgb.g), rgb.b);
|
|
50
|
-
let minC = min(min(rgb.r, rgb.g), rgb.b);
|
|
51
|
-
let delta = maxC - minC;
|
|
52
|
-
var h: f32 = 0.0;
|
|
53
|
-
var s: f32 = 0.0;
|
|
54
|
-
let v: f32 = maxC;
|
|
55
|
-
if (delta > 0.00001) {
|
|
56
|
-
s = delta / maxC;
|
|
57
|
-
if (maxC == rgb.r) {
|
|
58
|
-
h = (rgb.g - rgb.b) / delta;
|
|
59
|
-
if (rgb.g < rgb.b) { h = h + 6.0; }
|
|
60
|
-
} else if (maxC == rgb.g) {
|
|
61
|
-
h = 2.0 + (rgb.b - rgb.r) / delta;
|
|
62
|
-
} else {
|
|
63
|
-
h = 4.0 + (rgb.r - rgb.g) / delta;
|
|
64
|
-
}
|
|
65
|
-
h = h / 6.0;
|
|
66
|
-
}
|
|
67
|
-
return vec3f(h, s, v);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
fn hsv2rgb(hsv: vec3f) -> vec3f {
|
|
71
|
-
let h = hsv.x * 6.0;
|
|
72
|
-
let s = hsv.y;
|
|
73
|
-
let v = hsv.z;
|
|
74
|
-
let i = floor(h);
|
|
75
|
-
let f = h - i;
|
|
76
|
-
let p = v * (1.0 - s);
|
|
77
|
-
let q = v * (1.0 - s * f);
|
|
78
|
-
let t = v * (1.0 - s * (1.0 - f));
|
|
79
|
-
let idx = i32(i) % 6;
|
|
80
|
-
if (idx == 0) { return vec3f(v, t, p); }
|
|
81
|
-
if (idx == 1) { return vec3f(q, v, p); }
|
|
82
|
-
if (idx == 2) { return vec3f(p, v, t); }
|
|
83
|
-
if (idx == 3) { return vec3f(p, q, v); }
|
|
84
|
-
if (idx == 4) { return vec3f(t, p, v); }
|
|
85
|
-
return vec3f(v, p, q);
|
|
86
|
-
}
|
|
87
|
-
|
|
49
|
+
${WGSL_HSV}
|
|
88
50
|
@fragment
|
|
89
51
|
fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f {
|
|
90
52
|
let src = textureSample(layout.$.source, layout.$.samp, uv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/shaders/color/hsb/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/shaders/color/hsb/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC,CAAC,GAAG;IACV,UAAU,EAAE,CAAC,CAAC,GAAG;IACjB,UAAU,EAAE,CAAC,CAAC,GAAG;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;IAClC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;IAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;IAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;IAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAyB;IAC9C,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;IACrC,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,CAAC;IACV,0EAA0E;IAC1E,0CAA0C;IAC1C,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;IACvD,OAAO,EAAE;QACP,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;QACrE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;QAC/D,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;KAChE;IACD,MAAM;IACN,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACrC,IAAI,EAAE,UAAU,CAAC;EACjB,QAAQ;;;;;;;;;;;;;;;;;;;;CAoBT;IACC,EAAE,EAAE;QACF,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,UAAU,EAAE,QAAQ;gBACpB,KAAK,EAAE,eAAe;gBACtB,YAAY,EAAE,CAAC,YAAY,CAAC;aAC7B;YACD,IAAI,EAAE;gBACJ,UAAU,EAAE,QAAQ;gBACpB,KAAK,EAAE,eAAe;gBACtB,YAAY,EAAE,CAAC,YAAY,CAAC;gBAC5B,QAAQ,EAAE,IAAI;aACf;SACF;QACD,MAAM,EAAE;YACN,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,gBAAgB;SAC7B;QACD,GAAG,EAAE,gBAAgB;KACtB;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/color/hslAdjust/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/color/hslAdjust/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,eAAO,MAAM,eAAe;;;;;;;EAO1B,CAAC;AAgBH,eAAO,MAAM,gBAAgB;;;;;;;GA8F3B,CAAC"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import tgpu from "typegpu";
|
|
14
14
|
import * as d from "typegpu/data";
|
|
15
15
|
import { defineModule } from "../../../../module.js";
|
|
16
|
+
import { WGSL_HSV } from "../../../../shared/hsvWgsl.js";
|
|
16
17
|
export const HslAdjustParams = d.struct({
|
|
17
18
|
hueShift: d.f32,
|
|
18
19
|
satAdj: d.f32,
|
|
@@ -60,46 +61,7 @@ export const colorHslAdjustV1 = defineModule({
|
|
|
60
61
|
layout,
|
|
61
62
|
samplers: { samp: samplerDescriptor },
|
|
62
63
|
wgsl: /* wgsl */ `
|
|
63
|
-
|
|
64
|
-
let maxC = max(max(rgb.r, rgb.g), rgb.b);
|
|
65
|
-
let minC = min(min(rgb.r, rgb.g), rgb.b);
|
|
66
|
-
let delta = maxC - minC;
|
|
67
|
-
var h: f32 = 0.0;
|
|
68
|
-
var s: f32 = 0.0;
|
|
69
|
-
let v: f32 = maxC;
|
|
70
|
-
if (delta > 0.00001) {
|
|
71
|
-
s = delta / maxC;
|
|
72
|
-
if (maxC == rgb.r) {
|
|
73
|
-
h = (rgb.g - rgb.b) / delta;
|
|
74
|
-
if (rgb.g < rgb.b) { h = h + 6.0; }
|
|
75
|
-
} else if (maxC == rgb.g) {
|
|
76
|
-
h = 2.0 + (rgb.b - rgb.r) / delta;
|
|
77
|
-
} else {
|
|
78
|
-
h = 4.0 + (rgb.r - rgb.g) / delta;
|
|
79
|
-
}
|
|
80
|
-
h = h / 6.0;
|
|
81
|
-
}
|
|
82
|
-
return vec3f(h, s, v);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
fn hsv2rgb(hsv: vec3f) -> vec3f {
|
|
86
|
-
let h = hsv.x * 6.0;
|
|
87
|
-
let s = hsv.y;
|
|
88
|
-
let v = hsv.z;
|
|
89
|
-
let i = floor(h);
|
|
90
|
-
let f = h - i;
|
|
91
|
-
let p = v * (1.0 - s);
|
|
92
|
-
let q = v * (1.0 - s * f);
|
|
93
|
-
let t = v * (1.0 - s * (1.0 - f));
|
|
94
|
-
let idx = i32(i) % 6;
|
|
95
|
-
if (idx == 0) { return vec3f(v, t, p); }
|
|
96
|
-
if (idx == 1) { return vec3f(q, v, p); }
|
|
97
|
-
if (idx == 2) { return vec3f(p, v, t); }
|
|
98
|
-
if (idx == 3) { return vec3f(p, q, v); }
|
|
99
|
-
if (idx == 4) { return vec3f(t, p, v); }
|
|
100
|
-
return vec3f(v, p, q);
|
|
101
|
-
}
|
|
102
|
-
|
|
64
|
+
${WGSL_HSV}
|
|
103
65
|
@fragment
|
|
104
66
|
fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f {
|
|
105
67
|
let src = textureSample(layout.$.source, layout.$.samp, uv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/shaders/color/hslAdjust/v1/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/shaders/color/hslAdjust/v1/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as d from "typegpu/data";
|
|
2
|
+
export declare const GrainParams: d.WgslStruct<{
|
|
3
|
+
amount: d.F32;
|
|
4
|
+
size: d.F32;
|
|
5
|
+
colorAmount: d.F32;
|
|
6
|
+
seed: d.F32;
|
|
7
|
+
roughness: d.F32;
|
|
8
|
+
softness: d.F32;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const filtersGrainV2: import("../../../../module.js").ShaderModule<d.WgslStruct<{
|
|
11
|
+
amount: d.F32;
|
|
12
|
+
size: d.F32;
|
|
13
|
+
colorAmount: d.F32;
|
|
14
|
+
seed: d.F32;
|
|
15
|
+
roughness: d.F32;
|
|
16
|
+
softness: d.F32;
|
|
17
|
+
}>>;
|
|
18
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/filters/grain/v2/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,eAAO,MAAM,WAAW;;;;;;;EAOtB,CAAC;AAQH,eAAO,MAAM,cAAc;;;;;;;GA0HzB,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/** Film grain with jittered Gaussian convolution and Soft Light exposure. */
|
|
2
|
+
import tgpu from "typegpu";
|
|
3
|
+
import * as d from "typegpu/data";
|
|
4
|
+
import { defineModule } from "../../../../module.js";
|
|
5
|
+
export const GrainParams = d.struct({
|
|
6
|
+
amount: d.f32,
|
|
7
|
+
size: d.f32,
|
|
8
|
+
colorAmount: d.f32,
|
|
9
|
+
seed: d.f32,
|
|
10
|
+
roughness: d.f32,
|
|
11
|
+
softness: d.f32
|
|
12
|
+
});
|
|
13
|
+
const layout = tgpu.bindGroupLayout({
|
|
14
|
+
source: { texture: "float" },
|
|
15
|
+
outputTexture: { storageTexture: "rgba8unorm" },
|
|
16
|
+
params: { uniform: GrainParams }
|
|
17
|
+
});
|
|
18
|
+
export const filtersGrainV2 = defineModule({
|
|
19
|
+
id: "filters.grain",
|
|
20
|
+
version: 2,
|
|
21
|
+
surface: "internal",
|
|
22
|
+
category: "filters",
|
|
23
|
+
linearity: "nonlinear-in-rgb",
|
|
24
|
+
kind: "compute",
|
|
25
|
+
params: GrainParams,
|
|
26
|
+
paramDefaults: { amount: 0, size: 1, colorAmount: 0, seed: 0, roughness: 0.5, softness: 0.25 },
|
|
27
|
+
paramUi: {
|
|
28
|
+
amount: { min: 0, max: 1, step: 0.01, label: "Amount" },
|
|
29
|
+
size: { min: 1, max: 16, step: 0.5, label: "Size" },
|
|
30
|
+
colorAmount: { min: 0, max: 1, step: 0.01, label: "Colour" },
|
|
31
|
+
seed: { label: "Seed" },
|
|
32
|
+
roughness: { min: 0, max: 1, step: 0.01, label: "Roughness" },
|
|
33
|
+
softness: { min: 0, max: 1, step: 0.01, label: "Softness" }
|
|
34
|
+
},
|
|
35
|
+
layout,
|
|
36
|
+
workgroupSize: [16, 16, 1],
|
|
37
|
+
wgsl: /* wgsl */ `
|
|
38
|
+
// Integer hashing avoids device-dependent float rounding in the noise source.
|
|
39
|
+
fn hash31(cell: vec2i, seed: u32) -> f32 {
|
|
40
|
+
var h = (u32(cell.x) * 1597334677u) ^ (u32(cell.y) * 3812015801u) ^ (seed * 2798796415u);
|
|
41
|
+
h = (h ^ (h >> 16u)) * 2246822519u;
|
|
42
|
+
h = (h ^ (h >> 13u)) * 3266489917u;
|
|
43
|
+
h = h ^ (h >> 16u);
|
|
44
|
+
return f32(h >> 8u) / 16777216.0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Three independent uniforms approximate a Gaussian with unit variance.
|
|
48
|
+
fn gaussAt(cell: vec2i, seed: u32) -> f32 {
|
|
49
|
+
let a = hash31(cell, seed);
|
|
50
|
+
let b = hash31(cell, seed + 1013u);
|
|
51
|
+
let c = hash31(cell, seed + 3037u);
|
|
52
|
+
return (a + b + c - 1.5) * 2.0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
fn softenedNoise(p: vec2f, seed: u32, softness: f32) -> f32 {
|
|
56
|
+
let center = vec2i(floor(p + vec2f(0.5)));
|
|
57
|
+
let sigma = 0.7 + softness * 0.3;
|
|
58
|
+
let falloff = 0.5 / (sigma * sigma);
|
|
59
|
+
let boundary = exp(-4.0 * falloff);
|
|
60
|
+
var sum = 0.0;
|
|
61
|
+
var energy = 0.0;
|
|
62
|
+
for (var y = -2; y <= 2; y++) {
|
|
63
|
+
for (var x = -2; x <= 2; x++) {
|
|
64
|
+
let cell = center + vec2i(x, y);
|
|
65
|
+
let jitter = vec2f(hash31(cell, seed + 4001u), hash31(cell, seed + 8089u)) - vec2f(0.5);
|
|
66
|
+
let delta = p - (vec2f(cell) + jitter);
|
|
67
|
+
// Overlapping Gaussian lobes with independently jittered centers avoid
|
|
68
|
+
// visible lattice cells. Subtract the radius-2 boundary so taps enter
|
|
69
|
+
// and leave this 5x5 window continuously, including at full softness.
|
|
70
|
+
let weight = max(0.0, exp(-(delta.x * delta.x + delta.y * delta.y) * falloff) - boundary);
|
|
71
|
+
sum = sum + gaussAt(cell, seed) * weight;
|
|
72
|
+
energy = energy + weight * weight;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return sum / sqrt(energy);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
fn grainAt(p: vec2f, seed: u32, roughness: f32, softness: f32) -> f32 {
|
|
79
|
+
// Distinct rotations keep both octaves away from the image axes and from
|
|
80
|
+
// each other's lattice. The fine octave is twice the spatial frequency.
|
|
81
|
+
let coarseP = vec2f(p.x * 0.8 - p.y * 0.6, p.x * 0.6 + p.y * 0.8);
|
|
82
|
+
let fineP = vec2f(p.x * 0.9238795 + p.y * 0.3826834, -p.x * 0.3826834 + p.y * 0.9238795) * 2.0;
|
|
83
|
+
let coarse = softenedNoise(coarseP, seed, softness);
|
|
84
|
+
let fine = softenedNoise(fineP + vec2f(17.0, 29.0), seed + 7919u, softness);
|
|
85
|
+
return (coarse + roughness * fine) / sqrt(1.0 + roughness * roughness);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
fn softLight(base: f32, blend: f32) -> f32 {
|
|
89
|
+
if (blend <= 0.5) {
|
|
90
|
+
return base - (1.0 - 2.0 * blend) * base * (1.0 - base);
|
|
91
|
+
}
|
|
92
|
+
var d = sqrt(base);
|
|
93
|
+
if (base <= 0.25) {
|
|
94
|
+
d = ((16.0 * base - 12.0) * base + 4.0) * base;
|
|
95
|
+
}
|
|
96
|
+
return base + (2.0 * blend - 1.0) * (d - base);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@compute @workgroup_size(16, 16, 1)
|
|
100
|
+
fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
|
101
|
+
let dims = textureDimensions(layout.$.source);
|
|
102
|
+
if (gid.x >= dims.x || gid.y >= dims.y) { return; }
|
|
103
|
+
let coords = vec2i(gid.xy);
|
|
104
|
+
let v = layout.$.params;
|
|
105
|
+
let color = textureLoad(layout.$.source, coords, 0);
|
|
106
|
+
if (color.a <= 0.0 || v.amount <= 0.0) {
|
|
107
|
+
textureStore(layout.$.outputTexture, coords, color);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
let folded = v.seed - 8192.0 * floor(v.seed / 8192.0);
|
|
111
|
+
let seed = u32(folded);
|
|
112
|
+
// Compensate for the wider overlapping kernel to retain fine size-1 grain.
|
|
113
|
+
let p = (vec2f(gid.xy) / max(v.size, 1.0)) * 1.75;
|
|
114
|
+
let roughness = clamp(v.roughness, 0.0, 1.0);
|
|
115
|
+
let softness = clamp(v.softness, 0.0, 1.0);
|
|
116
|
+
let mono = grainAt(p, seed, roughness, softness);
|
|
117
|
+
var n = vec3f(mono);
|
|
118
|
+
if (v.colorAmount > 0.0) {
|
|
119
|
+
let perChannel = vec3f(
|
|
120
|
+
grainAt(p, seed + 131u, roughness, softness),
|
|
121
|
+
grainAt(p, seed + 262u, roughness, softness),
|
|
122
|
+
grainAt(p, seed + 393u, roughness, softness)
|
|
123
|
+
);
|
|
124
|
+
n = n + (perChannel - n) * clamp(v.colorAmount, 0.0, 1.0);
|
|
125
|
+
}
|
|
126
|
+
let straight = color.rgb / color.a;
|
|
127
|
+
let luma = dot(straight, vec3f(0.2126, 0.7152, 0.0722));
|
|
128
|
+
let response = smoothstep(0.02, 0.28, luma) * (1.0 - smoothstep(0.72, 1.0, luma));
|
|
129
|
+
let sigma = clamp(v.amount, 0.0, 1.0) * 0.2 * response;
|
|
130
|
+
let blend = clamp(vec3f(0.5) + n * sigma, vec3f(0.0), vec3f(1.0));
|
|
131
|
+
let grained = vec3f(softLight(straight.r, blend.r), softLight(straight.g, blend.g), softLight(straight.b, blend.b));
|
|
132
|
+
textureStore(layout.$.outputTexture, coords, vec4f(clamp(grained, vec3f(0.0), vec3f(1.0)) * color.a, color.a));
|
|
133
|
+
}
|
|
134
|
+
`,
|
|
135
|
+
io: {
|
|
136
|
+
inputs: { source: { colorSpace: "srgb", alpha: "premultiplied", bindingKinds: ["texture_2d"] } },
|
|
137
|
+
output: { colorSpace: "srgb", alpha: "premultiplied", format: "rgba8unorm", dimensions: "same-as:source" },
|
|
138
|
+
rod: "same-as:source"
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/shaders/filters/grain/v2/module.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,GAAG;IACb,IAAI,EAAE,CAAC,CAAC,GAAG;IACX,WAAW,EAAE,CAAC,CAAC,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,GAAG;IACX,SAAS,EAAE,CAAC,CAAC,GAAG;IAChB,QAAQ,EAAE,CAAC,CAAC,GAAG;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;IAClC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;IAC5B,aAAa,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;IAC/C,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;IACzC,EAAE,EAAE,eAAe;IACnB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC9F,OAAO,EAAE;QACP,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;QACvD,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;QACnD,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC5D,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QACvB,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;QAC7D,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;KAC5D;IACD,MAAM;IACN,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGlB;IACC,EAAE,EAAE;QACF,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE;QAChG,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE;QAC1G,GAAG,EAAE,gBAAgB;KACtB;CACF,CAAC,CAAC"}
|
package/dist/shaders/index.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ import { blurGaussianV1 } from "./filters/blur/gaussian/v1/module.js";
|
|
|
35
35
|
import { sharpenUnsharpMaskV1 } from "./filters/sharpen/unsharpMask/v1/module.js";
|
|
36
36
|
import { vignetteV1 } from "./filters/vignette/v1/module.js";
|
|
37
37
|
import { filtersGrainV1 } from "./filters/grain/v1/module.js";
|
|
38
|
+
import { filtersGrainV2 } from "./filters/grain/v2/module.js";
|
|
38
39
|
import { filtersPixelateV1 } from "./filters/pixelate/v1/module.js";
|
|
39
40
|
import { filtersVisualFxV1 } from "./filters/visualFx/v1/module.js";
|
|
40
41
|
import { filtersThresholdV1 } from "./filters/threshold/v1/module.js";
|
|
@@ -73,7 +74,7 @@ import { transformDisplaceV1 } from "./transform/displace/v1/module.js";
|
|
|
73
74
|
import { transformSpherizeV1 } from "./transform/spherize/v1/module.js";
|
|
74
75
|
import { alphaStraightToPremulV1 } from "./alpha/straightToPremul/v1/module.js";
|
|
75
76
|
import { alphaPremulToStraightV1 } from "./alpha/premulToStraight/v1/module.js";
|
|
76
|
-
export { passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 };
|
|
77
|
+
export { passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersGrainV2, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 };
|
|
77
78
|
/**
|
|
78
79
|
* Every shader-style module (fragment + compute) registered by default.
|
|
79
80
|
* Recipes live in {@link ALL_RECIPES}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shaders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shaders/index.ts"],"names":[],"mappings":"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"}
|
package/dist/shaders/index.js
CHANGED
|
@@ -33,6 +33,7 @@ import { blurGaussianV1 } from "./filters/blur/gaussian/v1/module.js";
|
|
|
33
33
|
import { sharpenUnsharpMaskV1 } from "./filters/sharpen/unsharpMask/v1/module.js";
|
|
34
34
|
import { vignetteV1 } from "./filters/vignette/v1/module.js";
|
|
35
35
|
import { filtersGrainV1 } from "./filters/grain/v1/module.js";
|
|
36
|
+
import { filtersGrainV2 } from "./filters/grain/v2/module.js";
|
|
36
37
|
import { filtersPixelateV1 } from "./filters/pixelate/v1/module.js";
|
|
37
38
|
import { filtersVisualFxV1 } from "./filters/visualFx/v1/module.js";
|
|
38
39
|
import { filtersThresholdV1 } from "./filters/threshold/v1/module.js";
|
|
@@ -71,7 +72,7 @@ import { transformDisplaceV1 } from "./transform/displace/v1/module.js";
|
|
|
71
72
|
import { transformSpherizeV1 } from "./transform/spherize/v1/module.js";
|
|
72
73
|
import { alphaStraightToPremulV1 } from "./alpha/straightToPremul/v1/module.js";
|
|
73
74
|
import { alphaPremulToStraightV1 } from "./alpha/premulToStraight/v1/module.js";
|
|
74
|
-
export { passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 };
|
|
75
|
+
export { passthroughV1, colorGradeV1, colorInvertV1, colorBrightnessContrastV1, colorHsbV1, colorExposureV1, colorPosterizeV1, colorCubeLutV1, colorChannelSplitV1, colorChannelShuffleV1, colorChannelMergeV1, colorGrayscaleV1, colorSolarizeV1, colorColorBalanceV1, colorExposureToneV1, colorLiftGammaGainV1, colorCdlV1, colorCurvesV1, colorHslAdjustV1, colorSplitToningV1, colorFilmLookV1, colorLevelsV1, blurGaussianV1, sharpenUnsharpMaskV1, vignetteV1, filtersGrainV1, filtersGrainV2, filtersPixelateV1, filtersVisualFxV1, filtersThresholdV1, filtersConvolve3x3V1, filtersGlowV1, filtersBlurSeparableV1, chromaKeyV1, keyerLumaKeyV1, maskApplyV1, maskFromImageV1, maskInvertV1, sourcesSolidV1, sourcesLinearGradientV1, sourcesCheckerboardV1, sourcesRadialGradientV1, sourcesAngularGradientV1, sourcesDiamondGradientV1, sourcesGaussianNoiseV1, mixerAddV1, mixerColorOverlayV1, mixerOutlineV1, mixerShadowComposeV1, mixerDropShadowV1, mixerOverV1, transformMirrorV1, transformOffsetV1, transformCropV1, transformPadV1, transformTileV1, transformResizeV1, transformRotate90V1, transformAffineV1, transformCornerPinV1, transformPolarRemapV1, transformDisplaceV1, transformSpherizeV1, alphaStraightToPremulV1, alphaPremulToStraightV1 };
|
|
75
76
|
/**
|
|
76
77
|
* Every shader-style module (fragment + compute) registered by default.
|
|
77
78
|
* Recipes live in {@link ALL_RECIPES}.
|
|
@@ -105,6 +106,7 @@ export const ALL_SHADERS = [
|
|
|
105
106
|
sharpenUnsharpMaskV1,
|
|
106
107
|
vignetteV1,
|
|
107
108
|
filtersGrainV1,
|
|
109
|
+
filtersGrainV2,
|
|
108
110
|
filtersPixelateV1,
|
|
109
111
|
filtersVisualFxV1,
|
|
110
112
|
filtersThresholdV1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shaders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAA4B;IAClD,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,yBAAyB;IACzB,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;IACpB,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,aAAa;IACb,UAAU;IACV,cAAc;IACd,oBAAoB;IACpB,UAAU;IACV,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,QAAQ;IACR,WAAW;IACX,cAAc;IACd,OAAO;IACP,WAAW;IACX,eAAe;IACf,YAAY;IACZ,UAAU;IACV,cAAc;IACd,uBAAuB;IACvB,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,sBAAsB;IACtB,QAAQ;IACR,UAAU;IACV,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,WAAW;IACX,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,QAAQ;IACR,uBAAuB;IACvB,uBAAuB;CACxB,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAA4B;IAClD,aAAa;IACb,sBAAsB;IACtB,iBAAiB;CAClB,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAA6C;IACnE,GAAG,WAAW;IACd,GAAG,WAAW;CACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shaders/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RGB <-> HSV conversion for WGSL templates: interpolate `WGSL_HSV` and call
|
|
3
|
+
* `rgb2hsv` / `hsv2rgb`. Hue is in 0..1, saturation and value in 0..1 for
|
|
4
|
+
* in-gamut input. Pass straight (un-premultiplied) RGB, since V is `max(r,g,b)`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const WGSL_HSV = "\nfn rgb2hsv(rgb: vec3f) -> vec3f {\n let maxC = max(max(rgb.r, rgb.g), rgb.b);\n let minC = min(min(rgb.r, rgb.g), rgb.b);\n let delta = maxC - minC;\n var h: f32 = 0.0;\n var s: f32 = 0.0;\n let v: f32 = maxC;\n if (delta > 0.00001) {\n s = delta / maxC;\n if (maxC == rgb.r) {\n h = (rgb.g - rgb.b) / delta;\n if (rgb.g < rgb.b) { h = h + 6.0; }\n } else if (maxC == rgb.g) {\n h = 2.0 + (rgb.b - rgb.r) / delta;\n } else {\n h = 4.0 + (rgb.r - rgb.g) / delta;\n }\n h = h / 6.0;\n }\n return vec3f(h, s, v);\n}\n\nfn hsv2rgb(hsv: vec3f) -> vec3f {\n let h = hsv.x * 6.0;\n let s = hsv.y;\n let v = hsv.z;\n let i = floor(h);\n let f = h - i;\n let p = v * (1.0 - s);\n let q = v * (1.0 - s * f);\n let t = v * (1.0 - s * (1.0 - f));\n let idx = i32(i) % 6;\n if (idx == 0) { return vec3f(v, t, p); }\n if (idx == 1) { return vec3f(q, v, p); }\n if (idx == 2) { return vec3f(p, v, t); }\n if (idx == 3) { return vec3f(p, q, v); }\n if (idx == 4) { return vec3f(t, p, v); }\n return vec3f(v, p, q);\n}\n";
|
|
7
|
+
//# sourceMappingURL=hsvWgsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsvWgsl.d.ts","sourceRoot":"","sources":["../../src/shared/hsvWgsl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,QAAQ,gjCAwCpB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RGB <-> HSV conversion for WGSL templates: interpolate `WGSL_HSV` and call
|
|
3
|
+
* `rgb2hsv` / `hsv2rgb`. Hue is in 0..1, saturation and value in 0..1 for
|
|
4
|
+
* in-gamut input. Pass straight (un-premultiplied) RGB, since V is `max(r,g,b)`.
|
|
5
|
+
*/
|
|
6
|
+
export const WGSL_HSV = /* wgsl */ `
|
|
7
|
+
fn rgb2hsv(rgb: vec3f) -> vec3f {
|
|
8
|
+
let maxC = max(max(rgb.r, rgb.g), rgb.b);
|
|
9
|
+
let minC = min(min(rgb.r, rgb.g), rgb.b);
|
|
10
|
+
let delta = maxC - minC;
|
|
11
|
+
var h: f32 = 0.0;
|
|
12
|
+
var s: f32 = 0.0;
|
|
13
|
+
let v: f32 = maxC;
|
|
14
|
+
if (delta > 0.00001) {
|
|
15
|
+
s = delta / maxC;
|
|
16
|
+
if (maxC == rgb.r) {
|
|
17
|
+
h = (rgb.g - rgb.b) / delta;
|
|
18
|
+
if (rgb.g < rgb.b) { h = h + 6.0; }
|
|
19
|
+
} else if (maxC == rgb.g) {
|
|
20
|
+
h = 2.0 + (rgb.b - rgb.r) / delta;
|
|
21
|
+
} else {
|
|
22
|
+
h = 4.0 + (rgb.r - rgb.g) / delta;
|
|
23
|
+
}
|
|
24
|
+
h = h / 6.0;
|
|
25
|
+
}
|
|
26
|
+
return vec3f(h, s, v);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
fn hsv2rgb(hsv: vec3f) -> vec3f {
|
|
30
|
+
let h = hsv.x * 6.0;
|
|
31
|
+
let s = hsv.y;
|
|
32
|
+
let v = hsv.z;
|
|
33
|
+
let i = floor(h);
|
|
34
|
+
let f = h - i;
|
|
35
|
+
let p = v * (1.0 - s);
|
|
36
|
+
let q = v * (1.0 - s * f);
|
|
37
|
+
let t = v * (1.0 - s * (1.0 - f));
|
|
38
|
+
let idx = i32(i) % 6;
|
|
39
|
+
if (idx == 0) { return vec3f(v, t, p); }
|
|
40
|
+
if (idx == 1) { return vec3f(q, v, p); }
|
|
41
|
+
if (idx == 2) { return vec3f(p, v, t); }
|
|
42
|
+
if (idx == 3) { return vec3f(p, q, v); }
|
|
43
|
+
if (idx == 4) { return vec3f(t, p, v); }
|
|
44
|
+
return vec3f(v, p, q);
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
//# sourceMappingURL=hsvWgsl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsvWgsl.js","sourceRoot":"","sources":["../../src/shared/hsvWgsl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwClC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodetool-ai/gpu",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.8",
|
|
4
4
|
"description": "Canonical blend-mode catalog and shared WGSL blend functions for NodeTool compositors (sketch, timeline, Compositor node)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"lint": "node ../../scripts/run-tsc.mjs --noEmit"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@nodetool-ai/protocol": "0.8.
|
|
18
|
+
"@nodetool-ai/protocol": "0.8.8",
|
|
19
19
|
"typegpu": "^0.11.6",
|
|
20
20
|
"webgpu": "^0.4.0"
|
|
21
21
|
},
|