@flighthq/effects-gl 0.1.0 → 0.2.1-next.410.a23f189

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.
Files changed (157) hide show
  1. package/dist/glBevelEffect.d.ts +4 -0
  2. package/dist/glBevelEffect.d.ts.map +1 -0
  3. package/dist/glBevelEffect.js +134 -0
  4. package/dist/glBevelEffect.js.map +1 -0
  5. package/dist/glBlendEffect.d.ts +8 -0
  6. package/dist/glBlendEffect.d.ts.map +1 -0
  7. package/dist/glBlendEffect.js +169 -0
  8. package/dist/glBlendEffect.js.map +1 -0
  9. package/dist/glBloomEffect.d.ts.map +1 -1
  10. package/dist/glBloomEffect.js +5 -5
  11. package/dist/glBloomEffect.js.map +1 -1
  12. package/dist/glBlurEffect.d.ts +8 -0
  13. package/dist/glBlurEffect.d.ts.map +1 -0
  14. package/dist/glBlurEffect.js +65 -0
  15. package/dist/glBlurEffect.js.map +1 -0
  16. package/dist/glColorLutPass.d.ts +3 -0
  17. package/dist/glColorLutPass.d.ts.map +1 -0
  18. package/dist/glColorLutPass.js +75 -0
  19. package/dist/glColorLutPass.js.map +1 -0
  20. package/dist/glColorMatrixPass.d.ts +3 -0
  21. package/dist/glColorMatrixPass.d.ts.map +1 -0
  22. package/dist/glColorMatrixPass.js +33 -0
  23. package/dist/glColorMatrixPass.js.map +1 -0
  24. package/dist/glCompositeEffect.d.ts +5 -0
  25. package/dist/glCompositeEffect.d.ts.map +1 -0
  26. package/dist/glCompositeEffect.js +90 -0
  27. package/dist/glCompositeEffect.js.map +1 -0
  28. package/dist/glConvolutionEffect.d.ts +5 -0
  29. package/dist/glConvolutionEffect.d.ts.map +1 -0
  30. package/dist/glConvolutionEffect.js +94 -0
  31. package/dist/glConvolutionEffect.js.map +1 -0
  32. package/dist/glDropShadowEffect.d.ts +4 -0
  33. package/dist/glDropShadowEffect.d.ts.map +1 -0
  34. package/dist/glDropShadowEffect.js +53 -0
  35. package/dist/glDropShadowEffect.js.map +1 -0
  36. package/dist/glEffectBlitShader.d.ts +12 -0
  37. package/dist/glEffectBlitShader.d.ts.map +1 -0
  38. package/dist/glEffectBlitShader.js +89 -0
  39. package/dist/glEffectBlitShader.js.map +1 -0
  40. package/dist/glEffectBoxBlur.d.ts +16 -0
  41. package/dist/glEffectBoxBlur.d.ts.map +1 -0
  42. package/dist/glEffectBoxBlur.js +112 -0
  43. package/dist/glEffectBoxBlur.js.map +1 -0
  44. package/dist/glEffectGradientRamp.d.ts +9 -0
  45. package/dist/glEffectGradientRamp.d.ts.map +1 -0
  46. package/dist/glEffectGradientRamp.js +64 -0
  47. package/dist/glEffectGradientRamp.js.map +1 -0
  48. package/dist/glEffectTintShader.d.ts +7 -0
  49. package/dist/glEffectTintShader.d.ts.map +1 -0
  50. package/dist/glEffectTintShader.js +82 -0
  51. package/dist/glEffectTintShader.js.map +1 -0
  52. package/dist/glGradientBevelEffect.d.ts +4 -0
  53. package/dist/glGradientBevelEffect.d.ts.map +1 -0
  54. package/dist/glGradientBevelEffect.js +127 -0
  55. package/dist/glGradientBevelEffect.js.map +1 -0
  56. package/dist/glGradientGlowEffect.d.ts +4 -0
  57. package/dist/glGradientGlowEffect.d.ts.map +1 -0
  58. package/dist/glGradientGlowEffect.js +78 -0
  59. package/dist/glGradientGlowEffect.js.map +1 -0
  60. package/dist/glInnerGlowEffect.d.ts +4 -0
  61. package/dist/glInnerGlowEffect.d.ts.map +1 -0
  62. package/dist/glInnerGlowEffect.js +96 -0
  63. package/dist/glInnerGlowEffect.js.map +1 -0
  64. package/dist/glInnerShadowEffect.d.ts +4 -0
  65. package/dist/glInnerShadowEffect.d.ts.map +1 -0
  66. package/dist/glInnerShadowEffect.js +103 -0
  67. package/dist/glInnerShadowEffect.js.map +1 -0
  68. package/dist/glMedianEffect.d.ts +5 -0
  69. package/dist/glMedianEffect.d.ts.map +1 -0
  70. package/dist/glMedianEffect.js +73 -0
  71. package/dist/glMedianEffect.js.map +1 -0
  72. package/dist/glOuterGlowEffect.d.ts +4 -0
  73. package/dist/glOuterGlowEffect.d.ts.map +1 -0
  74. package/dist/glOuterGlowEffect.js +49 -0
  75. package/dist/glOuterGlowEffect.js.map +1 -0
  76. package/dist/glRenderEffectPipeline.d.ts +2 -2
  77. package/dist/glRenderEffectPipeline.d.ts.map +1 -1
  78. package/dist/glRenderEffectPipeline.js +86 -14
  79. package/dist/glRenderEffectPipeline.js.map +1 -1
  80. package/dist/glRenderEffectRegistrar.d.ts +1 -0
  81. package/dist/glRenderEffectRegistrar.d.ts.map +1 -1
  82. package/dist/glRenderEffectRegistrar.js +62 -38
  83. package/dist/glRenderEffectRegistrar.js.map +1 -1
  84. package/dist/index.d.ts +18 -10
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +18 -10
  87. package/dist/index.js.map +1 -1
  88. package/package.json +11 -6
  89. package/src/glBevelEffect.test.ts +13 -0
  90. package/src/glBlendEffect.test.ts +111 -0
  91. package/src/glBlurEffect.test.ts +19 -0
  92. package/src/glColorLutPass.test.ts +7 -0
  93. package/src/glColorMatrixPass.test.ts +7 -0
  94. package/src/glCompositeEffect.test.ts +39 -0
  95. package/src/glConvolutionEffect.test.ts +13 -0
  96. package/src/glDropShadowEffect.test.ts +105 -0
  97. package/src/glEffectBlitShader.test.ts +19 -0
  98. package/src/glEffectBoxBlur.test.ts +57 -0
  99. package/src/glEffectGradientRamp.test.ts +7 -0
  100. package/src/glEffectTintShader.test.ts +13 -0
  101. package/src/glGradientBevelEffect.test.ts +13 -0
  102. package/src/glGradientGlowEffect.test.ts +13 -0
  103. package/src/glInnerGlowEffect.test.ts +145 -0
  104. package/src/glInnerShadowEffect.test.ts +145 -0
  105. package/src/glMedianEffect.test.ts +13 -0
  106. package/src/glOuterGlowEffect.test.ts +104 -0
  107. package/src/glRenderEffectRegistrar.test.ts +37 -6
  108. package/dist/glBrightnessContrastEffect.d.ts +0 -4
  109. package/dist/glBrightnessContrastEffect.d.ts.map +0 -1
  110. package/dist/glBrightnessContrastEffect.js +0 -28
  111. package/dist/glBrightnessContrastEffect.js.map +0 -1
  112. package/dist/glChannelMixerEffect.d.ts +0 -4
  113. package/dist/glChannelMixerEffect.d.ts.map +0 -1
  114. package/dist/glChannelMixerEffect.js +0 -30
  115. package/dist/glChannelMixerEffect.js.map +0 -1
  116. package/dist/glColorGradeEffect.d.ts +0 -4
  117. package/dist/glColorGradeEffect.d.ts.map +0 -1
  118. package/dist/glColorGradeEffect.js +0 -46
  119. package/dist/glColorGradeEffect.js.map +0 -1
  120. package/dist/glExposureEffect.d.ts +0 -4
  121. package/dist/glExposureEffect.d.ts.map +0 -1
  122. package/dist/glExposureEffect.js +0 -24
  123. package/dist/glExposureEffect.js.map +0 -1
  124. package/dist/glGrayscaleEffect.d.ts +0 -4
  125. package/dist/glGrayscaleEffect.d.ts.map +0 -1
  126. package/dist/glGrayscaleEffect.js +0 -25
  127. package/dist/glGrayscaleEffect.js.map +0 -1
  128. package/dist/glHueSaturationEffect.d.ts +0 -4
  129. package/dist/glHueSaturationEffect.d.ts.map +0 -1
  130. package/dist/glHueSaturationEffect.js +0 -67
  131. package/dist/glHueSaturationEffect.js.map +0 -1
  132. package/dist/glInvertEffect.d.ts +0 -4
  133. package/dist/glInvertEffect.d.ts.map +0 -1
  134. package/dist/glInvertEffect.js +0 -24
  135. package/dist/glInvertEffect.js.map +0 -1
  136. package/dist/glLiftGammaGainEffect.d.ts +0 -4
  137. package/dist/glLiftGammaGainEffect.d.ts.map +0 -1
  138. package/dist/glLiftGammaGainEffect.js +0 -44
  139. package/dist/glLiftGammaGainEffect.js.map +0 -1
  140. package/dist/glLookupTableGradeEffect.d.ts +0 -4
  141. package/dist/glLookupTableGradeEffect.d.ts.map +0 -1
  142. package/dist/glLookupTableGradeEffect.js +0 -28
  143. package/dist/glLookupTableGradeEffect.js.map +0 -1
  144. package/dist/glSepiaEffect.d.ts +0 -4
  145. package/dist/glSepiaEffect.d.ts.map +0 -1
  146. package/dist/glSepiaEffect.js +0 -29
  147. package/dist/glSepiaEffect.js.map +0 -1
  148. package/src/glBrightnessContrastEffect.test.ts +0 -16
  149. package/src/glChannelMixerEffect.test.ts +0 -13
  150. package/src/glColorGradeEffect.test.ts +0 -13
  151. package/src/glExposureEffect.test.ts +0 -13
  152. package/src/glGrayscaleEffect.test.ts +0 -13
  153. package/src/glHueSaturationEffect.test.ts +0 -13
  154. package/src/glInvertEffect.test.ts +0 -13
  155. package/src/glLiftGammaGainEffect.test.ts +0 -13
  156. package/src/glLookupTableGradeEffect.test.ts +0 -13
  157. package/src/glSepiaEffect.test.ts +0 -13
@@ -1,4 +0,0 @@
1
- import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, GrayscaleEffect } from '@flighthq/types';
2
- export declare function applyGrayscaleEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<GrayscaleEffect>): void;
3
- export declare const defaultGlGrayscaleEffectRunner: GlRenderEffectRunner;
4
- //# sourceMappingURL=glGrayscaleEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glGrayscaleEffect.d.ts","sourceRoot":"","sources":["../src/glGrayscaleEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAK5G,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,CAMN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC"}
@@ -1,25 +0,0 @@
1
- import { drawGlFullscreenPass } from '@flighthq/render-gl';
2
- import { getGlEffectProgram } from './glEffectProgramCache';
3
- // Grayscale: mix toward luminance by intensity.
4
- export function applyGrayscaleEffectToGl(state, source, dest, effect) {
5
- const intensity = effect.intensity ?? 1;
6
- const program = getGlEffectProgram(state, 'colorGrade.grayscale', GRAYSCALE_FRAGMENT_SRC);
7
- drawGlFullscreenPass(state, program, [source.texture], dest, (gl, p) => {
8
- gl.uniform1f(gl.getUniformLocation(p.program, 'u_intensity'), intensity);
9
- });
10
- }
11
- export const defaultGlGrayscaleEffectRunner = (ctx, effect) => {
12
- applyGrayscaleEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
13
- };
14
- const GRAYSCALE_FRAGMENT_SRC = `#version 300 es
15
- precision highp float;
16
- in vec2 v_texCoord;
17
- uniform sampler2D u_texture0;
18
- uniform float u_intensity;
19
- out vec4 o_color;
20
- void main() {
21
- vec4 c = texture(u_texture0, v_texCoord);
22
- float l = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722));
23
- o_color = vec4(mix(c.rgb, vec3(l), u_intensity), c.a);
24
- }`;
25
- //# sourceMappingURL=glGrayscaleEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glGrayscaleEffect.js","sourceRoot":"","sources":["../src/glGrayscaleEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,gDAAgD;AAChD,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAiC;IAEjC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,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;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,sBAAsB,GAAG;;;;;;;;;;EAU7B,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, HueSaturationEffect } from '@flighthq/types';
2
- export declare function applyHueSaturationEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<HueSaturationEffect>): void;
3
- export declare const defaultGlHueSaturationEffectRunner: GlRenderEffectRunner;
4
- //# sourceMappingURL=glHueSaturationEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glHueSaturationEffect.d.ts","sourceRoot":"","sources":["../src/glHueSaturationEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKhH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACpC,IAAI,CAUN;AAED,eAAO,MAAM,kCAAkC,EAAE,oBAEhD,CAAC"}
@@ -1,67 +0,0 @@
1
- import { drawGlFullscreenPass } from '@flighthq/render-gl';
2
- import { getGlEffectProgram } from './glEffectProgramCache';
3
- // Hue/saturation/lightness: convert to HSL, adjust, convert back.
4
- export function applyHueSaturationEffectToGl(state, source, dest, effect) {
5
- const hue = effect.hue ?? 0;
6
- const saturation = effect.saturation ?? 1;
7
- const lightness = effect.lightness ?? 0;
8
- const program = getGlEffectProgram(state, 'colorGrade.hueSaturation', HUE_SATURATION_FRAGMENT_SRC);
9
- drawGlFullscreenPass(state, program, [source.texture], dest, (gl, p) => {
10
- gl.uniform1f(gl.getUniformLocation(p.program, 'u_hue'), hue / 360);
11
- gl.uniform1f(gl.getUniformLocation(p.program, 'u_saturation'), saturation);
12
- gl.uniform1f(gl.getUniformLocation(p.program, 'u_lightness'), lightness);
13
- });
14
- }
15
- export const defaultGlHueSaturationEffectRunner = (ctx, effect) => {
16
- applyHueSaturationEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
17
- };
18
- const HUE_SATURATION_FRAGMENT_SRC = `#version 300 es
19
- precision highp float;
20
- in vec2 v_texCoord;
21
- uniform sampler2D u_texture0;
22
- uniform float u_hue;
23
- uniform float u_saturation;
24
- uniform float u_lightness;
25
- out vec4 o_color;
26
- vec3 rgb2hsl(vec3 c) {
27
- float mx = max(c.r, max(c.g, c.b));
28
- float mn = min(c.r, min(c.g, c.b));
29
- float l = (mx + mn) * 0.5;
30
- float h = 0.0;
31
- float s = 0.0;
32
- float d = mx - mn;
33
- if (d > 0.0001) {
34
- s = l < 0.5 ? d / (mx + mn) : d / (2.0 - mx - mn);
35
- if (mx == c.r) h = (c.g - c.b) / d + (c.g < c.b ? 6.0 : 0.0);
36
- else if (mx == c.g) h = (c.b - c.r) / d + 2.0;
37
- else h = (c.r - c.g) / d + 4.0;
38
- h /= 6.0;
39
- }
40
- return vec3(h, s, l);
41
- }
42
- float hue2rgb(float p, float q, float t) {
43
- if (t < 0.0) t += 1.0;
44
- if (t > 1.0) t -= 1.0;
45
- if (t < 1.0 / 6.0) return p + (q - p) * 6.0 * t;
46
- if (t < 1.0 / 2.0) return q;
47
- if (t < 2.0 / 3.0) return p + (q - p) * (2.0 / 3.0 - t) * 6.0;
48
- return p;
49
- }
50
- vec3 hsl2rgb(vec3 hsl) {
51
- float h = hsl.x;
52
- float s = hsl.y;
53
- float l = hsl.z;
54
- if (s <= 0.0) return vec3(l);
55
- float q = l < 0.5 ? l * (1.0 + s) : l + s - l * s;
56
- float p = 2.0 * l - q;
57
- return vec3(hue2rgb(p, q, h + 1.0 / 3.0), hue2rgb(p, q, h), hue2rgb(p, q, h - 1.0 / 3.0));
58
- }
59
- void main() {
60
- vec4 c = texture(u_texture0, v_texCoord);
61
- vec3 hsl = rgb2hsl(c.rgb);
62
- hsl.x = fract(hsl.x + u_hue);
63
- hsl.y = clamp(hsl.y * u_saturation, 0.0, 1.0);
64
- hsl.z = clamp(hsl.z + u_lightness, 0.0, 1.0);
65
- o_color = vec4(hsl2rgb(hsl), c.a);
66
- }`;
67
- //# sourceMappingURL=glHueSaturationEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glHueSaturationEffect.js","sourceRoot":"","sources":["../src/glHueSaturationEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,kEAAkE;AAClE,MAAM,UAAU,4BAA4B,CAC1C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAqC;IAErC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;IACnG,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,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACnE,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,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACtF,4BAA4B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA6B,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDlC,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, InvertEffect } from '@flighthq/types';
2
- export declare function applyInvertEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<InvertEffect>): void;
3
- export declare const defaultGlInvertEffectRunner: GlRenderEffectRunner;
4
- //# sourceMappingURL=glInvertEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glInvertEffect.d.ts","sourceRoot":"","sources":["../src/glInvertEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKzG,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,CAMN;AAED,eAAO,MAAM,2BAA2B,EAAE,oBAEzC,CAAC"}
@@ -1,24 +0,0 @@
1
- import { drawGlFullscreenPass } from '@flighthq/render-gl';
2
- import { getGlEffectProgram } from './glEffectProgramCache';
3
- // Invert: mix toward 1 - rgb by intensity.
4
- export function applyInvertEffectToGl(state, source, dest, effect) {
5
- const intensity = effect.intensity ?? 1;
6
- const program = getGlEffectProgram(state, 'colorGrade.invert', INVERT_FRAGMENT_SRC);
7
- drawGlFullscreenPass(state, program, [source.texture], dest, (gl, p) => {
8
- gl.uniform1f(gl.getUniformLocation(p.program, 'u_intensity'), intensity);
9
- });
10
- }
11
- export const defaultGlInvertEffectRunner = (ctx, effect) => {
12
- applyInvertEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
13
- };
14
- const INVERT_FRAGMENT_SRC = `#version 300 es
15
- precision highp float;
16
- in vec2 v_texCoord;
17
- uniform sampler2D u_texture0;
18
- uniform float u_intensity;
19
- out vec4 o_color;
20
- void main() {
21
- vec4 c = texture(u_texture0, v_texCoord);
22
- o_color = vec4(mix(c.rgb, 1.0 - c.rgb, u_intensity), c.a);
23
- }`;
24
- //# sourceMappingURL=glInvertEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glInvertEffect.js","sourceRoot":"","sources":["../src/glInvertEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,2CAA2C;AAC3C,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA8B;IAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACpF,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;IAC3E,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,mBAAmB,GAAG;;;;;;;;;EAS1B,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, LiftGammaGainEffect } from '@flighthq/types';
2
- export declare function applyLiftGammaGainEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<LiftGammaGainEffect>): void;
3
- export declare const defaultGlLiftGammaGainEffectRunner: GlRenderEffectRunner;
4
- //# sourceMappingURL=glLiftGammaGainEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glLiftGammaGainEffect.d.ts","sourceRoot":"","sources":["../src/glLiftGammaGainEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAMhH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACpC,IAAI,CAgBN;AAED,eAAO,MAAM,kCAAkC,EAAE,oBAEhD,CAAC"}
@@ -1,44 +0,0 @@
1
- import { drawGlFullscreenPass } from '@flighthq/render-gl';
2
- import { getGlEffectProgram } from './glEffectProgramCache';
3
- // Lift/gamma/gain: unpack packed-RGBA neutrals to per-channel offsets/exponents/multipliers in JS.
4
- // Neutral packed values: lift 0x000000ff, gamma 0x808080ff, gain 0xffffffff.
5
- export function applyLiftGammaGainEffectToGl(state, source, dest, effect) {
6
- const lift = unpackColor(effect.lift ?? 0x000000ff);
7
- const gammaRaw = unpackColor(effect.gamma ?? 0x808080ff);
8
- const gain = unpackColor(effect.gain ?? 0xffffffff);
9
- // Map gamma's 0.5-neutral to a 1.0-neutral exponent so 0x808080 leaves the image unchanged.
10
- const gamma = [
11
- 1 / Math.max(gammaRaw[0] * 2, 1e-3),
12
- 1 / Math.max(gammaRaw[1] * 2, 1e-3),
13
- 1 / Math.max(gammaRaw[2] * 2, 1e-3),
14
- ];
15
- const program = getGlEffectProgram(state, 'colorGrade.liftGammaGain', LIFT_GAMMA_GAIN_FRAGMENT_SRC);
16
- drawGlFullscreenPass(state, program, [source.texture], dest, (gl, p) => {
17
- gl.uniform3f(gl.getUniformLocation(p.program, 'u_lift'), lift[0], lift[1], lift[2]);
18
- gl.uniform3f(gl.getUniformLocation(p.program, 'u_gamma'), gamma[0], gamma[1], gamma[2]);
19
- gl.uniform3f(gl.getUniformLocation(p.program, 'u_gain'), gain[0], gain[1], gain[2]);
20
- });
21
- }
22
- export const defaultGlLiftGammaGainEffectRunner = (ctx, effect) => {
23
- applyLiftGammaGainEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
24
- };
25
- // Unpack a packed RGBA integer (0xRRGGBBAA) into normalized [r, g, b] floats. Alpha is dropped — these
26
- // grade values describe RGB channels only.
27
- function unpackColor(c) {
28
- return [((c >>> 24) & 255) / 255, ((c >>> 16) & 255) / 255, ((c >>> 8) & 255) / 255];
29
- }
30
- const LIFT_GAMMA_GAIN_FRAGMENT_SRC = `#version 300 es
31
- precision highp float;
32
- in vec2 v_texCoord;
33
- uniform sampler2D u_texture0;
34
- uniform vec3 u_lift;
35
- uniform vec3 u_gamma;
36
- uniform vec3 u_gain;
37
- out vec4 o_color;
38
- void main() {
39
- vec4 c = texture(u_texture0, v_texCoord);
40
- vec3 rgb = c.rgb * u_gain + u_lift * (1.0 - c.rgb);
41
- rgb = pow(max(rgb, 0.0), u_gamma);
42
- o_color = vec4(clamp(rgb, 0.0, 1.0), c.a);
43
- }`;
44
- //# sourceMappingURL=glLiftGammaGainEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glLiftGammaGainEffect.js","sourceRoot":"","sources":["../src/glLiftGammaGainEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,mGAAmG;AACnG,6EAA6E;AAC7E,MAAM,UAAU,4BAA4B,CAC1C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAqC;IAErC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;IACpD,4FAA4F;IAC5F,MAAM,KAAK,GAAsC;QAC/C,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QACnC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QACnC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;KACpC,CAAC;IACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,CAAC,CAAC;IACpG,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,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACtF,4BAA4B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA6B,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,uGAAuG;AACvG,2CAA2C;AAC3C,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;EAanC,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, LookupTableGradeEffect } from '@flighthq/types';
2
- export declare function applyLookupTableGradeEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<LookupTableGradeEffect>): void;
3
- export declare const defaultGlLookupTableGradeEffectRunner: GlRenderEffectRunner;
4
- //# sourceMappingURL=glLookupTableGradeEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glLookupTableGradeEffect.d.ts","sourceRoot":"","sources":["../src/glLookupTableGradeEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAOnH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GACvC,IAAI,CAMN;AAED,eAAO,MAAM,qCAAqC,EAAE,oBAEnD,CAAC"}
@@ -1,28 +0,0 @@
1
- import { drawGlFullscreenPass } from '@flighthq/render-gl';
2
- import { getGlEffectProgram } from './glEffectProgramCache';
3
- // LUT grade: passthrough with a strength mix. A real 3D LUT grade needs an uploaded LUT cube texture
4
- // (size from effect.size) sampled per pixel; that texture path is not yet wired, so this keeps the
5
- // pass compiling and color-neutral until the LUT upload is added.
6
- export function applyLookupTableGradeEffectToGl(state, source, dest, effect) {
7
- const strength = effect.strength ?? 1;
8
- const program = getGlEffectProgram(state, 'colorGrade.lutGrade', LUT_GRADE_FRAGMENT_SRC);
9
- drawGlFullscreenPass(state, program, [source.texture], dest, (gl, p) => {
10
- gl.uniform1f(gl.getUniformLocation(p.program, 'u_strength'), strength);
11
- });
12
- }
13
- export const defaultGlLookupTableGradeEffectRunner = (ctx, effect) => {
14
- applyLookupTableGradeEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
15
- };
16
- const LUT_GRADE_FRAGMENT_SRC = `#version 300 es
17
- precision highp float;
18
- in vec2 v_texCoord;
19
- uniform sampler2D u_texture0;
20
- uniform float u_strength;
21
- out vec4 o_color;
22
- void main() {
23
- vec4 c = texture(u_texture0, v_texCoord);
24
- // Passthrough: a real 3D LUT samples an uploaded LUT cube here, then mixes by u_strength.
25
- vec3 graded = c.rgb;
26
- o_color = vec4(mix(c.rgb, graded, u_strength), c.a);
27
- }`;
28
- //# sourceMappingURL=glLookupTableGradeEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glLookupTableGradeEffect.js","sourceRoot":"","sources":["../src/glLookupTableGradeEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qGAAqG;AACrG,mGAAmG;AACnG,kEAAkE;AAClE,MAAM,UAAU,+BAA+B,CAC7C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAwC;IAExC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;IACzF,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;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,qCAAqC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACzF,+BAA+B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAgC,CAAC,CAAC;AACrG,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;;;;;EAW7B,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SepiaEffect } from '@flighthq/types';
2
- export declare function applySepiaEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SepiaEffect>): void;
3
- export declare const defaultGlSepiaEffectRunner: GlRenderEffectRunner;
4
- //# sourceMappingURL=glSepiaEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glSepiaEffect.d.ts","sourceRoot":"","sources":["../src/glSepiaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKxG,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,IAAI,CAMN;AAED,eAAO,MAAM,0BAA0B,EAAE,oBAExC,CAAC"}
@@ -1,29 +0,0 @@
1
- import { drawGlFullscreenPass } from '@flighthq/render-gl';
2
- import { getGlEffectProgram } from './glEffectProgramCache';
3
- // Sepia: mix toward a sepia matrix transform by intensity.
4
- export function applySepiaEffectToGl(state, source, dest, effect) {
5
- const intensity = effect.intensity ?? 1;
6
- const program = getGlEffectProgram(state, 'colorGrade.sepia', SEPIA_FRAGMENT_SRC);
7
- drawGlFullscreenPass(state, program, [source.texture], dest, (gl, p) => {
8
- gl.uniform1f(gl.getUniformLocation(p.program, 'u_intensity'), intensity);
9
- });
10
- }
11
- export const defaultGlSepiaEffectRunner = (ctx, effect) => {
12
- applySepiaEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
13
- };
14
- const SEPIA_FRAGMENT_SRC = `#version 300 es
15
- precision highp float;
16
- in vec2 v_texCoord;
17
- uniform sampler2D u_texture0;
18
- uniform float u_intensity;
19
- out vec4 o_color;
20
- void main() {
21
- vec4 c = texture(u_texture0, v_texCoord);
22
- vec3 sepia = vec3(
23
- dot(c.rgb, vec3(0.393, 0.769, 0.189)),
24
- dot(c.rgb, vec3(0.349, 0.686, 0.168)),
25
- dot(c.rgb, vec3(0.272, 0.534, 0.131))
26
- );
27
- o_color = vec4(mix(c.rgb, sepia, u_intensity), c.a);
28
- }`;
29
- //# sourceMappingURL=glSepiaEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glSepiaEffect.js","sourceRoot":"","sources":["../src/glSepiaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,2DAA2D;AAC3D,MAAM,UAAU,oBAAoB,CAClC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA6B;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,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;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC9E,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAqB,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;EAczB,CAAC"}
@@ -1,16 +0,0 @@
1
- import {
2
- applyBrightnessContrastEffectToGl,
3
- defaultGlBrightnessContrastEffectRunner,
4
- } from './glBrightnessContrastEffect';
5
-
6
- describe('applyBrightnessContrastEffectToGl', () => {
7
- it('is a function', () => {
8
- expect(typeof applyBrightnessContrastEffectToGl).toBe('function');
9
- });
10
- });
11
-
12
- describe('defaultGlBrightnessContrastEffectRunner', () => {
13
- it('is a function', () => {
14
- expect(typeof defaultGlBrightnessContrastEffectRunner).toBe('function');
15
- });
16
- });
@@ -1,13 +0,0 @@
1
- import { applyChannelMixerEffectToGl, defaultGlChannelMixerEffectRunner } from './glChannelMixerEffect';
2
-
3
- describe('applyChannelMixerEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyChannelMixerEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlChannelMixerEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlChannelMixerEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyColorGradeEffectToGl, defaultGlColorGradeEffectRunner } from './glColorGradeEffect';
2
-
3
- describe('applyColorGradeEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyColorGradeEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlColorGradeEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlColorGradeEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyExposureEffectToGl, defaultGlExposureEffectRunner } from './glExposureEffect';
2
-
3
- describe('applyExposureEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyExposureEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlExposureEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlExposureEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyGrayscaleEffectToGl, defaultGlGrayscaleEffectRunner } from './glGrayscaleEffect';
2
-
3
- describe('applyGrayscaleEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyGrayscaleEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlGrayscaleEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlGrayscaleEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyHueSaturationEffectToGl, defaultGlHueSaturationEffectRunner } from './glHueSaturationEffect';
2
-
3
- describe('applyHueSaturationEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyHueSaturationEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlHueSaturationEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlHueSaturationEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyInvertEffectToGl, defaultGlInvertEffectRunner } from './glInvertEffect';
2
-
3
- describe('applyInvertEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyInvertEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlInvertEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlInvertEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyLiftGammaGainEffectToGl, defaultGlLiftGammaGainEffectRunner } from './glLiftGammaGainEffect';
2
-
3
- describe('applyLiftGammaGainEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyLiftGammaGainEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlLiftGammaGainEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlLiftGammaGainEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyLookupTableGradeEffectToGl, defaultGlLookupTableGradeEffectRunner } from './glLookupTableGradeEffect';
2
-
3
- describe('applyLookupTableGradeEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applyLookupTableGradeEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlLookupTableGradeEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlLookupTableGradeEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applySepiaEffectToGl, defaultGlSepiaEffectRunner } from './glSepiaEffect';
2
-
3
- describe('applySepiaEffectToGl', () => {
4
- it('is a function', () => {
5
- expect(typeof applySepiaEffectToGl).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultGlSepiaEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultGlSepiaEffectRunner).toBe('function');
12
- });
13
- });