@flighthq/render-gl 0.2.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 (66) hide show
  1. package/dist/glCompressedTexture.d.ts +8 -0
  2. package/dist/glCompressedTexture.d.ts.map +1 -0
  3. package/dist/glCompressedTexture.js +270 -0
  4. package/dist/glCompressedTexture.js.map +1 -0
  5. package/dist/glDraw.d.ts +4 -2
  6. package/dist/glDraw.d.ts.map +1 -1
  7. package/dist/glDraw.js +215 -20
  8. package/dist/glDraw.js.map +1 -1
  9. package/dist/glFullscreenPass.d.ts.map +1 -1
  10. package/dist/glFullscreenPass.js +32 -0
  11. package/dist/glFullscreenPass.js.map +1 -1
  12. package/dist/glLinearToSrgbPass.d.ts +4 -0
  13. package/dist/glLinearToSrgbPass.d.ts.map +1 -0
  14. package/dist/glLinearToSrgbPass.js +42 -0
  15. package/dist/glLinearToSrgbPass.js.map +1 -0
  16. package/dist/glPresentRenderTarget.d.ts +3 -0
  17. package/dist/glPresentRenderTarget.d.ts.map +1 -0
  18. package/dist/glPresentRenderTarget.js +35 -0
  19. package/dist/glPresentRenderTarget.js.map +1 -0
  20. package/dist/glRenderPass.d.ts +5 -0
  21. package/dist/glRenderPass.d.ts.map +1 -0
  22. package/dist/glRenderPass.js +130 -0
  23. package/dist/glRenderPass.js.map +1 -0
  24. package/dist/glRenderState.d.ts +1 -1
  25. package/dist/glRenderState.d.ts.map +1 -1
  26. package/dist/glRenderState.js +1 -0
  27. package/dist/glRenderState.js.map +1 -1
  28. package/dist/glRenderTarget.d.ts +2 -15
  29. package/dist/glRenderTarget.d.ts.map +1 -1
  30. package/dist/glRenderTarget.js +48 -57
  31. package/dist/glRenderTarget.js.map +1 -1
  32. package/dist/glRenderTargetPool.d.ts.map +1 -1
  33. package/dist/glRenderTargetPool.js +4 -0
  34. package/dist/glRenderTargetPool.js.map +1 -1
  35. package/dist/glSkinPaletteTexture.d.ts +5 -0
  36. package/dist/glSkinPaletteTexture.d.ts.map +1 -0
  37. package/dist/glSkinPaletteTexture.js +42 -0
  38. package/dist/glSkinPaletteTexture.js.map +1 -0
  39. package/dist/glTestHelper.d.ts.map +1 -1
  40. package/dist/glTestHelper.js +1 -0
  41. package/dist/glTestHelper.js.map +1 -1
  42. package/dist/glTextureUpload.d.ts +5 -0
  43. package/dist/glTextureUpload.d.ts.map +1 -0
  44. package/dist/glTextureUpload.js +27 -0
  45. package/dist/glTextureUpload.js.map +1 -0
  46. package/dist/glTextureVideoUpload.d.ts +3 -0
  47. package/dist/glTextureVideoUpload.d.ts.map +1 -0
  48. package/dist/glTextureVideoUpload.js +24 -0
  49. package/dist/glTextureVideoUpload.js.map +1 -0
  50. package/dist/index.d.ts +7 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +7 -0
  53. package/dist/index.js.map +1 -1
  54. package/package.json +5 -5
  55. package/src/glCompressedTexture.test.ts +276 -0
  56. package/src/glDraw.test.ts +319 -36
  57. package/src/glFullscreenPass.test.ts +22 -1
  58. package/src/glLinearToSrgbPass.test.ts +75 -0
  59. package/src/glPresentRenderTarget.test.ts +62 -0
  60. package/src/glReadback.test.ts +1 -0
  61. package/src/glRenderPass.test.ts +170 -0
  62. package/src/glRenderTarget.test.ts +63 -98
  63. package/src/glRenderTargetPool.test.ts +14 -0
  64. package/src/glSkinPaletteTexture.test.ts +129 -0
  65. package/src/glTextureUpload.test.ts +49 -0
  66. package/src/glTextureVideoUpload.test.ts +53 -0
@@ -1 +1 @@
1
- {"version":3,"file":"glDraw.js","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glDraw.js","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"glFullscreenPass.d.ts","sourceRoot":"","sources":["../src/glFullscreenPass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAmB1F,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAatF;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAkBlH;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACtC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,EACrC,WAAW,EAAE,CAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,IAAI,GACxF,IAAI,CAgCN"}
1
+ {"version":3,"file":"glFullscreenPass.d.ts","sourceRoot":"","sources":["../src/glFullscreenPass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAmB1F,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAatF;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAkBlH;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACtC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,EACrC,WAAW,EAAE,CAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,IAAI,GACxF,IAAI,CA+CN"}
@@ -75,14 +75,39 @@ export function drawGlFullscreenPass(state, program, inputs, dest, setUniforms)
75
75
  }
76
76
  gl.activeTexture(gl.TEXTURE0);
77
77
  runtime.currentTexture = null;
78
+ gl.blendEquation(gl.FUNC_ADD);
78
79
  gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
79
80
  runtime.currentBlendMode = null;
80
81
  setUniforms(gl, program);
81
82
  drawGlFullscreenQuad(state, program);
83
+ gl.blendEquation(gl.FUNC_ADD);
84
+ gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
85
+ runtime.currentBlendMode = null;
86
+ // Unbind the sampled inputs. A fullscreen pass frequently reads a render target's own texture and
87
+ // presents it; leaving that texture bound lets the NEXT draw that renders back into that target form
88
+ // a framebuffer/active-texture feedback loop (e.g. a 3D scene re-rendered into a reused present
89
+ // target whose material leaves this unit untouched). The pass owns the hazard, so it clears it.
90
+ for (let i = 0; i < inputs.length; i++) {
91
+ gl.activeTexture(gl.TEXTURE0 + i);
92
+ gl.bindTexture(gl.TEXTURE_2D, null);
93
+ }
94
+ gl.activeTexture(gl.TEXTURE0);
82
95
  }
83
96
  function drawGlFullscreenQuad(state, program) {
84
97
  const runtime = getGlRenderStateRuntime(state);
85
98
  const gl = state.gl;
99
+ // Bind a dedicated VAO before touching buffer/attribute state. Without it the quad's ARRAY_BUFFER,
100
+ // ELEMENT_ARRAY_BUFFER, and vertexAttribPointer writes land in whatever VAO happens to be bound —
101
+ // typically the last mesh VAO left bound by a 3D scene draw — silently corrupting that cached VAO
102
+ // (its index buffer becomes this 6-index quad buffer). The next frame redraws that mesh through its
103
+ // poisoned VAO and gl.drawElements reports "Insufficient buffer size". Isolating to our own VAO keeps
104
+ // fullscreen state from leaking into (or out of) any caller's VAO.
105
+ let quadVao = _quadVaos.get(state);
106
+ if (quadVao === undefined) {
107
+ quadVao = gl.createVertexArray();
108
+ _quadVaos.set(state, quadVao);
109
+ }
110
+ gl.bindVertexArray(quadVao);
86
111
  const v = runtime.quadVertexData;
87
112
  // x, y, u, v per corner — a clip-space quad with bottom-left-origin texcoords.
88
113
  v[0] = -1;
@@ -109,6 +134,13 @@ function drawGlFullscreenQuad(state, program) {
109
134
  gl.vertexAttribPointer(program.locPosition, 2, gl.FLOAT, false, 16, 0);
110
135
  gl.vertexAttribPointer(program.locTexCoord, 2, gl.FLOAT, false, 16, 8);
111
136
  gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0);
137
+ // Restore the default VAO so a later mesh draw that forgets to bind its own VAO cannot accidentally
138
+ // inherit the quad's attribute state, and so nothing observes our dedicated VAO as "current".
139
+ gl.bindVertexArray(null);
112
140
  runtime.shaderLoc = runtime.defaultBitmapShader.locations;
113
141
  }
142
+ // Per-state dedicated VAO for the fullscreen quad, kept off the render-state runtime type and freed
143
+ // with the state. Isolates the quad's buffer/attribute bindings so a fullscreen pass never mutates a
144
+ // caller's (e.g. a mesh's) currently-bound VAO. See drawGlFullscreenQuad.
145
+ const _quadVaos = new WeakMap();
114
146
  //# sourceMappingURL=glFullscreenPass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glFullscreenPass.js","sourceRoot":"","sources":["../src/glFullscreenPass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glFullscreenPass.js","sourceRoot":"","sources":["../src/glFullscreenPass.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { GlRenderState, GlRenderTarget } from '@flighthq/types';
2
+ export declare function drawGlLinearToSrgbPass(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget> | null): void;
3
+ export declare const LINEAR_TO_SRGB_FRAGMENT_SRC = "#version 300 es\nprecision highp float;\nin vec2 v_texCoord;\nuniform sampler2D u_texture0;\nout vec4 fragColor;\nvec3 linearToSrgb(vec3 c) {\n c = max(c, vec3(0.0));\n vec3 low = c * 12.92;\n vec3 high = 1.055 * pow(c, vec3(1.0 / 2.4)) - 0.055;\n return mix(low, high, step(vec3(0.0031308), c));\n}\nvoid main() {\n vec4 linear = texture(u_texture0, v_texCoord);\n fragColor = vec4(linearToSrgb(linear.rgb), linear.a);\n}";
4
+ //# sourceMappingURL=glLinearToSrgbPass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glLinearToSrgbPass.d.ts","sourceRoot":"","sources":["../src/glLinearToSrgbPass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAe1F,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,GACpC,IAAI,CAEN;AAgBD,eAAO,MAAM,2BAA2B,ibActC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { compileGlFullscreenProgram, drawGlFullscreenPass } from './glFullscreenPass';
2
+ // The linear->sRGB OETF present pass: encode a linear render-target texture into display sRGB as a
3
+ // fullscreen pass. scene-gl materials write linear HDR radiance into an rgba16f target and tonemap
4
+ // (when present) is a linear HDR->LDR step BEFORE this, so a caller who draws linear content must end
5
+ // with one encode or the canvas receives raw-linear (dark) pixels. presentGlScene ends the no-effects
6
+ // 3D path with exactly this pass. Keep this the single linear->sRGB seam for content that routes
7
+ // through it: encode once at present, never inside a per-material fragment shader.
8
+ //
9
+ // The transfer is the IEC 61966-2-1 sRGB OETF, matching linearChannelToSrgb in @flighthq/color
10
+ // channel-for-channel (12.92*c below 0.0031308, else 1.055*c^(1/2.4)-0.055). RGB is encoded; alpha is
11
+ // linear coverage and passes through unchanged. Inputs are clamped to >= 0 so a stray negative texel
12
+ // cannot feed pow() a NaN.
13
+ export function drawGlLinearToSrgbPass(state, source, dest) {
14
+ drawGlFullscreenPass(state, getGlLinearToSrgbProgram(state), [source.texture], dest, NOOP);
15
+ }
16
+ function getGlLinearToSrgbProgram(state) {
17
+ let program = _programs.get(state);
18
+ if (program === undefined) {
19
+ program = compileGlFullscreenProgram(state.gl, LINEAR_TO_SRGB_FRAGMENT_SRC);
20
+ _programs.set(state, program);
21
+ }
22
+ return program;
23
+ }
24
+ const NOOP = () => { };
25
+ // Per-state compiled OETF program, kept off the render-state runtime type and freed with the state.
26
+ const _programs = new WeakMap();
27
+ export const LINEAR_TO_SRGB_FRAGMENT_SRC = `#version 300 es
28
+ precision highp float;
29
+ in vec2 v_texCoord;
30
+ uniform sampler2D u_texture0;
31
+ out vec4 fragColor;
32
+ vec3 linearToSrgb(vec3 c) {
33
+ c = max(c, vec3(0.0));
34
+ vec3 low = c * 12.92;
35
+ vec3 high = 1.055 * pow(c, vec3(1.0 / 2.4)) - 0.055;
36
+ return mix(low, high, step(vec3(0.0031308), c));
37
+ }
38
+ void main() {
39
+ vec4 linear = texture(u_texture0, v_texCoord);
40
+ fragColor = vec4(linearToSrgb(linear.rgb), linear.a);
41
+ }`;
42
+ //# sourceMappingURL=glLinearToSrgbPass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glLinearToSrgbPass.js","sourceRoot":"","sources":["../src/glLinearToSrgbPass.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,mGAAmG;AACnG,mGAAmG;AACnG,sGAAsG;AACtG,sGAAsG;AACtG,iGAAiG;AACjG,mFAAmF;AACnF,EAAE;AACF,+FAA+F;AAC/F,sGAAsG;AACtG,qGAAqG;AACrG,2BAA2B;AAC3B,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,MAAgC,EAChC,IAAqC;IAErC,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAoB;IACpD,IAAI,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAC5E,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,IAAI,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAE5B,oGAAoG;AACpG,MAAM,SAAS,GAAG,IAAI,OAAO,EAAsC,CAAC;AAEpE,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;EAczC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GlRenderState, GlRenderTarget } from '@flighthq/types';
2
+ export declare function presentGlRenderTarget(state: GlRenderState, target: Readonly<GlRenderTarget>, dest?: Readonly<GlRenderTarget> | null): void;
3
+ //# sourceMappingURL=glPresentRenderTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glPresentRenderTarget.d.ts","sourceRoot":"","sources":["../src/glPresentRenderTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAW1F,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,GAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAW,GAC3C,IAAI,CAMN"}
@@ -0,0 +1,35 @@
1
+ import { compileGlFullscreenProgram, drawGlFullscreenPass } from './glFullscreenPass';
2
+ import { drawGlLinearToSrgbPass } from './glLinearToSrgbPass';
3
+ // Presents `target` onto `dest` (the canvas when null): the generic, subject-agnostic final step that
4
+ // puts a finished render target on screen. It reads the target's DECLARED color space — 'linear' content
5
+ // (3D scene radiance) gets the single sRGB OETF encode; 'srgb' content (2D, already encoded) is copied
6
+ // straight through. Present is a property of the target, not of the scene or the display object, so both
7
+ // paths share this one function — there is deliberately no presentGlScene / presentGlDisplayObject split.
8
+ // Assumes MSAA is already resolved (endGlRenderPass does that); present only encodes or copies.
9
+ export function presentGlRenderTarget(state, target, dest = null) {
10
+ if (target.colorSpace === 'linear') {
11
+ drawGlLinearToSrgbPass(state, target, dest);
12
+ return;
13
+ }
14
+ drawGlFullscreenPass(state, getGlCopyProgram(state), [target.texture], dest, NOOP);
15
+ }
16
+ function getGlCopyProgram(state) {
17
+ let program = _programs.get(state);
18
+ if (program === undefined) {
19
+ program = compileGlFullscreenProgram(state.gl, COPY_FRAGMENT_SRC);
20
+ _programs.set(state, program);
21
+ }
22
+ return program;
23
+ }
24
+ const NOOP = () => { };
25
+ // Per-state passthrough program for the 'srgb' present branch (already-encoded content, no transfer).
26
+ const _programs = new WeakMap();
27
+ const COPY_FRAGMENT_SRC = `#version 300 es
28
+ precision highp float;
29
+ in vec2 v_texCoord;
30
+ uniform sampler2D u_texture0;
31
+ out vec4 fragColor;
32
+ void main() {
33
+ fragColor = texture(u_texture0, v_texCoord);
34
+ }`;
35
+ //# sourceMappingURL=glPresentRenderTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glPresentRenderTarget.js","sourceRoot":"","sources":["../src/glPresentRenderTarget.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,sGAAsG;AACtG,yGAAyG;AACzG,uGAAuG;AACvG,yGAAyG;AACzG,0GAA0G;AAC1G,gGAAgG;AAChG,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,MAAgC,EAChC,OAAwC,IAAI;IAE5C,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,IAAI,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAClE,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,IAAI,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAE5B,sGAAsG;AACtG,MAAM,SAAS,GAAG,IAAI,OAAO,EAAsC,CAAC;AAEpE,MAAM,iBAAiB,GAAG;;;;;;;EAOxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { GlRenderState, GlRenderTarget, Matrix, RenderPassPreserve } from '@flighthq/types';
2
+ export declare function beginGlRenderPass(state: GlRenderState, target: GlRenderTarget, preserve?: Readonly<RenderPassPreserve>): void;
3
+ export declare function endGlRenderPass(state: GlRenderState): void;
4
+ export declare function setGlRenderTransform2D(state: GlRenderState, transform: Readonly<Matrix>): void;
5
+ //# sourceMappingURL=glRenderPass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glRenderPass.d.ts","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAkCjG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACtC,IAAI,CA0BN;AAOD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAmB1D;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAI9F"}
@@ -0,0 +1,130 @@
1
+ import { copyMatrix, createMatrix } from '@flighthq/geometry';
2
+ import { getGlRenderStateRuntime } from './glRenderState';
3
+ import { resolveGlRenderTarget } from './glRenderTarget';
4
+ // Begins a render pass into `target`: binds it (saving the previous binding for restore, so passes
5
+ // nest), then CLEARS every aspect by default. `preserve` spares aspects — the only per-use decision a
6
+ // pass makes; the clear VALUES are fixed on the target (GlRenderTarget.clearColors / clearDepth). Pair
7
+ // with endGlRenderPass. This is the clear/preserve model, not GL/Vulkan load ops: omit `preserve` and
8
+ // everything starts fresh; name what to keep.
9
+ //
10
+ // A render pass carries NO 2D transform — that is a display-object DRAW concern, not a pass concern, so
11
+ // a 3D pass (drawGlScene, which uses the camera) is unaffected. A 2D pass that needs a specific root
12
+ // device transform sets it explicitly with setGlRenderTransform2D after begin; the value is saved and
13
+ // restored by the begin/end bracket like the rest of the pass state.
14
+ //
15
+ // Single-attachment (the common no-effects scene / 2D-offscreen path):
16
+ // beginGlRenderPass(state, target) // clear color + depth
17
+ // drawGlScene(state, scene, camera, lights)
18
+ // endGlRenderPass(state, target) // restore binding + resolve MSAA
19
+ // presentGlRenderTarget(state, target) // colorSpace-aware encode to the canvas
20
+ //
21
+ // MRT / G-buffer (three color attachments, keep depth for a later lighting pass over the same target):
22
+ // beginGlRenderPass(state, gbuffer, { preserveColor: [false, false, false], preserveDepth: false })
23
+ // drawGlScene(state, scene, camera, lights) // fragment shader writes location 0,1,2
24
+ // endGlRenderPass(state, gbuffer)
25
+ // // ...lighting pass samples gbuffer.textures[0..2], preserving depth: { preserveDepth: true }
26
+ export function beginGlRenderPass(state, target, preserve) {
27
+ const runtime = getGlRenderStateRuntime(state);
28
+ const gl = state.gl;
29
+ let stack = _passStack.get(state);
30
+ if (stack === undefined) {
31
+ stack = [];
32
+ _passStack.set(state, stack);
33
+ }
34
+ stack.push({
35
+ framebuffer: runtime.currentFramebuffer,
36
+ renderTarget: runtime.currentRenderTarget ?? null,
37
+ renderTargetViewport: runtime.renderTargetViewport,
38
+ renderTransform2D: state.renderTransform2D,
39
+ });
40
+ gl.bindFramebuffer(gl.FRAMEBUFFER, target.framebuffer);
41
+ gl.viewport(0, 0, target.width, target.height);
42
+ runtime.currentFramebuffer = target.framebuffer;
43
+ runtime.currentRenderTarget = target;
44
+ runtime.renderTargetViewport = { width: target.width, height: target.height };
45
+ // Force rebind on next draw — the framebuffer switch invalidates GL state assumptions.
46
+ runtime.currentTexture = null;
47
+ runtime.currentBlendMode = null;
48
+ clearGlRenderPass(state, target, preserve);
49
+ }
50
+ // Ends the pass opened by beginGlRenderPass: restores the framebuffer binding, viewport, and 2D render
51
+ // transform saved at begin, then resolves MSAA on the target that was active (a store-side property of
52
+ // the pass). Afterward that target's textures hold the finished, single-sample result — ready for
53
+ // present, effects, or sampling. A call with no matching begin is a no-op. The target is read from the
54
+ // runtime rather than passed, so end mirrors endWgpuRenderPass / endCanvasRenderPass across backends.
55
+ export function endGlRenderPass(state) {
56
+ const runtime = getGlRenderStateRuntime(state);
57
+ const gl = state.gl;
58
+ const ended = runtime.currentRenderTarget ?? null;
59
+ const saved = _passStack.get(state)?.pop();
60
+ if (saved !== undefined) {
61
+ gl.bindFramebuffer(gl.FRAMEBUFFER, saved.framebuffer);
62
+ const viewport = saved.renderTargetViewport ?? state.canvas;
63
+ gl.viewport(0, 0, viewport.width, viewport.height);
64
+ runtime.currentFramebuffer = saved.framebuffer;
65
+ runtime.currentRenderTarget = saved.renderTarget;
66
+ runtime.renderTargetViewport = saved.renderTargetViewport;
67
+ state.renderTransform2D = saved.renderTransform2D;
68
+ runtime.currentTexture = null;
69
+ runtime.currentBlendMode = null;
70
+ }
71
+ if (ended !== null)
72
+ resolveGlRenderTarget(state, ended);
73
+ }
74
+ // Sets the 2D root device transform the display-object update pass (prepareDisplayObjectRender) reads to
75
+ // place nodes with no scene parent. Call after beginGlRenderPass when a 2D pass renders into a target
76
+ // with its own coordinate system (the render cache); the value is restored by the matching
77
+ // endGlRenderPass. A fresh matrix is allocated rather than mutating in place, because the begin/end
78
+ // bracket saved the previous reference and restores it — mutating the shared object would corrupt that.
79
+ export function setGlRenderTransform2D(state, transform) {
80
+ const next = createMatrix();
81
+ copyMatrix(next, transform);
82
+ state.renderTransform2D = next;
83
+ }
84
+ // Clears the bound target's aspects that `preserve` does not spare. Uses per-attachment clearBufferfv so
85
+ // each color attachment can carry its own clear value (the G-buffer case) and preserved attachments are
86
+ // skipped individually — the plain single-attachment case is just the one-iteration loop.
87
+ function clearGlRenderPass(state, target, preserve) {
88
+ const gl = state.gl;
89
+ const preserveColor = preserve?.preserveColor ?? false;
90
+ for (let i = 0; i < target.textures.length; i++) {
91
+ if (isGlColorAttachmentPreserved(preserveColor, i))
92
+ continue;
93
+ resolveGlClearColor(state, target, i, _clearRgba);
94
+ gl.clearBufferfv(gl.COLOR, i, _clearRgba);
95
+ }
96
+ const hasDepth = target.depthStencilRenderbuffer !== null || target.depthTexture !== null;
97
+ if (hasDepth && preserve?.preserveDepth !== true) {
98
+ // depthMask must be enabled or the depth clear is silently dropped.
99
+ gl.depthMask(true);
100
+ gl.clearBufferfi(gl.DEPTH_STENCIL, 0, target.clearDepth, 0);
101
+ }
102
+ getGlRenderStateRuntime(state).currentBlendMode = null;
103
+ }
104
+ function isGlColorAttachmentPreserved(preserve, index) {
105
+ if (typeof preserve === 'boolean')
106
+ return preserve;
107
+ // Per-location; a missing or short entry defaults to clear (false), consistent with default-clear.
108
+ return preserve[index] === true;
109
+ }
110
+ // Writes attachment `index`'s clear color into `out` as linear 0..1 RGBA. The target's packed-RGBA
111
+ // clearColors win when present; otherwise the render state's background color is the fallback.
112
+ function resolveGlClearColor(state, target, index, out) {
113
+ const packed = target.clearColors[index];
114
+ if (packed !== undefined) {
115
+ out[0] = ((packed >>> 24) & 0xff) / 255;
116
+ out[1] = ((packed >>> 16) & 0xff) / 255;
117
+ out[2] = ((packed >>> 8) & 0xff) / 255;
118
+ out[3] = (packed & 0xff) / 255;
119
+ return;
120
+ }
121
+ const bg = state.backgroundColorRgba;
122
+ out[0] = bg[0] ?? 0;
123
+ out[1] = bg[1] ?? 0;
124
+ out[2] = bg[2] ?? 0;
125
+ out[3] = bg.length >= 4 ? bg[3] : 0;
126
+ }
127
+ // The pass bracket's save/restore stack, keyed off the render state so nested passes restore in order.
128
+ const _passStack = new WeakMap();
129
+ const _clearRgba = new Float32Array(4);
130
+ //# sourceMappingURL=glRenderPass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glRenderPass.js","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { GlRenderOptions, GlRenderState, GlRenderStateRuntime } from '@flighthq/types';
2
- export declare function createGlRenderState(canvas: HTMLCanvasElement, options?: Partial<GlRenderOptions>): GlRenderState;
2
+ export declare function createGlRenderState(canvas: HTMLCanvasElement, options?: GlRenderOptions): GlRenderState;
3
3
  export declare function createGlRenderStateRuntime(): GlRenderStateRuntime;
4
4
  export declare function destroyGlRenderState(state: GlRenderState): void;
5
5
  export declare function getGlRenderStateRuntime(state: GlRenderState): GlRenderStateRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderState.d.ts","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAK5F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,aAAa,CA4EpH;AAMD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAsB/D;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAElF;AAcD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE"}
1
+ {"version":3,"file":"glRenderState.d.ts","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAK5F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,CA6E3G;AAMD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAsB/D;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAElF;AAcD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE"}
@@ -60,6 +60,7 @@ export function createGlRenderState(canvas, options = {}) {
60
60
  // Color-adjustment fold state (mode/data/buffer + the compiled programs) is not allocated here: it
61
61
  // is owned by the opt-in enableGlColorAdjustment, so a state that never tints carries none of it.
62
62
  runtime.textureCache = new WeakMap();
63
+ runtime.imageResourceTextureCache = new WeakMap();
63
64
  runtime.quadVertexBuffer = quadVertexBuffer;
64
65
  runtime.quadIndexBuffer = quadIndexBuffer;
65
66
  runtime.quadVertexData = new Float32Array(16);
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderState.js","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glRenderState.js","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,11 @@
1
- import type { GlRenderState, GlRenderTarget, Matrix, RenderProxy2D, RenderTargetDescriptor } from '@flighthq/types';
2
- /**
3
- * Redirects subsequent Gl rendering into `target`'s framebuffer. Saves the current framebuffer
4
- * binding, renderTargetViewport, and renderTransform2D so they can be fully restored by
5
- * `endGlRenderTarget`. Supports nesting.
6
- *
7
- * The caller must set the desired `renderTransform` (via this function) before rendering into the
8
- * target to ensure the render tree's transform2D values are correct.
9
- */
10
- export declare function beginGlRenderTarget(state: GlRenderState, target: GlRenderTarget, renderTransform: Readonly<Matrix>): void;
1
+ import type { GlRenderState, GlRenderTarget, Matrix, RenderProxy2D, RenderTargetColorSpace, RenderTargetDescriptor } from '@flighthq/types';
11
2
  /**
12
3
  * Allocates a render target realizing `descriptor`'s axes (format, MSAA sampleCount, MRT
13
4
  * colorAttachments, depth). The framebuffer is bound during creation but the previous binding is
14
5
  * restored before returning.
15
6
  */
16
7
  export declare function createGlRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>): GlRenderTarget;
8
+ export declare function declareGlRenderTargetColorSpace(state: GlRenderState, colorSpace: RenderTargetColorSpace): boolean;
17
9
  /** Deletes the GL resources owned by `target`. The target object must not be used after this call. */
18
10
  export declare function destroyGlRenderTarget(state: GlRenderState, target: GlRenderTarget): void;
19
11
  /**
@@ -25,11 +17,6 @@ export declare function destroyGlRenderTarget(state: GlRenderState, target: GlRe
25
17
  * flipped (`v0=1, v1=0`) so the result composites upright.
26
18
  */
27
19
  export declare function drawGlRenderTargetResult(state: GlRenderState, renderProxy: RenderProxy2D, target: Readonly<GlRenderTarget>, transform: Readonly<Matrix>): void;
28
- /**
29
- * Restores the framebuffer, viewport, renderTargetViewport, and renderTransform2D saved by the
30
- * matching `beginGlRenderTarget` call.
31
- */
32
- export declare function endGlRenderTarget(state: GlRenderState): void;
33
20
  /** Reallocates the storage backing `target` to the new pixel dimensions, preserving its axes. */
34
21
  export declare function resizeGlRenderTarget(state: GlRenderState, target: GlRenderTarget, width: number, height: number): void;
35
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderTarget.d.ts","sourceRoot":"","sources":["../src/glRenderTarget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,EACb,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAYzB;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,GAChC,IAAI,CA4BN;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,cAAc,CAgChB;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAQxF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,aAAa,EAC1B,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,IAAI,CAoBN;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAgB5D;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CA8BxF"}
1
+ {"version":3,"file":"glRenderTarget.d.ts","sourceRoot":"","sources":["../src/glRenderTarget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAMzB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,cAAc,CAuChB;AAOD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAKjH;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAQxF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,aAAa,EAC1B,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,IAAI,CAoBN;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAkCN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CA8BxF"}