@flighthq/effects-gl 0.3.0-next.906.07cea63 → 0.3.0
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/contract.d.ts +3 -2
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +3 -2
- package/dist/contract.js.map +1 -1
- package/dist/enableGlRenderEffectGuards.d.ts +5 -0
- package/dist/enableGlRenderEffectGuards.d.ts.map +1 -0
- package/dist/enableGlRenderEffectGuards.js +43 -0
- package/dist/enableGlRenderEffectGuards.js.map +1 -0
- package/dist/glBevelEffect.d.ts +1 -0
- package/dist/glBevelEffect.d.ts.map +1 -1
- package/dist/glBevelEffect.js +7 -3
- package/dist/glBevelEffect.js.map +1 -1
- package/dist/glBlendEffect.d.ts +2 -0
- package/dist/glBlendEffect.d.ts.map +1 -1
- package/dist/glBlendEffect.js +13 -2
- package/dist/glBlendEffect.js.map +1 -1
- package/dist/glBloomEffect.d.ts +1 -0
- package/dist/glBloomEffect.d.ts.map +1 -1
- package/dist/glBloomEffect.js +4 -0
- package/dist/glBloomEffect.js.map +1 -1
- package/dist/glBlurEffect.d.ts +7 -1
- package/dist/glBlurEffect.d.ts.map +1 -1
- package/dist/glBlurEffect.js +34 -6
- package/dist/glBlurEffect.js.map +1 -1
- package/dist/glBokehDepthOfFieldEffect.d.ts +1 -0
- package/dist/glBokehDepthOfFieldEffect.d.ts.map +1 -1
- package/dist/glBokehDepthOfFieldEffect.js +4 -0
- package/dist/glBokehDepthOfFieldEffect.js.map +1 -1
- package/dist/glCameraMotionBlurEffect.d.ts +1 -0
- package/dist/glCameraMotionBlurEffect.d.ts.map +1 -1
- package/dist/glCameraMotionBlurEffect.js +4 -0
- package/dist/glCameraMotionBlurEffect.js.map +1 -1
- package/dist/glChromaticAberrationEffect.d.ts +1 -0
- package/dist/glChromaticAberrationEffect.d.ts.map +1 -1
- package/dist/glChromaticAberrationEffect.js +4 -0
- package/dist/glChromaticAberrationEffect.js.map +1 -1
- package/dist/glCompositeEffect.d.ts +1 -0
- package/dist/glCompositeEffect.d.ts.map +1 -1
- package/dist/glCompositeEffect.js +4 -0
- package/dist/glCompositeEffect.js.map +1 -1
- package/dist/glContactShadowsEffect.d.ts +5 -0
- package/dist/glContactShadowsEffect.d.ts.map +1 -0
- package/dist/glContactShadowsEffect.js +20 -0
- package/dist/glContactShadowsEffect.js.map +1 -0
- package/dist/glConvolutionEffect.d.ts +1 -0
- package/dist/glConvolutionEffect.d.ts.map +1 -1
- package/dist/glConvolutionEffect.js +4 -0
- package/dist/glConvolutionEffect.js.map +1 -1
- package/dist/glCrtEffect.d.ts +1 -0
- package/dist/glCrtEffect.d.ts.map +1 -1
- package/dist/glCrtEffect.js +4 -0
- package/dist/glCrtEffect.js.map +1 -1
- package/dist/glCustomShaderEffect.d.ts +1 -0
- package/dist/glCustomShaderEffect.d.ts.map +1 -1
- package/dist/glCustomShaderEffect.js +4 -0
- package/dist/glCustomShaderEffect.js.map +1 -1
- package/dist/glDirectionalBlurEffect.d.ts +1 -0
- package/dist/glDirectionalBlurEffect.d.ts.map +1 -1
- package/dist/glDirectionalBlurEffect.js +4 -0
- package/dist/glDirectionalBlurEffect.js.map +1 -1
- package/dist/glDisplacementEffect.d.ts +1 -0
- package/dist/glDisplacementEffect.d.ts.map +1 -1
- package/dist/glDisplacementEffect.js +4 -0
- package/dist/glDisplacementEffect.js.map +1 -1
- package/dist/glDitherEffect.d.ts +1 -0
- package/dist/glDitherEffect.d.ts.map +1 -1
- package/dist/glDitherEffect.js +4 -0
- package/dist/glDitherEffect.js.map +1 -1
- package/dist/glDropShadowEffect.d.ts +1 -0
- package/dist/glDropShadowEffect.d.ts.map +1 -1
- package/dist/glDropShadowEffect.js +4 -0
- package/dist/glDropShadowEffect.js.map +1 -1
- package/dist/glEffectBlitShader.js +6 -6
- package/dist/glEffectBlitShader.js.map +1 -1
- package/dist/glEffectBoxBlur.js +2 -2
- package/dist/glEffectBoxBlur.js.map +1 -1
- package/dist/glEffectProgramCache.js +5 -5
- package/dist/glEffectProgramCache.js.map +1 -1
- package/dist/glEffectTintShader.js +4 -4
- package/dist/glEffectTintShader.js.map +1 -1
- package/dist/glFilmGrainEffect.d.ts +1 -0
- package/dist/glFilmGrainEffect.d.ts.map +1 -1
- package/dist/glFilmGrainEffect.js +4 -0
- package/dist/glFilmGrainEffect.js.map +1 -1
- package/dist/glFxaaEffect.d.ts +1 -0
- package/dist/glFxaaEffect.d.ts.map +1 -1
- package/dist/glFxaaEffect.js +4 -0
- package/dist/glFxaaEffect.js.map +1 -1
- package/dist/glGlitchEffect.d.ts +1 -0
- package/dist/glGlitchEffect.d.ts.map +1 -1
- package/dist/glGlitchEffect.js +4 -0
- package/dist/glGlitchEffect.js.map +1 -1
- package/dist/glGodRaysEffect.d.ts +1 -0
- package/dist/glGodRaysEffect.d.ts.map +1 -1
- package/dist/glGodRaysEffect.js +4 -0
- package/dist/glGodRaysEffect.js.map +1 -1
- package/dist/glGradientBevelEffect.d.ts +1 -0
- package/dist/glGradientBevelEffect.d.ts.map +1 -1
- package/dist/glGradientBevelEffect.js +8 -4
- package/dist/glGradientBevelEffect.js.map +1 -1
- package/dist/glGradientGlowEffect.d.ts +1 -0
- package/dist/glGradientGlowEffect.d.ts.map +1 -1
- package/dist/glGradientGlowEffect.js +6 -2
- package/dist/glGradientGlowEffect.js.map +1 -1
- package/dist/glHalftoneEffect.d.ts +1 -0
- package/dist/glHalftoneEffect.d.ts.map +1 -1
- package/dist/glHalftoneEffect.js +4 -0
- package/dist/glHalftoneEffect.js.map +1 -1
- package/dist/glInnerGlowEffect.d.ts +1 -0
- package/dist/glInnerGlowEffect.d.ts.map +1 -1
- package/dist/glInnerGlowEffect.js +6 -2
- package/dist/glInnerGlowEffect.js.map +1 -1
- package/dist/glInnerShadowEffect.d.ts +1 -0
- package/dist/glInnerShadowEffect.d.ts.map +1 -1
- package/dist/glInnerShadowEffect.js +6 -2
- package/dist/glInnerShadowEffect.js.map +1 -1
- package/dist/glKuwaharaEffect.d.ts +1 -0
- package/dist/glKuwaharaEffect.d.ts.map +1 -1
- package/dist/glKuwaharaEffect.js +4 -0
- package/dist/glKuwaharaEffect.js.map +1 -1
- package/dist/glLensDirtEffect.d.ts +1 -0
- package/dist/glLensDirtEffect.d.ts.map +1 -1
- package/dist/glLensDirtEffect.js +4 -0
- package/dist/glLensDirtEffect.js.map +1 -1
- package/dist/glLensDistortionEffect.d.ts +1 -0
- package/dist/glLensDistortionEffect.d.ts.map +1 -1
- package/dist/glLensDistortionEffect.js +4 -0
- package/dist/glLensDistortionEffect.js.map +1 -1
- package/dist/glLensFlareEffect.d.ts +1 -0
- package/dist/glLensFlareEffect.d.ts.map +1 -1
- package/dist/glLensFlareEffect.js +4 -0
- package/dist/glLensFlareEffect.js.map +1 -1
- package/dist/glMedianEffect.d.ts +1 -0
- package/dist/glMedianEffect.d.ts.map +1 -1
- package/dist/glMedianEffect.js +4 -0
- package/dist/glMedianEffect.js.map +1 -1
- package/dist/glMotionBlurEffect.d.ts +1 -0
- package/dist/glMotionBlurEffect.d.ts.map +1 -1
- package/dist/glMotionBlurEffect.js +4 -0
- package/dist/glMotionBlurEffect.js.map +1 -1
- package/dist/glOuterGlowEffect.d.ts +1 -0
- package/dist/glOuterGlowEffect.d.ts.map +1 -1
- package/dist/glOuterGlowEffect.js +4 -0
- package/dist/glOuterGlowEffect.js.map +1 -1
- package/dist/glOutlineEffect.d.ts +1 -0
- package/dist/glOutlineEffect.d.ts.map +1 -1
- package/dist/glOutlineEffect.js +4 -0
- package/dist/glOutlineEffect.js.map +1 -1
- package/dist/glPixelateEffect.d.ts +1 -0
- package/dist/glPixelateEffect.d.ts.map +1 -1
- package/dist/glPixelateEffect.js +4 -0
- package/dist/glPixelateEffect.js.map +1 -1
- package/dist/glPosterizeEffect.d.ts +1 -0
- package/dist/glPosterizeEffect.d.ts.map +1 -1
- package/dist/glPosterizeEffect.js +4 -0
- package/dist/glPosterizeEffect.js.map +1 -1
- package/dist/glRadialBlurEffect.d.ts +1 -0
- package/dist/glRadialBlurEffect.d.ts.map +1 -1
- package/dist/glRadialBlurEffect.js +4 -0
- package/dist/glRadialBlurEffect.js.map +1 -1
- package/dist/glRenderEffectPipeline.d.ts +2 -2
- package/dist/glRenderEffectPipeline.d.ts.map +1 -1
- package/dist/glRenderEffectPipeline.js +14 -7
- package/dist/glRenderEffectPipeline.js.map +1 -1
- package/dist/glRenderEffectRegistry.d.ts.map +1 -1
- package/dist/glRenderEffectRegistry.js +8 -10
- package/dist/glRenderEffectRegistry.js.map +1 -1
- package/dist/glRenderTextureEffect.d.ts +5 -0
- package/dist/glRenderTextureEffect.d.ts.map +1 -0
- package/dist/glRenderTextureEffect.js +83 -0
- package/dist/glRenderTextureEffect.js.map +1 -0
- package/dist/glScanlinesEffect.d.ts +1 -0
- package/dist/glScanlinesEffect.d.ts.map +1 -1
- package/dist/glScanlinesEffect.js +4 -0
- package/dist/glScanlinesEffect.js.map +1 -1
- package/dist/glScreenSpaceFogEffect.d.ts +1 -0
- package/dist/glScreenSpaceFogEffect.d.ts.map +1 -1
- package/dist/glScreenSpaceFogEffect.js +4 -0
- package/dist/glScreenSpaceFogEffect.js.map +1 -1
- package/dist/glSharpenEffect.d.ts +1 -0
- package/dist/glSharpenEffect.d.ts.map +1 -1
- package/dist/glSharpenEffect.js +4 -0
- package/dist/glSharpenEffect.js.map +1 -1
- package/dist/glSketchEffect.d.ts +1 -0
- package/dist/glSketchEffect.d.ts.map +1 -1
- package/dist/glSketchEffect.js +4 -0
- package/dist/glSketchEffect.js.map +1 -1
- package/dist/glSmaaEffect.d.ts +1 -0
- package/dist/glSmaaEffect.d.ts.map +1 -1
- package/dist/glSmaaEffect.js +4 -0
- package/dist/glSmaaEffect.js.map +1 -1
- package/dist/glSsaoEffect.d.ts +1 -0
- package/dist/glSsaoEffect.d.ts.map +1 -1
- package/dist/glSsaoEffect.js +4 -0
- package/dist/glSsaoEffect.js.map +1 -1
- package/dist/glTiltShiftEffect.d.ts +1 -0
- package/dist/glTiltShiftEffect.d.ts.map +1 -1
- package/dist/glTiltShiftEffect.js +4 -0
- package/dist/glTiltShiftEffect.js.map +1 -1
- package/dist/glToneMapEffect.d.ts +1 -0
- package/dist/glToneMapEffect.d.ts.map +1 -1
- package/dist/glToneMapEffect.js +4 -0
- package/dist/glToneMapEffect.js.map +1 -1
- package/dist/glVignetteEffect.d.ts +1 -0
- package/dist/glVignetteEffect.d.ts.map +1 -1
- package/dist/glVignetteEffect.js +4 -0
- package/dist/glVignetteEffect.js.map +1 -1
- package/dist/glWhiteBalanceEffect.d.ts +1 -0
- package/dist/glWhiteBalanceEffect.d.ts.map +1 -1
- package/dist/glWhiteBalanceEffect.js +4 -0
- package/dist/glWhiteBalanceEffect.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -6
- package/src/enableGlRenderEffectGuards.test.ts +156 -0
- package/src/glBevelEffect.test.ts +7 -1
- package/src/glBlendEffect.test.ts +26 -0
- package/src/glBloomEffect.test.ts +7 -1
- package/src/glBlurEffect.test.ts +69 -1
- package/src/glBokehDepthOfFieldEffect.test.ts +11 -1
- package/src/glCameraMotionBlurEffect.test.ts +11 -1
- package/src/glChromaticAberrationEffect.test.ts +7 -0
- package/src/glCompositeEffect.test.ts +7 -0
- package/src/glContactShadowsEffect.test.ts +43 -0
- package/src/glConvolutionEffect.test.ts +11 -1
- package/src/glCrtEffect.test.ts +7 -1
- package/src/glCustomShaderEffect.test.ts +7 -0
- package/src/glDirectionalBlurEffect.test.ts +11 -1
- package/src/glDisplacementEffect.test.ts +11 -1
- package/src/glDitherEffect.test.ts +7 -1
- package/src/glDropShadowEffect.test.ts +11 -9
- package/src/glEffectBoxBlur.test.ts +0 -5
- package/src/glFilmGrainEffect.test.ts +11 -1
- package/src/glFxaaEffect.test.ts +7 -1
- package/src/glGlitchEffect.test.ts +7 -1
- package/src/glGodRaysEffect.test.ts +7 -1
- package/src/glGradientBevelEffect.test.ts +11 -1
- package/src/glGradientGlowEffect.test.ts +11 -1
- package/src/glHalftoneEffect.test.ts +7 -1
- package/src/glInnerGlowEffect.test.ts +11 -9
- package/src/glInnerShadowEffect.test.ts +11 -9
- package/src/glKuwaharaEffect.test.ts +7 -1
- package/src/glLensDirtEffect.test.ts +7 -1
- package/src/glLensDistortionEffect.test.ts +11 -1
- package/src/glLensFlareEffect.test.ts +11 -1
- package/src/glMedianEffect.test.ts +7 -1
- package/src/glMotionBlurEffect.test.ts +11 -1
- package/src/glOuterGlowEffect.test.ts +11 -9
- package/src/glOutlineEffect.test.ts +7 -1
- package/src/glPixelateEffect.test.ts +7 -1
- package/src/glPosterizeEffect.test.ts +11 -1
- package/src/glRadialBlurEffect.test.ts +11 -1
- package/src/glRenderEffectPipeline.test.ts +15 -0
- package/src/glRenderEffectRegistry.test.ts +24 -14
- package/src/glRenderTextureEffect.test.ts +246 -0
- package/src/glScanlinesEffect.test.ts +11 -1
- package/src/glScreenSpaceFogEffect.test.ts +11 -1
- package/src/glSharpenEffect.test.ts +7 -1
- package/src/glSketchEffect.test.ts +7 -1
- package/src/glSmaaEffect.test.ts +7 -1
- package/src/glSpatialEffectRegistration.test.ts +64 -0
- package/src/glSsaoEffect.test.ts +7 -1
- package/src/glTiltShiftEffect.test.ts +11 -1
- package/src/glToneMapEffect.test.ts +7 -1
- package/src/glVignetteEffect.test.ts +7 -1
- package/src/glWhiteBalanceEffect.test.ts +11 -1
- package/dist/glSsrEffect.d.ts +0 -4
- package/dist/glSsrEffect.d.ts.map +0 -1
- package/dist/glSsrEffect.js +0 -24
- package/dist/glSsrEffect.js.map +0 -1
- package/dist/glTaaEffect.d.ts +0 -4
- package/dist/glTaaEffect.d.ts.map +0 -1
- package/dist/glTaaEffect.js +0 -22
- package/dist/glTaaEffect.js.map +0 -1
- package/src/glSsrEffect.test.ts +0 -13
- package/src/glTaaEffect.test.ts +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glChromaticAberrationEffect.js","sourceRoot":"","sources":["../src/glChromaticAberrationEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glChromaticAberrationEffect.js","sourceRoot":"","sources":["../src/glChromaticAberrationEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,mGAAmG;AACnG,oGAAoG;AACpG,8CAA8C;AAC9C,MAAM,UAAU,kCAAkC,CAChD,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA2C;IAE3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,EAAE,iCAAiC,CAAC,CAAC;IACzG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,wCAAwC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC5F,kCAAkC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAmC,CAAC,CAAC;AAC3G,CAAC,CAAC;AAEF,MAAM,UAAU,mCAAmC,CAAC,KAAoB;IACtE,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,EAAE,wCAAwC,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,iCAAiC,GAAG;;;;;;;;;;;;;;;;;EAiBxC,CAAC"}
|
|
@@ -2,4 +2,5 @@ import type { CompositeEffect, CompositeOperator, GlRenderEffectRunner, GlRender
|
|
|
2
2
|
export declare function applyCompositeEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<CompositeEffect>): void;
|
|
3
3
|
export declare const defaultGlCompositeEffectRunner: GlRenderEffectRunner;
|
|
4
4
|
export declare function getCompositeEffectOperatorIndex(operator: CompositeOperator): number;
|
|
5
|
+
export declare function registerGlCompositeEffect(state: GlRenderState): void;
|
|
5
6
|
//# sourceMappingURL=glCompositeEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCompositeEffect.d.ts","sourceRoot":"","sources":["../src/glCompositeEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACf,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glCompositeEffect.d.ts","sourceRoot":"","sources":["../src/glCompositeEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACf,MAAM,0BAA0B,CAAC;AAkBlC,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAChC,IAAI,CAeN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC;AAIF,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEnF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEpE"}
|
|
@@ -2,6 +2,7 @@ import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
|
|
|
2
2
|
import { CompositeOperator as CompositeOperatorValues } from '@flighthq/types/contract';
|
|
3
3
|
import { getGlBlendEffectBackdrop } from './glBlendEffect';
|
|
4
4
|
import { getGlEffectProgram, getGlEffectUniformLocation } from './glEffectProgramCache';
|
|
5
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
5
6
|
// Porter-Duff composite pass: sample the incoming layer (`u_texture0`, the effect's `source`) and a
|
|
6
7
|
// registered backdrop (`u_texture1`), combine them with the coverage factors of the effect's `operator`
|
|
7
8
|
// (`Fa*layer + Fb*backdrop` on premultiplied color), and write to `dest`. This is the GL realization of
|
|
@@ -38,6 +39,9 @@ export const defaultGlCompositeEffectRunner = (ctx, effect) => {
|
|
|
38
39
|
export function getCompositeEffectOperatorIndex(operator) {
|
|
39
40
|
return COMPOSITE_OPERATOR_INDEX[operator] ?? 0;
|
|
40
41
|
}
|
|
42
|
+
export function registerGlCompositeEffect(state) {
|
|
43
|
+
registerGlRenderEffect(state, 'CompositeEffect', defaultGlCompositeEffectRunner);
|
|
44
|
+
}
|
|
41
45
|
// CompositeOperator → shader branch index. Kept in lockstep with the if-chain in COMPOSITE_FRAGMENT_SRC
|
|
42
46
|
// and with the factor formulas in @flighthq/effects compositeOperatorMath.
|
|
43
47
|
const COMPOSITE_OPERATOR_INDEX = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCompositeEffect.js","sourceRoot":"","sources":["../src/glCompositeEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glCompositeEffect.js","sourceRoot":"","sources":["../src/glCompositeEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ContactShadowsEffect, GlRenderEffectRunner, GlRenderState, GlRenderTarget } from '@flighthq/types/contract';
|
|
2
|
+
export declare function applyContactShadowsEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<ContactShadowsEffect>): void;
|
|
3
|
+
export declare const defaultGlContactShadowsEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlContactShadowsEffect(state: GlRenderState): void;
|
|
5
|
+
//# sourceMappingURL=glContactShadowsEffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glContactShadowsEffect.d.ts","sourceRoot":"","sources":["../src/glContactShadowsEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACf,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACrC,IAAI,CAON;AAED,eAAO,MAAM,mCAAmC,EAAE,oBAEjD,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
2
|
+
import { applySsaoEffectToGl } from './glSsaoEffect';
|
|
3
|
+
// Contact shadows share the local-occlusion realization used by SSAO until the effect pipeline
|
|
4
|
+
// exposes a sampleable depth attachment. Keeping the mapping in its own leaf gives the public
|
|
5
|
+
// descriptor a real, replaceable runner without pulling an all-effects registrar into the bundle.
|
|
6
|
+
export function applyContactShadowsEffectToGl(state, source, dest, effect) {
|
|
7
|
+
applySsaoEffectToGl(state, source, dest, {
|
|
8
|
+
kind: 'SsaoEffect',
|
|
9
|
+
intensity: effect.opacity ?? 0.6,
|
|
10
|
+
radius: effect.distance ?? 0.5,
|
|
11
|
+
samples: effect.samples ?? 16,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export const defaultGlContactShadowsEffectRunner = (ctx, effect) => {
|
|
15
|
+
applyContactShadowsEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
16
|
+
};
|
|
17
|
+
export function registerGlContactShadowsEffect(state) {
|
|
18
|
+
registerGlRenderEffect(state, 'ContactShadowsEffect', defaultGlContactShadowsEffectRunner);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=glContactShadowsEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glContactShadowsEffect.js","sourceRoot":"","sources":["../src/glContactShadowsEffect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,+FAA+F;AAC/F,8FAA8F;AAC9F,kGAAkG;AAClG,MAAM,UAAU,6BAA6B,CAC3C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAsC;IAEtC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,GAAG;QAChC,MAAM,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG;QAC9B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,mCAAmC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACvF,6BAA6B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA8B,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,KAAoB;IACjE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,EAAE,mCAAmC,CAAC,CAAC;AAC7F,CAAC"}
|
|
@@ -2,4 +2,5 @@ import type { ConvolutionEffect, GlRenderEffectRunner, GlRenderState, GlRenderTa
|
|
|
2
2
|
export declare const MAX_CONVOLUTION_EFFECT_GL_KERNEL_SIZE = 49;
|
|
3
3
|
export declare function applyConvolutionEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<ConvolutionEffect>): void;
|
|
4
4
|
export declare const defaultGlConvolutionEffectRunner: GlRenderEffectRunner;
|
|
5
|
+
export declare function registerGlConvolutionEffect(state: GlRenderState): void;
|
|
5
6
|
//# sourceMappingURL=glConvolutionEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glConvolutionEffect.d.ts","sourceRoot":"","sources":["../src/glConvolutionEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glConvolutionEffect.d.ts","sourceRoot":"","sources":["../src/glConvolutionEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAOvH,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAIxD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAClC,IAAI,CAkCN;AAED,eAAO,MAAM,gCAAgC,EAAE,oBAE9C,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEtE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
|
|
2
2
|
import { getGlEffectProgram } from './glEffectProgramCache';
|
|
3
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
3
4
|
// Largest kernel the WebGL path supports (a 7×7). The cap is the fixed uniform-array size in the
|
|
4
5
|
// fragment shader; larger kernels are unsupported on this backend.
|
|
5
6
|
export const MAX_CONVOLUTION_EFFECT_GL_KERNEL_SIZE = 49;
|
|
@@ -37,6 +38,9 @@ export function applyConvolutionEffectToGl(state, source, dest, effect) {
|
|
|
37
38
|
export const defaultGlConvolutionEffectRunner = (ctx, effect) => {
|
|
38
39
|
applyConvolutionEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
39
40
|
};
|
|
41
|
+
export function registerGlConvolutionEffect(state) {
|
|
42
|
+
registerGlRenderEffect(state, 'ConvolutionEffect', defaultGlConvolutionEffectRunner);
|
|
43
|
+
}
|
|
40
44
|
// Sums the kernel weights; returns 1 when the sum is 0 (e.g. an edge-detect kernel) so the divide is safe.
|
|
41
45
|
function getAutoDivisor(matrix, length) {
|
|
42
46
|
let sum = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glConvolutionEffect.js","sourceRoot":"","sources":["../src/glConvolutionEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glConvolutionEffect.js","sourceRoot":"","sources":["../src/glConvolutionEffect.ts"],"names":[],"mappings":"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"}
|
package/dist/glCrtEffect.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CrtEffect, GlRenderEffectRunner, GlRenderState, GlRenderTarget } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyCrtEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<CrtEffect>): void;
|
|
3
3
|
export declare const defaultGlCrtEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlCrtEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glCrtEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCrtEffect.d.ts","sourceRoot":"","sources":["../src/glCrtEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glCrtEffect.d.ts","sourceRoot":"","sources":["../src/glCrtEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO/G,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC1B,IAAI,CAaN;AAED,eAAO,MAAM,wBAAwB,EAAE,oBAEtC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE9D"}
|
package/dist/glCrtEffect.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
|
|
2
2
|
import { getGlEffectProgram } from './glEffectProgramCache';
|
|
3
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
3
4
|
// CRT: barrel-distort the uv (curvature), darken alternating scanlines, vignette the edges, and split
|
|
4
5
|
// the channels outward (chromatic aberration) for a tube-monitor look.
|
|
5
6
|
export function applyCrtEffectToGl(state, source, dest, effect) {
|
|
@@ -19,6 +20,9 @@ export function applyCrtEffectToGl(state, source, dest, effect) {
|
|
|
19
20
|
export const defaultGlCrtEffectRunner = (ctx, effect) => {
|
|
20
21
|
applyCrtEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
21
22
|
};
|
|
23
|
+
export function registerGlCrtEffect(state) {
|
|
24
|
+
registerGlRenderEffect(state, 'CrtEffect', defaultGlCrtEffectRunner);
|
|
25
|
+
}
|
|
22
26
|
const CRT_FRAGMENT_SRC = `#version 300 es
|
|
23
27
|
precision highp float;
|
|
24
28
|
in vec2 v_texCoord;
|
package/dist/glCrtEffect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCrtEffect.js","sourceRoot":"","sources":["../src/glCrtEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glCrtEffect.js","sourceRoot":"","sources":["../src/glCrtEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,sGAAsG;AACtG,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAChC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC/E,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACzF,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3E,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC5E,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAmB,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCvB,CAAC"}
|
|
@@ -2,5 +2,6 @@ import type { CustomShaderEffect, GlRenderEffectRunner, GlRenderState, GlRenderT
|
|
|
2
2
|
export declare function applyCustomShaderEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<CustomShaderEffect>): void;
|
|
3
3
|
export declare const defaultGlCustomShaderEffectRunner: GlRenderEffectRunner;
|
|
4
4
|
export declare function getGlCustomShaderSource(state: GlRenderState, shaderKey: string): string | null;
|
|
5
|
+
export declare function registerGlCustomShaderEffect(state: GlRenderState): void;
|
|
5
6
|
export declare function registerGlCustomShaderSource(state: GlRenderState, shaderKey: string, fragmentSource: string): void;
|
|
6
7
|
//# sourceMappingURL=glCustomShaderEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCustomShaderEffect.d.ts","sourceRoot":"","sources":["../src/glCustomShaderEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glCustomShaderEffect.d.ts","sourceRoot":"","sources":["../src/glCustomShaderEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAWxH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACnC,IAAI,CA0CN;AAED,eAAO,MAAM,iCAAiC,EAAE,oBAE/C,CAAC;AAKF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE9F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEvE;AASD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAOlH"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
|
|
2
2
|
import { getGlEffectProgram, getGlEffectUniformLocation } from './glEffectProgramCache';
|
|
3
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
3
4
|
// Runs a user-authored fragment shader as a fullscreen post-process pass. The descriptor carries a
|
|
4
5
|
// `shaderKey` — a reference into the per-state custom-shader registry populated by
|
|
5
6
|
// registerGlCustomShaderSource — plus a flat `uniforms` bag. The referenced fragment source reads the
|
|
@@ -59,6 +60,9 @@ export const defaultGlCustomShaderEffectRunner = (ctx, effect) => {
|
|
|
59
60
|
export function getGlCustomShaderSource(state, shaderKey) {
|
|
60
61
|
return _customShaders.get(state)?.get(shaderKey) ?? null;
|
|
61
62
|
}
|
|
63
|
+
export function registerGlCustomShaderEffect(state) {
|
|
64
|
+
registerGlRenderEffect(state, 'CustomShaderEffect', defaultGlCustomShaderEffectRunner);
|
|
65
|
+
}
|
|
62
66
|
// Registers a fragment shader source under `shaderKey` for this state, so a CustomShaderEffect naming
|
|
63
67
|
// that key runs it. The source is a complete WebGL2 fragment shader: it declares `uniform sampler2D
|
|
64
68
|
// u_texture0;` for the input, reads texcoords from `in vec2 v_texCoord;`, writes `out vec4 o_color;`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCustomShaderEffect.js","sourceRoot":"","sources":["../src/glCustomShaderEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glCustomShaderEffect.js","sourceRoot":"","sources":["../src/glCustomShaderEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DirectionalBlurEffect, GlRenderEffectRunner, GlRenderState, GlRenderTarget } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyDirectionalBlurEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<DirectionalBlurEffect>): void;
|
|
3
3
|
export declare const defaultGlDirectionalBlurEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlDirectionalBlurEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glDirectionalBlurEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDirectionalBlurEffect.d.ts","sourceRoot":"","sources":["../src/glDirectionalBlurEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACf,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glDirectionalBlurEffect.d.ts","sourceRoot":"","sources":["../src/glDirectionalBlurEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACf,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACtC,IAAI,CAWN;AAED,eAAO,MAAM,oCAAoC,EAAE,oBAElD,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE1E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
|
|
2
2
|
import { getGlEffectProgram } from './glEffectProgramCache';
|
|
3
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
3
4
|
// Directional blur: accumulate samples stepped along `angle` over `length` texels, normalized by the
|
|
4
5
|
// sample count. Single-pass reference recipe. u_resolution converts the texel length into UV space.
|
|
5
6
|
export function applyDirectionalBlurEffectToGl(state, source, dest, effect) {
|
|
@@ -17,6 +18,9 @@ export function applyDirectionalBlurEffectToGl(state, source, dest, effect) {
|
|
|
17
18
|
export const defaultGlDirectionalBlurEffectRunner = (ctx, effect) => {
|
|
18
19
|
applyDirectionalBlurEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
19
20
|
};
|
|
21
|
+
export function registerGlDirectionalBlurEffect(state) {
|
|
22
|
+
registerGlRenderEffect(state, 'DirectionalBlurEffect', defaultGlDirectionalBlurEffectRunner);
|
|
23
|
+
}
|
|
20
24
|
const DIRECTIONAL_BLUR_FRAGMENT_SRC = `#version 300 es
|
|
21
25
|
precision highp float;
|
|
22
26
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDirectionalBlurEffect.js","sourceRoot":"","sources":["../src/glDirectionalBlurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glDirectionalBlurEffect.js","sourceRoot":"","sources":["../src/glDirectionalBlurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qGAAqG;AACrG,oGAAoG;AACpG,MAAM,UAAU,8BAA8B,CAC5C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAuC;IAEvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;IAC5F,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACxF,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA+B,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAAC,KAAoB;IAClE,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,EAAE,oCAAoC,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuBpC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DisplacementEffect, GlRenderEffectRunner, GlRenderState, GlRenderTarget } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyDisplacementEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<DisplacementEffect>): void;
|
|
3
3
|
export declare const defaultGlDisplacementEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlDisplacementEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glDisplacementEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDisplacementEffect.d.ts","sourceRoot":"","sources":["../src/glDisplacementEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glDisplacementEffect.d.ts","sourceRoot":"","sources":["../src/glDisplacementEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAMxH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACnC,IAAI,CAWN;AAED,eAAO,MAAM,iCAAiC,EAAE,oBAE/C,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEvE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
|
|
2
2
|
import { getGlEffectProgram } from './glEffectProgramCache';
|
|
3
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
3
4
|
// Displacement / heat-haze: warp the sample uv by an animated sine field for a refractive wobble.
|
|
4
5
|
export function applyDisplacementEffectToGl(state, source, dest, effect) {
|
|
5
6
|
const intensity = effect.intensity ?? 8;
|
|
@@ -16,6 +17,9 @@ export function applyDisplacementEffectToGl(state, source, dest, effect) {
|
|
|
16
17
|
export const defaultGlDisplacementEffectRunner = (ctx, effect) => {
|
|
17
18
|
applyDisplacementEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
18
19
|
};
|
|
20
|
+
export function registerGlDisplacementEffect(state) {
|
|
21
|
+
registerGlRenderEffect(state, 'DisplacementEffect', defaultGlDisplacementEffectRunner);
|
|
22
|
+
}
|
|
19
23
|
const DISPLACEMENT_FRAGMENT_SRC = `#version 300 es
|
|
20
24
|
precision highp float;
|
|
21
25
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDisplacementEffect.js","sourceRoot":"","sources":["../src/glDisplacementEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glDisplacementEffect.js","sourceRoot":"","sources":["../src/glDisplacementEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,kGAAkG;AAClG,MAAM,UAAU,2BAA2B,CACzC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAoC;IAEpC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;IAC1F,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACrF,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA4B,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,KAAoB;IAC/D,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,iCAAiC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;EAiBhC,CAAC"}
|
package/dist/glDitherEffect.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DitherEffect, GlRenderEffectRunner, GlRenderState, GlRenderTarget } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyDitherEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<DitherEffect>): void;
|
|
3
3
|
export declare const defaultGlDitherEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlDitherEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glDitherEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDitherEffect.d.ts","sourceRoot":"","sources":["../src/glDitherEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glDitherEffect.d.ts","sourceRoot":"","sources":["../src/glDitherEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAOlH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CAON;AAED,eAAO,MAAM,2BAA2B,EAAE,oBAEzC,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEjE"}
|
package/dist/glDitherEffect.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
|
|
2
2
|
import { getGlEffectProgram } from './glEffectProgramCache';
|
|
3
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
3
4
|
// Dither: quantize each channel to `levels` steps with a 4x4 ordered Bayer threshold for a retro
|
|
4
5
|
// banded-but-textured look.
|
|
5
6
|
export function applyDitherEffectToGl(state, source, dest, effect) {
|
|
@@ -13,6 +14,9 @@ export function applyDitherEffectToGl(state, source, dest, effect) {
|
|
|
13
14
|
export const defaultGlDitherEffectRunner = (ctx, effect) => {
|
|
14
15
|
applyDitherEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
15
16
|
};
|
|
17
|
+
export function registerGlDitherEffect(state) {
|
|
18
|
+
registerGlRenderEffect(state, 'DitherEffect', defaultGlDitherEffectRunner);
|
|
19
|
+
}
|
|
16
20
|
const DITHER_FRAGMENT_SRC = `#version 300 es
|
|
17
21
|
precision highp float;
|
|
18
22
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDitherEffect.js","sourceRoot":"","sources":["../src/glDitherEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glDitherEffect.js","sourceRoot":"","sources":["../src/glDitherEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,iGAAiG;AACjG,4BAA4B;AAC5B,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IACrF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAChF,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC/E,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAsB,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,KAAoB;IACzD,sBAAsB,CAAC,KAAK,EAAE,cAAc,EAAE,2BAA2B,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;EAoB1B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DropShadowEffect, GlRenderEffectRunner, GlRenderState, GlRenderTarget, GlRenderTargetPool } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyDropShadowEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, pool: GlRenderTargetPool, effect: Readonly<DropShadowEffect>): void;
|
|
3
3
|
export declare const defaultGlDropShadowEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlDropShadowEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glDropShadowEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDropShadowEffect.d.ts","sourceRoot":"","sources":["../src/glDropShadowEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glDropShadowEffect.d.ts","sourceRoot":"","sources":["../src/glDropShadowEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAalC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GACjC,IAAI,CA6CN;AAED,eAAO,MAAM,+BAA+B,EAAE,oBAE7C,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAErE"}
|
|
@@ -2,6 +2,7 @@ import { acquireGlRenderTarget, clearGlRenderTarget, releaseGlRenderTarget } fro
|
|
|
2
2
|
import { applyGlEffectBlitOffsetPass, applyGlEffectBlitPass, applyGlEffectErasePass } from './glEffectBlitShader';
|
|
3
3
|
import { applyGlEffectBoxBlur } from './glEffectBoxBlur';
|
|
4
4
|
import { applyGlEffectTintPass } from './glEffectTintShader';
|
|
5
|
+
import { registerGlRenderEffect } from './glRenderEffectRegistry';
|
|
5
6
|
// Drop-shadow composite effect: tint the scene silhouette, blur it, offset it by angle/distance, then composite the source over the shadow.
|
|
6
7
|
// Full-frame realization: acquires the recipe's three scratch targets from the effect pool, runs the
|
|
7
8
|
// inlined multi-pass recipe, then releases them.
|
|
@@ -50,4 +51,7 @@ export function applyDropShadowEffectToGl(state, source, dest, pool, effect) {
|
|
|
50
51
|
export const defaultGlDropShadowEffectRunner = (ctx, effect) => {
|
|
51
52
|
applyDropShadowEffectToGl(ctx.state, ctx.source, ctx.dest, ctx.pool, effect);
|
|
52
53
|
};
|
|
54
|
+
export function registerGlDropShadowEffect(state) {
|
|
55
|
+
registerGlRenderEffect(state, 'DropShadowEffect', defaultGlDropShadowEffectRunner);
|
|
56
|
+
}
|
|
53
57
|
//# sourceMappingURL=glDropShadowEffect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDropShadowEffect.js","sourceRoot":"","sources":["../src/glDropShadowEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AASjH,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"glDropShadowEffect.js","sourceRoot":"","sources":["../src/glDropShadowEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,30 +59,30 @@ export function applyGlEffectErasePass(state, source, dest) {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
function getGlBlitOffsetShader(state) {
|
|
62
|
-
let loc = blitOffsetShaders.get(state);
|
|
62
|
+
let loc = blitOffsetShaders.get(state.gl);
|
|
63
63
|
if (loc === undefined) {
|
|
64
64
|
const gl = state.gl;
|
|
65
65
|
const base = compileGlFullscreenProgram(gl, BLIT_OFFSET_FRAGMENT_SRC);
|
|
66
66
|
loc = { ...base, locOffset: gl.getUniformLocation(base.program, 'u_offset') };
|
|
67
|
-
blitOffsetShaders.set(state, loc);
|
|
67
|
+
blitOffsetShaders.set(state.gl, loc);
|
|
68
68
|
}
|
|
69
69
|
return loc;
|
|
70
70
|
}
|
|
71
71
|
function getGlBlitShader(state) {
|
|
72
|
-
let loc = blitShaders.get(state);
|
|
72
|
+
let loc = blitShaders.get(state.gl);
|
|
73
73
|
if (loc === undefined) {
|
|
74
74
|
const gl = state.gl;
|
|
75
75
|
loc = compileGlFullscreenProgram(gl, BLIT_FRAGMENT_SRC);
|
|
76
|
-
blitShaders.set(state, loc);
|
|
76
|
+
blitShaders.set(state.gl, loc);
|
|
77
77
|
}
|
|
78
78
|
return loc;
|
|
79
79
|
}
|
|
80
80
|
function getGlEraseShader(state) {
|
|
81
|
-
let loc = eraseShaders.get(state);
|
|
81
|
+
let loc = eraseShaders.get(state.gl);
|
|
82
82
|
if (loc === undefined) {
|
|
83
83
|
const gl = state.gl;
|
|
84
84
|
loc = compileGlFullscreenProgram(gl, ERASE_FRAGMENT_SRC);
|
|
85
|
-
eraseShaders.set(state, loc);
|
|
85
|
+
eraseShaders.set(state.gl, loc);
|
|
86
86
|
}
|
|
87
87
|
return loc;
|
|
88
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glEffectBlitShader.js","sourceRoot":"","sources":["../src/glEffectBlitShader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIhG,2FAA2F;AAC3F,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;EAa/B,CAAC;AAEH,qBAAqB;AACrB,MAAM,iBAAiB,GAAG;;;;;;;EAOxB,CAAC;AAEH,mGAAmG;AACnG,MAAM,kBAAkB,GAAG;;;;;;;;EAQzB,CAAC;AAMH,MAAM,iBAAiB,GAAG,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"glEffectBlitShader.js","sourceRoot":"","sources":["../src/glEffectBlitShader.ts"],"names":[],"mappings":"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"}
|
package/dist/glEffectBoxBlur.js
CHANGED
|
@@ -93,7 +93,7 @@ function applyBoxBlurPass(state, source, dest, loc, radius, dirX, dirY, edgeColo
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
function getBoxBlurShader(state) {
|
|
96
|
-
let loc = boxBlurShaders.get(state);
|
|
96
|
+
let loc = boxBlurShaders.get(state.gl);
|
|
97
97
|
if (loc === undefined) {
|
|
98
98
|
const gl = state.gl;
|
|
99
99
|
const base = compileGlFullscreenProgram(gl, BOX_BLUR_FRAGMENT_SRC);
|
|
@@ -105,7 +105,7 @@ function getBoxBlurShader(state) {
|
|
|
105
105
|
locEdgeColor: gl.getUniformLocation(base.program, 'u_edgeColor'),
|
|
106
106
|
locUseEdgeColor: gl.getUniformLocation(base.program, 'u_useEdgeColor'),
|
|
107
107
|
};
|
|
108
|
-
boxBlurShaders.set(state, loc);
|
|
108
|
+
boxBlurShaders.set(state.gl, loc);
|
|
109
109
|
}
|
|
110
110
|
return loc;
|
|
111
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glEffectBoxBlur.js","sourceRoot":"","sources":["../src/glEffectBoxBlur.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIhG,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4B5B,CAAC;AAYH,MAAM,cAAc,GAAG,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"glEffectBoxBlur.js","sourceRoot":"","sources":["../src/glEffectBoxBlur.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { compileGlFullscreenProgram } from '@flighthq/render-gl/contract';
|
|
2
|
-
// Per-
|
|
3
|
-
// getGlEffectProgram with their own key + fragment source so each program compiles once per
|
|
2
|
+
// Per-context cache of compiled effect fragment programs, keyed by a stable string. Effect recipes call
|
|
3
|
+
// getGlEffectProgram with their own key + fragment source so each program compiles once per context
|
|
4
4
|
// and is reused every frame. Keeps compiled programs off the render-state runtime type.
|
|
5
5
|
export function getGlEffectProgram(state, key, fragmentSource) {
|
|
6
|
-
let cache = _programs.get(state);
|
|
6
|
+
let cache = _programs.get(state.gl);
|
|
7
7
|
if (cache === undefined) {
|
|
8
8
|
cache = new Map();
|
|
9
|
-
_programs.set(state, cache);
|
|
9
|
+
_programs.set(state.gl, cache);
|
|
10
10
|
}
|
|
11
11
|
const existing = cache.get(key);
|
|
12
12
|
if (existing !== undefined)
|
|
@@ -37,6 +37,6 @@ export function getGlEffectUniformLocation(state, program, name) {
|
|
|
37
37
|
const _programs = new WeakMap();
|
|
38
38
|
// Keyed by program object (not state) so the cache survives state-key rotation and is naturally
|
|
39
39
|
// freed when the program itself is garbage-collected (all GlFullscreenPrograms are stored in
|
|
40
|
-
// _programs above, which is already WeakMap-keyed by
|
|
40
|
+
// _programs above, which is already WeakMap-keyed by context).
|
|
41
41
|
const _uniformLocations = new WeakMap();
|
|
42
42
|
//# sourceMappingURL=glEffectProgramCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glEffectProgramCache.js","sourceRoot":"","sources":["../src/glEffectProgramCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,
|
|
1
|
+
{"version":3,"file":"glEffectProgramCache.js","sourceRoot":"","sources":["../src/glEffectProgramCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,wGAAwG;AACxG,oGAAoG;AACpG,wFAAwF;AAExF,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,GAAW,EAAE,cAAsB;IAC1F,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACtE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iGAAiG;AACjG,2FAA2F;AAC3F,qGAAqG;AACrG,iGAAiG;AACjG,kGAAkG;AAClG,sDAAsD;AACtD,MAAM,UAAU,0BAA0B,CACxC,KAAoB,EACpB,OAAsC,EACtC,IAAY;IAEZ,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/D,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,OAAO,EAA4D,CAAC;AAE1F,gGAAgG;AAChG,6FAA6F;AAC7F,+DAA+D;AAC/D,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA2E,CAAC"}
|
|
@@ -50,7 +50,7 @@ export function applyGlEffectTintPass(state, source, dest, color, alpha, strengt
|
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
function getGlInvertTintShader(state) {
|
|
53
|
-
let loc = invertTintShaders.get(state);
|
|
53
|
+
let loc = invertTintShaders.get(state.gl);
|
|
54
54
|
if (loc === undefined) {
|
|
55
55
|
const gl = state.gl;
|
|
56
56
|
const base = compileGlFullscreenProgram(gl, INVERT_TINT_FRAGMENT_SRC);
|
|
@@ -60,12 +60,12 @@ function getGlInvertTintShader(state) {
|
|
|
60
60
|
locAlpha: gl.getUniformLocation(base.program, 'u_alpha'),
|
|
61
61
|
locStrength: gl.getUniformLocation(base.program, 'u_strength'),
|
|
62
62
|
};
|
|
63
|
-
invertTintShaders.set(state, loc);
|
|
63
|
+
invertTintShaders.set(state.gl, loc);
|
|
64
64
|
}
|
|
65
65
|
return loc;
|
|
66
66
|
}
|
|
67
67
|
function getGlTintShader(state) {
|
|
68
|
-
let loc = tintShaders.get(state);
|
|
68
|
+
let loc = tintShaders.get(state.gl);
|
|
69
69
|
if (loc === undefined) {
|
|
70
70
|
const gl = state.gl;
|
|
71
71
|
const base = compileGlFullscreenProgram(gl, TINT_FRAGMENT_SRC);
|
|
@@ -75,7 +75,7 @@ function getGlTintShader(state) {
|
|
|
75
75
|
locAlpha: gl.getUniformLocation(base.program, 'u_alpha'),
|
|
76
76
|
locStrength: gl.getUniformLocation(base.program, 'u_strength'),
|
|
77
77
|
};
|
|
78
|
-
tintShaders.set(state, loc);
|
|
78
|
+
tintShaders.set(state.gl, loc);
|
|
79
79
|
}
|
|
80
80
|
return loc;
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glEffectTintShader.js","sourceRoot":"","sources":["../src/glEffectTintShader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIhG,wEAAwE;AACxE,8BAA8B;AAC9B,MAAM,iBAAiB,GAAG;;;;;;;;;;;EAWxB,CAAC;AAEH,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,wBAAwB,GAAG;;;;;;;;;;;EAW/B,CAAC;AAQH,MAAM,WAAW,GAAG,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"glEffectTintShader.js","sourceRoot":"","sources":["../src/glEffectTintShader.ts"],"names":[],"mappings":"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"}
|