@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
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { explainGlRenderTexture, getGlRenderTextureTarget, withGlRenderState, writeGlRenderTextureTarget, } from '@flighthq/render-gl/contract';
|
|
2
|
+
import { getGlRenderEffectRunner } from './glRenderEffectRegistry';
|
|
3
|
+
// Applies the registered members of a chain from one RenderTexture to another. Each effect composites
|
|
4
|
+
// into its destination and this function never clears `dest` or `scratch`; callers reusing either
|
|
5
|
+
// texture across frames must clear it first with `clearGlRenderTexture` for frame-stable replacement.
|
|
6
|
+
export function applyGlRenderEffectsToRenderTexture(state, pool, source, dest, scratch, effects) {
|
|
7
|
+
if (source === dest || source === scratch || dest === scratch) {
|
|
8
|
+
throw new Error('applyGlRenderEffectsToRenderTexture: source, destination, and scratch must be distinct');
|
|
9
|
+
}
|
|
10
|
+
const sourceTarget = getGlRenderTextureTarget(state, source);
|
|
11
|
+
const operations = effects.flatMap((effect) => {
|
|
12
|
+
const runner = getGlRenderEffectRunner(state, effect.kind);
|
|
13
|
+
return runner === null ? [] : [{ effect, runner }];
|
|
14
|
+
});
|
|
15
|
+
// Report BEFORE returning: both sentinel exits below leave `dest` unchanged, so a caller that then
|
|
16
|
+
// samples it sees either no published texture or plausible pixels from an older application.
|
|
17
|
+
reportGlRenderEffectApplication(state, explainGlRenderEffectApplication(state, effects, sourceTarget !== null, explainGlRenderTexture(state, dest).status === 'ready'));
|
|
18
|
+
if (sourceTarget === null)
|
|
19
|
+
return false;
|
|
20
|
+
if (operations.length === 0)
|
|
21
|
+
return false;
|
|
22
|
+
withGlRenderState(state, () => {
|
|
23
|
+
let current = sourceTarget;
|
|
24
|
+
for (let index = 0; index < operations.length; index++) {
|
|
25
|
+
const operation = operations[index];
|
|
26
|
+
const remaining = operations.length - index;
|
|
27
|
+
const output = remaining % 2 === 1 ? dest : scratch;
|
|
28
|
+
writeGlRenderTextureTarget(state, output, (target) => {
|
|
29
|
+
operation.runner({
|
|
30
|
+
state,
|
|
31
|
+
source: current,
|
|
32
|
+
dest: target,
|
|
33
|
+
pool: pool.effectTargets,
|
|
34
|
+
sceneDepthTexture: null,
|
|
35
|
+
sceneVelocityTexture: null,
|
|
36
|
+
}, operation.effect);
|
|
37
|
+
});
|
|
38
|
+
current = getGlRenderTextureTarget(state, output);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
// Why an apply call would (or would not) write its destination, without performing it. Pure query over
|
|
44
|
+
// the same registry the apply path consults, so a caller can ask ahead of time or explain after the
|
|
45
|
+
// fact. `sourceAvailable` reports whether the source RenderTexture has a realized GL target;
|
|
46
|
+
// `destinationAvailable` reports whether a failed call would leave previously published pixels behind.
|
|
47
|
+
export function explainGlRenderEffectApplication(state, effects, sourceAvailable, destinationAvailable = false) {
|
|
48
|
+
const unregisteredKinds = effects
|
|
49
|
+
.filter((effect) => getGlRenderEffectRunner(state, effect.kind) === null)
|
|
50
|
+
.map((effect) => effect.kind);
|
|
51
|
+
const requestedCount = effects.length;
|
|
52
|
+
const registeredCount = requestedCount - unregisteredKinds.length;
|
|
53
|
+
return { registeredCount, requestedCount, status: getStatus(), unregisteredKinds };
|
|
54
|
+
function getStatus() {
|
|
55
|
+
// An empty chain is a no-op the caller asked for, NOT a miss — reporting it would train readers to
|
|
56
|
+
// ignore the crumb. A ready destination is the highest-cost failed-call outcome because consumers
|
|
57
|
+
// keep sampling plausible pixels from an older application instead of an empty texture.
|
|
58
|
+
if (requestedCount === 0)
|
|
59
|
+
return 'no-effects';
|
|
60
|
+
if (destinationAvailable && (!sourceAvailable || registeredCount === 0))
|
|
61
|
+
return 'stale-destination';
|
|
62
|
+
if (!sourceAvailable)
|
|
63
|
+
return 'source-unavailable';
|
|
64
|
+
if (registeredCount === 0)
|
|
65
|
+
return 'unregistered-effects';
|
|
66
|
+
return unregisteredKinds.length > 0 ? 'partial-registration' : 'complete';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// The diagnostics seam. Core stays message-free; enableGlRenderEffectGuards installs the reporter that
|
|
70
|
+
// turns these observations into caller-facing warnings.
|
|
71
|
+
export function setGlRenderEffectApplicationGuard(state, guard) {
|
|
72
|
+
if (guard === null)
|
|
73
|
+
_guards.delete(state);
|
|
74
|
+
else
|
|
75
|
+
_guards.set(state, guard);
|
|
76
|
+
}
|
|
77
|
+
function reportGlRenderEffectApplication(state, explanation) {
|
|
78
|
+
if (explanation.status === 'complete' || explanation.status === 'no-effects')
|
|
79
|
+
return;
|
|
80
|
+
_guards.get(state)?.(state, explanation);
|
|
81
|
+
}
|
|
82
|
+
const _guards = new WeakMap();
|
|
83
|
+
//# sourceMappingURL=glRenderTextureEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glRenderTextureEffect.js","sourceRoot":"","sources":["../src/glRenderTextureEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, ScanlinesEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyScanlinesEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<ScanlinesEffect>): void;
|
|
3
3
|
export declare const defaultGlScanlinesEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlScanlinesEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glScanlinesEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glScanlinesEffect.d.ts","sourceRoot":"","sources":["../src/glScanlinesEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glScanlinesEffect.d.ts","sourceRoot":"","sources":["../src/glScanlinesEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMrH,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,CAQN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEpE"}
|
|
@@ -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
|
// Scanlines: darken by a vertical sine band; `count` sets the line density, `intensity` the darkening.
|
|
4
5
|
export function applyScanlinesEffectToGl(state, source, dest, effect) {
|
|
5
6
|
const count = effect.count ?? 240;
|
|
@@ -13,6 +14,9 @@ export function applyScanlinesEffectToGl(state, source, dest, effect) {
|
|
|
13
14
|
export const defaultGlScanlinesEffectRunner = (ctx, effect) => {
|
|
14
15
|
applyScanlinesEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
15
16
|
};
|
|
17
|
+
export function registerGlScanlinesEffect(state) {
|
|
18
|
+
registerGlRenderEffect(state, 'ScanlinesEffect', defaultGlScanlinesEffectRunner);
|
|
19
|
+
}
|
|
16
20
|
const SCANLINES_FRAGMENT_SRC = `#version 300 es
|
|
17
21
|
precision highp float;
|
|
18
22
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glScanlinesEffect.js","sourceRoot":"","sources":["../src/glScanlinesEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glScanlinesEffect.js","sourceRoot":"","sources":["../src/glScanlinesEffect.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,uGAAuG;AACvG,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAiC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IAC3F,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,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAClF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAAoB;IAC5D,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,sBAAsB,GAAG;;;;;;;;;;;EAW7B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, ScreenSpaceFogEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyScreenSpaceFogEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, depthTexture: WebGLTexture | null, effect: Readonly<ScreenSpaceFogEffect>): void;
|
|
3
3
|
export declare const defaultGlScreenSpaceFogEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlScreenSpaceFogEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glScreenSpaceFogEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glScreenSpaceFogEffect.d.ts","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glScreenSpaceFogEffect.d.ts","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAWlC,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACrC,IAAI,CAiBN;AAED,eAAO,MAAM,mCAAmC,EAAE,oBAEjD,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE"}
|
|
@@ -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
|
// Screen-space fog: blends the scene toward an unpacked fog color by distance. When the scene supplied a
|
|
4
5
|
// sampleable DEPTH texture (`depthTexture`), this is the real recipe — fog factor = 1 - exp(-density *
|
|
5
6
|
// depth) over the [near, far] window, read per fragment. When depth is absent (a flat 2D scene that did
|
|
@@ -27,6 +28,9 @@ export function applyScreenSpaceFogEffectToGl(state, source, dest, depthTexture,
|
|
|
27
28
|
export const defaultGlScreenSpaceFogEffectRunner = (ctx, effect) => {
|
|
28
29
|
applyScreenSpaceFogEffectToGl(ctx.state, ctx.source, ctx.dest, ctx.sceneDepthTexture, effect);
|
|
29
30
|
};
|
|
31
|
+
export function registerGlScreenSpaceFogEffect(state) {
|
|
32
|
+
registerGlRenderEffect(state, 'ScreenSpaceFogEffect', defaultGlScreenSpaceFogEffectRunner);
|
|
33
|
+
}
|
|
30
34
|
const SCREEN_SPACE_FOG_FRAGMENT_SRC = `#version 300 es
|
|
31
35
|
precision highp float;
|
|
32
36
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glScreenSpaceFogEffect.js","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glScreenSpaceFogEffect.js","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.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,yGAAyG;AACzG,uGAAuG;AACvG,wGAAwG;AACxG,sGAAsG;AACtG,8FAA8F;AAC9F,sFAAsF;AACtF,MAAM,UAAU,6BAA6B,CAC3C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,YAAiC,EACjC,MAAsC;IAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,4BAA4B,EAAE,6BAA6B,CAAC,CAAC;IACvG,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,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,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,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,GAAG,CAAC,iBAAiB,EAAE,MAA8B,CAAC,CAAC;AACxH,CAAC,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,KAAoB;IACjE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,EAAE,mCAAmC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwBpC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SharpenEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applySharpenEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SharpenEffect>): void;
|
|
3
3
|
export declare const defaultGlSharpenEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlSharpenEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glSharpenEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSharpenEffect.d.ts","sourceRoot":"","sources":["../src/glSharpenEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glSharpenEffect.d.ts","sourceRoot":"","sources":["../src/glSharpenEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMnH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CAON;AAED,eAAO,MAAM,4BAA4B,EAAE,oBAE1C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAElE"}
|
package/dist/glSharpenEffect.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
|
// Sharpen: unsharp mask via a 3x3 Laplacian kernel; `amount` scales the high-frequency boost.
|
|
4
5
|
export function applySharpenEffectToGl(state, source, dest, effect) {
|
|
5
6
|
const amount = effect.amount ?? 0.5;
|
|
@@ -12,6 +13,9 @@ export function applySharpenEffectToGl(state, source, dest, effect) {
|
|
|
12
13
|
export const defaultGlSharpenEffectRunner = (ctx, effect) => {
|
|
13
14
|
applySharpenEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
14
15
|
};
|
|
16
|
+
export function registerGlSharpenEffect(state) {
|
|
17
|
+
registerGlRenderEffect(state, 'SharpenEffect', defaultGlSharpenEffectRunner);
|
|
18
|
+
}
|
|
15
19
|
const SHARPEN_FRAGMENT_SRC = `#version 300 es
|
|
16
20
|
precision highp float;
|
|
17
21
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSharpenEffect.js","sourceRoot":"","sources":["../src/glSharpenEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glSharpenEffect.js","sourceRoot":"","sources":["../src/glSharpenEffect.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,8FAA8F;AAC9F,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IACvF,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,MAAM,CAAC,CAAC;QACnE,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,4BAA4B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;EAiB3B,CAAC"}
|
package/dist/glSketchEffect.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SketchEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applySketchEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SketchEffect>): void;
|
|
3
3
|
export declare const defaultGlSketchEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlSketchEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glSketchEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSketchEffect.d.ts","sourceRoot":"","sources":["../src/glSketchEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glSketchEffect.d.ts","sourceRoot":"","sources":["../src/glSketchEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,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/glSketchEffect.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
|
// Sketch: detect luminance edges and invert them into dark pencil strokes over a light page; `strength`
|
|
4
5
|
// scales how dark the strokes get.
|
|
5
6
|
export function applySketchEffectToGl(state, source, dest, effect) {
|
|
@@ -13,6 +14,9 @@ export function applySketchEffectToGl(state, source, dest, effect) {
|
|
|
13
14
|
export const defaultGlSketchEffectRunner = (ctx, effect) => {
|
|
14
15
|
applySketchEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
15
16
|
};
|
|
17
|
+
export function registerGlSketchEffect(state) {
|
|
18
|
+
registerGlRenderEffect(state, 'SketchEffect', defaultGlSketchEffectRunner);
|
|
19
|
+
}
|
|
16
20
|
const SKETCH_FRAGMENT_SRC = `#version 300 es
|
|
17
21
|
precision highp float;
|
|
18
22
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSketchEffect.js","sourceRoot":"","sources":["../src/glSketchEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glSketchEffect.js","sourceRoot":"","sources":["../src/glSketchEffect.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,wGAAwG;AACxG,mCAAmC;AACnC,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,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,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,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;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B1B,CAAC"}
|
package/dist/glSmaaEffect.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SmaaEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applySmaaEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SmaaEffect>): void;
|
|
3
3
|
export declare const defaultGlSmaaEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlSmaaEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glSmaaEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSmaaEffect.d.ts","sourceRoot":"","sources":["../src/glSmaaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glSmaaEffect.d.ts","sourceRoot":"","sources":["../src/glSmaaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAQhH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CAON;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAEvC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE/D"}
|
package/dist/glSmaaEffect.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
|
// SMAA: a single-pass edge-aware blur approximation. Full SMAA needs separate edge-detection and
|
|
4
5
|
// blend-weight passes against precomputed area/search lookup textures; this single-pass approximation
|
|
5
6
|
// softens detected edges only and is acceptable until the multi-pass recipe lands.
|
|
@@ -14,6 +15,9 @@ export function applySmaaEffectToGl(state, source, dest, effect) {
|
|
|
14
15
|
export const defaultGlSmaaEffectRunner = (ctx, effect) => {
|
|
15
16
|
applySmaaEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
16
17
|
};
|
|
18
|
+
export function registerGlSmaaEffect(state) {
|
|
19
|
+
registerGlRenderEffect(state, 'SmaaEffect', defaultGlSmaaEffectRunner);
|
|
20
|
+
}
|
|
17
21
|
const SMAA_FRAGMENT_SRC = `#version 300 es
|
|
18
22
|
precision highp float;
|
|
19
23
|
in vec2 v_texCoord;
|
package/dist/glSmaaEffect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSmaaEffect.js","sourceRoot":"","sources":["../src/glSmaaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glSmaaEffect.js","sourceRoot":"","sources":["../src/glSmaaEffect.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,sGAAsG;AACtG,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAClF,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,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7E,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,yBAAyB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BxB,CAAC"}
|
package/dist/glSsaoEffect.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SsaoEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applySsaoEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SsaoEffect>): void;
|
|
3
3
|
export declare const defaultGlSsaoEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlSsaoEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glSsaoEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSsaoEffect.d.ts","sourceRoot":"","sources":["../src/glSsaoEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glSsaoEffect.d.ts","sourceRoot":"","sources":["../src/glSsaoEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAUhH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CASN;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAEvC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE/D"}
|
package/dist/glSsaoEffect.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
|
// SSAO: ambient-occlusion approximation. Real SSAO reconstructs view-space position/normals from a
|
|
4
5
|
// sampleable DEPTH texture and accumulates occlusion over `samples` kernel offsets within `radius`,
|
|
5
6
|
// gated by `bias`; none of that depth data exists in the color-only context. This stand-in darkens
|
|
@@ -18,6 +19,9 @@ export function applySsaoEffectToGl(state, source, dest, effect) {
|
|
|
18
19
|
export const defaultGlSsaoEffectRunner = (ctx, effect) => {
|
|
19
20
|
applySsaoEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
20
21
|
};
|
|
22
|
+
export function registerGlSsaoEffect(state) {
|
|
23
|
+
registerGlRenderEffect(state, 'SsaoEffect', defaultGlSsaoEffectRunner);
|
|
24
|
+
}
|
|
21
25
|
const SSAO_FRAGMENT_SRC = `#version 300 es
|
|
22
26
|
precision highp float;
|
|
23
27
|
in vec2 v_texCoord;
|
package/dist/glSsaoEffect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSsaoEffect.js","sourceRoot":"","sources":["../src/glSsaoEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glSsaoEffect.js","sourceRoot":"","sources":["../src/glSsaoEffect.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,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,sGAAsG;AACtG,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IACjF,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,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,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,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7E,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,yBAAyB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuBxB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, TiltShiftEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyTiltShiftEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<TiltShiftEffect>): void;
|
|
3
3
|
export declare const defaultGlTiltShiftEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlTiltShiftEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glTiltShiftEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glTiltShiftEffect.d.ts","sourceRoot":"","sources":["../src/glTiltShiftEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glTiltShiftEffect.d.ts","sourceRoot":"","sources":["../src/glTiltShiftEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAQrH,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,CAWN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEpE"}
|
|
@@ -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
|
// Tilt-shift: keep a horizontal focus band sharp and blur above and below it. The band is centered at
|
|
4
5
|
// `center` on Y with height `width`; blur strength ramps with distance outside the band. Blur is
|
|
5
6
|
// approximated by averaging a few neighbor taps using the pixel size from u_resolution.
|
|
@@ -18,6 +19,9 @@ export function applyTiltShiftEffectToGl(state, source, dest, effect) {
|
|
|
18
19
|
export const defaultGlTiltShiftEffectRunner = (ctx, effect) => {
|
|
19
20
|
applyTiltShiftEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
20
21
|
};
|
|
22
|
+
export function registerGlTiltShiftEffect(state) {
|
|
23
|
+
registerGlRenderEffect(state, 'TiltShiftEffect', defaultGlTiltShiftEffectRunner);
|
|
24
|
+
}
|
|
21
25
|
const TILT_SHIFT_FRAGMENT_SRC = `#version 300 es
|
|
22
26
|
precision highp float;
|
|
23
27
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glTiltShiftEffect.js","sourceRoot":"","sources":["../src/glTiltShiftEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glTiltShiftEffect.js","sourceRoot":"","sources":["../src/glTiltShiftEffect.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,iGAAiG;AACjG,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAiC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,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,MAAM,CAAC,CAAC;QACnE,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,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,8BAA8B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAClF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAAoB;IAC5D,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuB9B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, ToneMapEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyToneMapEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<ToneMapEffect>): void;
|
|
3
3
|
export declare const defaultGlToneMapEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlToneMapEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glToneMapEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glToneMapEffect.d.ts","sourceRoot":"","sources":["../src/glToneMapEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glToneMapEffect.d.ts","sourceRoot":"","sources":["../src/glToneMapEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMnH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CAQN;AAED,eAAO,MAAM,4BAA4B,EAAE,oBAE1C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAElE"}
|
package/dist/glToneMapEffect.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
|
// Tone map: compress HDR to displayable range via the selected operator. Single-pass reference recipe.
|
|
4
5
|
export function applyToneMapEffectToGl(state, source, dest, effect) {
|
|
5
6
|
const operator = effect.operator ?? 'aces';
|
|
@@ -13,6 +14,9 @@ export function applyToneMapEffectToGl(state, source, dest, effect) {
|
|
|
13
14
|
export const defaultGlToneMapEffectRunner = (ctx, effect) => {
|
|
14
15
|
applyToneMapEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
15
16
|
};
|
|
17
|
+
export function registerGlToneMapEffect(state) {
|
|
18
|
+
registerGlRenderEffect(state, 'ToneMapEffect', defaultGlToneMapEffectRunner);
|
|
19
|
+
}
|
|
16
20
|
function buildToneMapFragment(operator) {
|
|
17
21
|
return TONEMAP_FRAGMENT_HEAD + (TONEMAP_OPERATORS[operator] ?? TONEMAP_OPERATORS.aces) + TONEMAP_FRAGMENT_TAIL;
|
|
18
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glToneMapEffect.js","sourceRoot":"","sources":["../src/glToneMapEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glToneMapEffect.js","sourceRoot":"","sources":["../src/glToneMapEffect.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,uGAAuG;AACvG,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,QAAQ,EAAE,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjG,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,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,OAAO,qBAAqB,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC;AACjH,CAAC;AAED,MAAM,qBAAqB,GAAG;;;;;;;uBAOP,CAAC;AAExB,MAAM,qBAAqB,GAAG;;;;;EAK5B,CAAC;AAEH,MAAM,iBAAiB,GAA2B;IAChD,IAAI,EAAE;;;gBAGQ;IACd,QAAQ,EAAE;8CACkC;IAC5C,MAAM,EAAE;;+DAEqD;IAC7D,UAAU,EAAE;;;YAGF;IACV,GAAG,EAAE;;4BAEqB;CAC3B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, VignetteEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyVignetteEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<VignetteEffect>): void;
|
|
3
3
|
export declare const defaultGlVignetteEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlVignetteEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glVignetteEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glVignetteEffect.d.ts","sourceRoot":"","sources":["../src/glVignetteEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glVignetteEffect.d.ts","sourceRoot":"","sources":["../src/glVignetteEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAOpH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAC/B,IAAI,CAgBN;AAED,eAAO,MAAM,6BAA6B,EAAE,oBAE3C,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEnE"}
|
package/dist/glVignetteEffect.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
|
// Vignette: darken toward the edges. Pixels inside `radius` stay full bright; beyond it, brightness
|
|
4
5
|
// falls off over `softness` and the color is blended toward the (unpacked) vignette color by intensity.
|
|
5
6
|
export function applyVignetteEffectToGl(state, source, dest, effect) {
|
|
@@ -22,6 +23,9 @@ export function applyVignetteEffectToGl(state, source, dest, effect) {
|
|
|
22
23
|
export const defaultGlVignetteEffectRunner = (ctx, effect) => {
|
|
23
24
|
applyVignetteEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
24
25
|
};
|
|
26
|
+
export function registerGlVignetteEffect(state) {
|
|
27
|
+
registerGlRenderEffect(state, 'VignetteEffect', defaultGlVignetteEffectRunner);
|
|
28
|
+
}
|
|
25
29
|
const VIGNETTE_FRAGMENT_SRC = `#version 300 es
|
|
26
30
|
precision highp float;
|
|
27
31
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glVignetteEffect.js","sourceRoot":"","sources":["../src/glVignetteEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glVignetteEffect.js","sourceRoot":"","sources":["../src/glVignetteEffect.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,oGAAoG;AACpG,wGAAwG;AACxG,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAgC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;IAClF,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;QACnE,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,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACjF,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAwB,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,KAAoB;IAC3D,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;EAgB5B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, WhiteBalanceEffect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyWhiteBalanceEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<WhiteBalanceEffect>): void;
|
|
3
3
|
export declare const defaultGlWhiteBalanceEffectRunner: GlRenderEffectRunner;
|
|
4
|
+
export declare function registerGlWhiteBalanceEffect(state: GlRenderState): void;
|
|
4
5
|
//# sourceMappingURL=glWhiteBalanceEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glWhiteBalanceEffect.d.ts","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"glWhiteBalanceEffect.d.ts","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,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,CAQN;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
|
// White balance: warm/cool temperature and magenta/green tint channel shift.
|
|
4
5
|
export function applyWhiteBalanceEffectToGl(state, source, dest, effect) {
|
|
5
6
|
const temperature = effect.temperature ?? 0;
|
|
@@ -13,6 +14,9 @@ export function applyWhiteBalanceEffectToGl(state, source, dest, effect) {
|
|
|
13
14
|
export const defaultGlWhiteBalanceEffectRunner = (ctx, effect) => {
|
|
14
15
|
applyWhiteBalanceEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
|
|
15
16
|
};
|
|
17
|
+
export function registerGlWhiteBalanceEffect(state) {
|
|
18
|
+
registerGlRenderEffect(state, 'WhiteBalanceEffect', defaultGlWhiteBalanceEffectRunner);
|
|
19
|
+
}
|
|
16
20
|
const WHITE_BALANCE_FRAGMENT_SRC = `#version 300 es
|
|
17
21
|
precision highp float;
|
|
18
22
|
in vec2 v_texCoord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glWhiteBalanceEffect.js","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"glWhiteBalanceEffect.js","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.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,6EAA6E;AAC7E,MAAM,UAAU,2BAA2B,CACzC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAoC;IAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,CAAC,CAAC;IACjG,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,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAC7E,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,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,0BAA0B,GAAG;;;;;;;;;;;;;;EAcjC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCrtEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlHalftoneEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner,
|
|
1
|
+
export { applyBlurEffectToGlRenderTextures, applyGaussianBlurToGlRenderTextures, disableGlRenderEffectGuards, enableGlRenderEffectGuards, explainGlRenderEffectApplication, applyGlRenderEffectsToRenderTexture, beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBevelEffectRunner, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBlurEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCompositeEffectRunner, defaultGlContactShadowsEffectRunner, defaultGlConvolutionEffectRunner, defaultGlCrtEffectRunner, defaultGlCustomShaderEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlDropShadowEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlGradientBevelEffectRunner, defaultGlGradientGlowEffectRunner, defaultGlHalftoneEffectRunner, defaultGlInnerGlowEffectRunner, defaultGlInnerShadowEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMedianEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOuterGlowEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner, defaultGlTiltShiftEffectRunner, defaultGlToneMapEffectRunner, defaultGlVignetteEffectRunner, defaultGlWhiteBalanceEffectRunner, endGlRenderEffectPipeline, registerGlBlendEffectBackdrop, registerGlBevelEffect, registerGlBlurEffect, registerGlContactShadowsEffect, registerGlDropShadowEffect, registerGlGradientBevelEffect, registerGlGradientGlowEffect, registerGlInnerGlowEffect, registerGlInnerShadowEffect, registerGlOuterGlowEffect, registerGlBlendEffect, registerGlBloomEffect, registerGlBokehDepthOfFieldEffect, registerGlCameraMotionBlurEffect, registerGlChromaticAberrationEffect, registerGlCompositeEffect, registerGlConvolutionEffect, registerGlCrtEffect, registerGlCustomShaderEffect, registerGlDirectionalBlurEffect, registerGlDisplacementEffect, registerGlDitherEffect, registerGlFilmGrainEffect, registerGlFxaaEffect, registerGlGlitchEffect, registerGlGodRaysEffect, registerGlHalftoneEffect, registerGlKuwaharaEffect, registerGlLensDirtEffect, registerGlLensDistortionEffect, registerGlLensFlareEffect, registerGlMedianEffect, registerGlMotionBlurEffect, registerGlOutlineEffect, registerGlPixelateEffect, registerGlPosterizeEffect, registerGlRadialBlurEffect, registerGlScanlinesEffect, registerGlScreenSpaceFogEffect, registerGlSharpenEffect, registerGlSketchEffect, registerGlSmaaEffect, registerGlSsaoEffect, registerGlTiltShiftEffect, registerGlToneMapEffect, registerGlVignetteEffect, registerGlWhiteBalanceEffect, registerGlRenderEffect, setGlRenderEffectVelocityTexture, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,wBAAwB,EACxB,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,8BAA8B,EAC9B,mCAAmC,EACnC,gCAAgC,EAChC,wBAAwB,EACxB,iCAAiC,EACjC,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCrtEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlHalftoneEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner,
|
|
1
|
+
export { applyBlurEffectToGlRenderTextures, applyGaussianBlurToGlRenderTextures, disableGlRenderEffectGuards, enableGlRenderEffectGuards, explainGlRenderEffectApplication, applyGlRenderEffectsToRenderTexture, beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBevelEffectRunner, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBlurEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCompositeEffectRunner, defaultGlContactShadowsEffectRunner, defaultGlConvolutionEffectRunner, defaultGlCrtEffectRunner, defaultGlCustomShaderEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlDropShadowEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlGradientBevelEffectRunner, defaultGlGradientGlowEffectRunner, defaultGlHalftoneEffectRunner, defaultGlInnerGlowEffectRunner, defaultGlInnerShadowEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMedianEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOuterGlowEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner, defaultGlTiltShiftEffectRunner, defaultGlToneMapEffectRunner, defaultGlVignetteEffectRunner, defaultGlWhiteBalanceEffectRunner, endGlRenderEffectPipeline, registerGlBlendEffectBackdrop, registerGlBevelEffect, registerGlBlurEffect, registerGlContactShadowsEffect, registerGlDropShadowEffect, registerGlGradientBevelEffect, registerGlGradientGlowEffect, registerGlInnerGlowEffect, registerGlInnerShadowEffect, registerGlOuterGlowEffect, registerGlBlendEffect, registerGlBloomEffect, registerGlBokehDepthOfFieldEffect, registerGlCameraMotionBlurEffect, registerGlChromaticAberrationEffect, registerGlCompositeEffect, registerGlConvolutionEffect, registerGlCrtEffect, registerGlCustomShaderEffect, registerGlDirectionalBlurEffect, registerGlDisplacementEffect, registerGlDitherEffect, registerGlFilmGrainEffect, registerGlFxaaEffect, registerGlGlitchEffect, registerGlGodRaysEffect, registerGlHalftoneEffect, registerGlKuwaharaEffect, registerGlLensDirtEffect, registerGlLensDistortionEffect, registerGlLensFlareEffect, registerGlMedianEffect, registerGlMotionBlurEffect, registerGlOutlineEffect, registerGlPixelateEffect, registerGlPosterizeEffect, registerGlRadialBlurEffect, registerGlScanlinesEffect, registerGlScreenSpaceFogEffect, registerGlSharpenEffect, registerGlSketchEffect, registerGlSmaaEffect, registerGlSsaoEffect, registerGlTiltShiftEffect, registerGlToneMapEffect, registerGlVignetteEffect, registerGlWhiteBalanceEffect, registerGlRenderEffect, setGlRenderEffectVelocityTexture, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,wBAAwB,EACxB,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,8BAA8B,EAC9B,mCAAmC,EACnC,gCAAgC,EAChC,wBAAwB,EACxB,iCAAiC,EACjC,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/effects-gl",
|
|
3
|
-
"version": "0.3.0
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"author": "Joshua Granick and other contributors",
|
|
5
|
+
"license": "MIT",
|
|
4
6
|
"repository": {
|
|
5
7
|
"type": "git",
|
|
6
8
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -36,11 +38,12 @@
|
|
|
36
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
37
39
|
},
|
|
38
40
|
"dependencies": {
|
|
39
|
-
"@flighthq/adjustments": "0.3.0
|
|
40
|
-
"@flighthq/effects": "0.3.0
|
|
41
|
-
"@flighthq/geometry": "0.3.0
|
|
42
|
-
"@flighthq/
|
|
43
|
-
"@flighthq/
|
|
41
|
+
"@flighthq/adjustments": "0.3.0",
|
|
42
|
+
"@flighthq/effects": "0.3.0",
|
|
43
|
+
"@flighthq/geometry": "0.3.0",
|
|
44
|
+
"@flighthq/log": "0.3.0",
|
|
45
|
+
"@flighthq/render-gl": "0.3.0",
|
|
46
|
+
"@flighthq/types": "0.3.0"
|
|
44
47
|
},
|
|
45
48
|
"devDependencies": {
|
|
46
49
|
"typescript": "^5.3.0"
|