@flighthq/render-gl 0.5.1-next.1069.554a2ac → 0.5.1-next.1201.9b49dee

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 (82) hide show
  1. package/README.md +2 -2
  2. package/dist/contract.d.ts +1 -3
  3. package/dist/contract.d.ts.map +1 -1
  4. package/dist/contract.js +1 -3
  5. package/dist/contract.js.map +1 -1
  6. package/dist/enableGlRenderStateGuards.js +2 -2
  7. package/dist/enableGlRenderStateGuards.js.map +1 -1
  8. package/dist/glCubeRenderTarget.d.ts +5 -5
  9. package/dist/glCubeRenderTarget.d.ts.map +1 -1
  10. package/dist/glCubeRenderTarget.js +16 -13
  11. package/dist/glCubeRenderTarget.js.map +1 -1
  12. package/dist/glFullscreenPass.d.ts +4 -3
  13. package/dist/glFullscreenPass.d.ts.map +1 -1
  14. package/dist/glFullscreenPass.js +152 -23
  15. package/dist/glFullscreenPass.js.map +1 -1
  16. package/dist/glLinearToSrgbPass.d.ts +2 -2
  17. package/dist/glLinearToSrgbPass.d.ts.map +1 -1
  18. package/dist/glLinearToSrgbPass.js.map +1 -1
  19. package/dist/glPresentRenderTarget.d.ts +2 -2
  20. package/dist/glPresentRenderTarget.d.ts.map +1 -1
  21. package/dist/glPresentRenderTarget.js.map +1 -1
  22. package/dist/glReadback.d.ts +2 -2
  23. package/dist/glReadback.d.ts.map +1 -1
  24. package/dist/glReadback.js +1 -1
  25. package/dist/glReadback.js.map +1 -1
  26. package/dist/glRenderPass.d.ts +6 -3
  27. package/dist/glRenderPass.d.ts.map +1 -1
  28. package/dist/glRenderPass.js +105 -86
  29. package/dist/glRenderPass.js.map +1 -1
  30. package/dist/glRenderState.d.ts +1 -2
  31. package/dist/glRenderState.d.ts.map +1 -1
  32. package/dist/glRenderState.js +53 -46
  33. package/dist/glRenderState.js.map +1 -1
  34. package/dist/glRenderTarget.d.ts +17 -16
  35. package/dist/glRenderTarget.d.ts.map +1 -1
  36. package/dist/glRenderTarget.js +38 -26
  37. package/dist/glRenderTarget.js.map +1 -1
  38. package/dist/glRenderTargetPool.d.ts +9 -9
  39. package/dist/glRenderTargetPool.d.ts.map +1 -1
  40. package/dist/glRenderTargetPool.js +10 -12
  41. package/dist/glRenderTargetPool.js.map +1 -1
  42. package/dist/glRenderTexture.d.ts +2 -2
  43. package/dist/glRenderTexture.d.ts.map +1 -1
  44. package/dist/glRenderTexture.js +11 -13
  45. package/dist/glRenderTexture.js.map +1 -1
  46. package/dist/glRenderTexturePool.js +3 -5
  47. package/dist/glRenderTexturePool.js.map +1 -1
  48. package/dist/glSkinPaletteTexture.js +8 -2
  49. package/dist/glSkinPaletteTexture.js.map +1 -1
  50. package/dist/glTestHelper.d.ts +0 -1
  51. package/dist/glTestHelper.d.ts.map +1 -1
  52. package/dist/glTestHelper.js +0 -1
  53. package/dist/glTestHelper.js.map +1 -1
  54. package/dist/index.d.ts +1 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/package.json +11 -11
  59. package/src/enableGlRenderStateGuards.test.ts +2 -4
  60. package/src/glContext.test.ts +3 -52
  61. package/src/glCubeRenderTarget.test.ts +10 -8
  62. package/src/glDraw.test.ts +4 -16
  63. package/src/glFullscreenPass.test.ts +145 -41
  64. package/src/glLinearToSrgbPass.test.ts +8 -5
  65. package/src/glPresentRenderTarget.test.ts +3 -5
  66. package/src/glReadback.test.ts +3 -3
  67. package/src/glRenderPass.test.ts +228 -55
  68. package/src/glRenderState.test.ts +106 -165
  69. package/src/glRenderTarget.test.ts +134 -99
  70. package/src/glRenderTargetPool.test.ts +69 -76
  71. package/src/glRenderTexture.test.ts +58 -31
  72. package/src/glSkinPaletteTexture.test.ts +9 -0
  73. package/src/glTextureResolver.test.ts +5 -1
  74. package/dist/glBackground.d.ts +0 -3
  75. package/dist/glBackground.d.ts.map +0 -1
  76. package/dist/glBackground.js +0 -19
  77. package/dist/glBackground.js.map +0 -1
  78. package/dist/glContext.d.ts +0 -3
  79. package/dist/glContext.d.ts.map +0 -1
  80. package/dist/glContext.js +0 -16
  81. package/dist/glContext.js.map +0 -1
  82. package/src/glBackground.test.ts +0 -68
@@ -1,5 +1,8 @@
1
- import type { GlRenderState, GlRenderTarget, Matrix, RenderPassPreserve, Viewport } from '@flighthq/types/contract';
2
- export declare function beginGlRenderPass(state: GlRenderState, target: GlRenderTarget, preserve?: Readonly<RenderPassPreserve>, viewport?: Readonly<Viewport>): void;
3
- export declare function endGlRenderPass(state: GlRenderState): void;
1
+ import type { GlContext, GlRenderPass, GlRenderState, GlRenderTarget, Matrix, RenderTargetClear, Viewport } from '@flighthq/types/contract';
2
+ export declare function acquireGlRenderPassHandle(gl: GlContext, state: GlRenderState, target: GlRenderTarget): GlRenderPass;
3
+ export declare function beginGlRenderPass(state: GlRenderState, target: GlRenderTarget, clear?: Readonly<RenderTargetClear>, viewport?: Readonly<Viewport>): GlRenderPass;
4
+ export declare function endGlRenderPass(pass: GlRenderPass): void;
5
+ export declare function getGlCurrentRenderPass(state: GlRenderState): GlRenderPass | null;
6
+ export declare function releaseGlRenderPassHandle(gl: GlContext, handle: GlRenderPass): void;
4
7
  export declare function setGlRenderTransform2D(state: GlRenderState, transform: Readonly<Matrix>): void;
5
8
  //# sourceMappingURL=glRenderPass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderPass.d.ts","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,aAAa,EACb,cAAc,EAGd,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAkElC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC5B,IAAI,CA2DN;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAqC1D;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAY9F"}
1
+ {"version":3,"file":"glRenderPass.d.ts","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,cAAc,EAId,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAmClC,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY,CAcnH;AAyBD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,KAAK,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC5B,YAAY,CA+Dd;AAQD,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAyCxD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CAEhF;AA4JD,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAOnF;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAY9F"}
@@ -1,12 +1,25 @@
1
- import { srgbChannelToLinear } from '@flighthq/color/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { copyMatrix, createMatrix } from '@flighthq/geometry/contract';
3
3
  import { getGlRenderStateRuntime } from './glRenderState';
4
- import { resolveGlRenderTarget } from './glRenderTarget';
4
+ import { resolveGlTextureRenderTarget } from './glRenderTarget';
5
+ export function acquireGlRenderPassHandle(gl, state, target) {
6
+ let pool = _passHandlePool.get(gl);
7
+ if (pool !== undefined && pool.length > 0) {
8
+ const handle = pool.pop();
9
+ handle.gl = gl;
10
+ handle.state = state;
11
+ handle.target = target;
12
+ return handle;
13
+ }
14
+ const handle = allocateEntity();
15
+ handle.gl = gl;
16
+ handle.state = state;
17
+ handle.target = target;
18
+ return finishEntity(handle);
19
+ }
5
20
  // Begins a render pass into `target`: binds it (saving the previous binding for restore, so passes
6
- // nest), then CLEARS every aspect by default. `preserve` spares aspects — the only per-use decision a
7
- // pass makes; the clear VALUES are fixed on the target (GlRenderTarget.clearColors / clearDepth). Pair
8
- // with endGlRenderPass. This is the clear/preserve model, not GL/Vulkan load ops: omit `preserve` and
9
- // everything starts fresh; name what to keep.
21
+ // nest). Aspects named in `clear` are overwritten to the given values; omitted aspects are preserved.
22
+ // Pair with endGlRenderPass.
10
23
  //
11
24
  // `viewport` is a device-pixel, top-left-origin region of `target`. It is intersected with target
12
25
  // storage, realized as both viewport and scissor, and therefore constrains drawing plus color/depth
@@ -18,22 +31,16 @@ import { resolveGlRenderTarget } from './glRenderTarget';
18
31
  // restored by the begin/end bracket like the rest of the pass state.
19
32
  //
20
33
  // Single-attachment (the common no-effects scene / 2D-offscreen path):
21
- // beginGlRenderPass(state, target) // clear color + depth
22
- // drawGlScene3D(state, scene, camera, lights)
23
- // endGlRenderPass(state) // restore binding + resolve MSAA
24
- // presentGlRenderTarget(state, target) // colorSpace-aware encode to the canvas
25
- //
26
- // MRT / G-buffer (three color attachments, keep depth for a later lighting pass over the same target):
27
- // beginGlRenderPass(state, gbuffer, { preserveColor: [false, false, false], preserveDepth: false })
28
- // drawGlScene3D(state, scene, camera, lights) // fragment shader writes location 0,1,2
29
- // endGlRenderPass(state)
30
- // // ...lighting pass samples gbuffer.textures[0..2], preserving depth: { preserveDepth: true }
34
+ // const pass = beginGlRenderPass(state, target, { color: [0, 0, 0, 0], depth: 1.0 })
35
+ // drawGlScene3D(pass, scene, camera, lights)
36
+ // endGlRenderPass(pass)
37
+ // presentGlRenderTarget(state, target)
31
38
  //
32
39
  // Partial target (clear only the sub-region, then restore the exact enclosing viewport/scissor):
33
- // beginGlRenderPass(state, target, undefined, viewport)
34
- // drawGlScene3D(state, scene, camera, lights)
35
- // endGlRenderPass(state)
36
- export function beginGlRenderPass(state, target, preserve, viewport) {
40
+ // const pass = beginGlRenderPass(state, target, { color: [0, 0, 0, 0] }, viewport)
41
+ // drawGlScene3D(pass, scene, camera, lights)
42
+ // endGlRenderPass(pass)
43
+ export function beginGlRenderPass(state, target, clear, viewport) {
37
44
  const gl = state.gl;
38
45
  let stack = _passStack.get(gl);
39
46
  // One WebGL context has one live framebuffer/stencil/scissor state even when several higher-level
@@ -87,7 +94,10 @@ export function beginGlRenderPass(state, target, preserve, viewport) {
87
94
  invalidateGlPassBindingCache(runtime);
88
95
  if (previousOwner !== state)
89
96
  invalidateGlPassBindingCache(previousRuntime);
90
- clearGlRenderPass(state, target, preserve);
97
+ clearGlRenderPass(state, target, clear);
98
+ const pass = acquireGlRenderPassHandle(gl, state, target);
99
+ runtime.currentPass = pass;
100
+ return pass;
91
101
  }
92
102
  // Ends the pass opened by beginGlRenderPass: restores the framebuffer binding, exact viewport/scissor,
93
103
  // clip stack, and 2D render transform saved at begin, then resolves MSAA on the target that was active
@@ -95,7 +105,8 @@ export function beginGlRenderPass(state, target, preserve, viewport) {
95
105
  // single-sample result — ready for present, effects, or sampling. A call with no matching begin throws:
96
106
  // an unbalanced pass is a programmer error, and silently accepting it hides a leaked prior pass. The
97
107
  // target is read from runtime rather than passed, so end mirrors the other backend brackets.
98
- export function endGlRenderPass(state) {
108
+ export function endGlRenderPass(pass) {
109
+ const state = pass.state;
99
110
  const gl = state.gl;
100
111
  const stack = _passStack.get(gl);
101
112
  if (stack === undefined) {
@@ -108,9 +119,9 @@ export function endGlRenderPass(state) {
108
119
  stack.pop();
109
120
  if (stack.length === 0)
110
121
  _passStack.delete(gl);
122
+ releaseGlRenderPassHandle(gl, pass);
111
123
  const runtime = getGlRenderStateRuntime(state);
112
- // This bracket installs only GlRenderTarget; a restored outer target may be a cube target, but the
113
- // target being ended here is always the 2D/MSAA target beginGlRenderPass installed.
124
+ runtime.currentPass = null;
114
125
  const ended = runtime.currentRenderTarget;
115
126
  restoreGlPassState(state, saved.ownerState);
116
127
  gl.bindFramebuffer(gl.FRAMEBUFFER, saved.previousState.framebuffer);
@@ -123,76 +134,54 @@ export function endGlRenderPass(state) {
123
134
  if (saved.previousOwner !== state) {
124
135
  invalidateGlPassBindingCache(getGlRenderStateRuntime(saved.previousOwner));
125
136
  }
126
- if (ended !== null)
127
- resolveGlRenderTarget(saved.previousOwner, ended);
128
- }
129
- // Sets the 2D root device transform the display-object update pass (prepareScene2DRender) reads to
130
- // place nodes with no scene parent. Call after beginGlRenderPass when a 2D pass renders into a target
131
- // with its own coordinate system (the render cache); the value is restored by the matching
132
- // endGlRenderPass. A fresh matrix is allocated rather than mutating in place, because the begin/end
133
- // bracket saved the previous reference and restores it — mutating the shared object would corrupt that.
134
- export function setGlRenderTransform2D(state, transform) {
135
- const next = createMatrix();
136
- copyMatrix(next, transform);
137
- state.renderTransform2D = next;
138
- // The root device transform is an input to every prepared proxy transform, but it is state policy,
139
- // not a node revision. Mark the state-local proxies stale so a repeated offscreen capture with new
140
- // bounds/padding cannot reuse transforms prepared for the previous target dimensions.
141
- const runtime = getGlRenderStateRuntime(state);
142
- for (const source of runtime.renderProxySources) {
143
- const proxy = runtime.renderProxyMap.get(source);
144
- if (proxy !== undefined)
145
- proxy.lastLocalTransformId = -1;
137
+ // Screen targets (framebuffer === null) have no MSAA storage to resolve.
138
+ if (ended != null && ended.framebuffer !== null) {
139
+ resolveGlTextureRenderTarget(saved.previousOwner, ended);
146
140
  }
147
141
  }
148
- // Clears the bound target's aspects that `preserve` does not spare. Uses per-attachment clearBufferfv so
149
- // each color attachment can carry its own clear value (the G-buffer case) and preserved attachments are
150
- // skipped individually — the plain single-attachment case is just the one-iteration loop.
151
- function clearGlRenderPass(state, target, preserve) {
142
+ export function getGlCurrentRenderPass(state) {
143
+ return getGlRenderStateRuntime(state).currentPass;
144
+ }
145
+ function clearGlRenderPass(state, target, clear) {
146
+ if (clear === undefined)
147
+ return;
152
148
  const gl = state.gl;
153
- const preserveColor = preserve?.preserveColor ?? false;
154
- for (let i = 0; i < target.textures.length; i++) {
155
- if (isGlColorAttachmentPreserved(preserveColor, i))
156
- continue;
157
- resolveGlClearColor(state, target, i, _clearRgba);
158
- gl.clearBufferfv(gl.COLOR, i, _clearRgba);
149
+ const { color, colors, depth, stencil } = clear;
150
+ if (colors !== undefined) {
151
+ for (let i = 0; i < colors.length; i++) {
152
+ const rgba = colors[i];
153
+ if (rgba === undefined)
154
+ continue;
155
+ _clearRgba[0] = rgba[0];
156
+ _clearRgba[1] = rgba[1];
157
+ _clearRgba[2] = rgba[2];
158
+ _clearRgba[3] = rgba[3];
159
+ gl.clearBufferfv(gl.COLOR, i, _clearRgba);
160
+ }
159
161
  }
160
- const hasDepth = target.depthStencilRenderbuffer !== null || target.depthTexture !== null;
161
- if (hasDepth && preserve?.preserveDepth !== true) {
162
- // depthMask must be enabled or the depth clear is silently dropped.
163
- gl.depthMask(true);
164
- gl.clearBufferfi(gl.DEPTH_STENCIL, 0, target.clearDepth, 0);
162
+ else if (color !== undefined) {
163
+ _clearRgba[0] = color[0];
164
+ _clearRgba[1] = color[1];
165
+ _clearRgba[2] = color[2];
166
+ _clearRgba[3] = color[3];
167
+ for (let i = 0; i < target.colorAttachments; i++) {
168
+ gl.clearBufferfv(gl.COLOR, i, _clearRgba);
169
+ }
165
170
  }
166
- getGlRenderStateRuntime(state).context.currentBlendSignature = null;
167
- }
168
- function isGlColorAttachmentPreserved(preserve, index) {
169
- if (typeof preserve === 'boolean')
170
- return preserve;
171
- // Per-location; a missing or short entry defaults to clear (false), consistent with default-clear.
172
- return preserve[index] === true;
173
- }
174
- // Writes attachment `index`'s clear color into `out` as linear 0..1 RGBA. The target's packed-RGBA
175
- // clearColors win when present; otherwise the render state's background color is the fallback.
176
- function resolveGlClearColor(state, target, index, out) {
177
- const packed = target.clearColors[index];
178
- if (packed !== undefined) {
179
- out[0] = ((packed >>> 24) & 0xff) / 255;
180
- out[1] = ((packed >>> 16) & 0xff) / 255;
181
- out[2] = ((packed >>> 8) & 0xff) / 255;
182
- out[3] = (packed & 0xff) / 255;
171
+ if (depth !== undefined && stencil !== undefined) {
172
+ gl.depthMask(true);
173
+ gl.clearBufferfi(gl.DEPTH_STENCIL, 0, depth, stencil);
183
174
  }
184
- else {
185
- const bg = state.backgroundColorRgba;
186
- out[0] = bg[0] ?? 0;
187
- out[1] = bg[1] ?? 0;
188
- out[2] = bg[2] ?? 0;
189
- out[3] = bg.length >= 4 ? bg[3] : 0;
175
+ else if (depth !== undefined) {
176
+ gl.depthMask(true);
177
+ _clearDepth[0] = depth;
178
+ gl.clearBufferfv(gl.DEPTH, 0, _clearDepth);
190
179
  }
191
- if (target.colorSpace === 'linear') {
192
- out[0] = srgbChannelToLinear(out[0]);
193
- out[1] = srgbChannelToLinear(out[1]);
194
- out[2] = srgbChannelToLinear(out[2]);
180
+ else if (stencil !== undefined) {
181
+ _clearStencil[0] = stencil;
182
+ gl.clearBufferiv(gl.STENCIL, 0, _clearStencil);
195
183
  }
184
+ getGlRenderStateRuntime(state).context.currentBlendSignature = null;
196
185
  }
197
186
  function captureGlPassState(state) {
198
187
  const runtime = getGlRenderStateRuntime(state);
@@ -291,8 +280,38 @@ function resolveGlPassViewport(target, viewport) {
291
280
  function clampGlPassEdge(value, extent) {
292
281
  return Math.min(extent, Math.max(0, value));
293
282
  }
283
+ export function releaseGlRenderPassHandle(gl, handle) {
284
+ let pool = _passHandlePool.get(gl);
285
+ if (pool === undefined) {
286
+ pool = [];
287
+ _passHandlePool.set(gl, pool);
288
+ }
289
+ pool.push(handle);
290
+ }
291
+ // Sets the 2D root device transform the display-object update pass (prepareScene2DRender) reads to
292
+ // place nodes with no scene parent. Call after beginGlRenderPass when a 2D pass renders into a target
293
+ // with its own coordinate system (the render cache); the value is restored by the matching
294
+ // endGlRenderPass. A fresh matrix is allocated rather than mutating in place, because the begin/end
295
+ // bracket saved the previous reference and restores it — mutating the shared object would corrupt that.
296
+ export function setGlRenderTransform2D(state, transform) {
297
+ const next = createMatrix();
298
+ copyMatrix(next, transform);
299
+ state.renderTransform2D = next;
300
+ // The root device transform is an input to every prepared proxy transform, but it is state policy,
301
+ // not a node revision. Mark the state-local proxies stale so a repeated offscreen capture with new
302
+ // bounds/padding cannot reuse transforms prepared for the previous target dimensions.
303
+ const runtime = getGlRenderStateRuntime(state);
304
+ for (const source of runtime.renderProxySources) {
305
+ const proxy = runtime.renderProxyMap.get(source);
306
+ if (proxy !== undefined)
307
+ proxy.lastLocalTransformId = -1;
308
+ }
309
+ }
294
310
  // A WebGL context has exactly one framebuffer binding and one live stencil gate. Keying the pass
295
311
  // bracket by that physical owner keeps cache GlRenderStates sharing a context in the same LIFO scope.
296
312
  const _passStack = new WeakMap();
313
+ const _passHandlePool = new WeakMap();
314
+ const _clearDepth = new Float32Array(1);
297
315
  const _clearRgba = new Float32Array(4);
316
+ const _clearStencil = new Int32Array(1);
298
317
  //# sourceMappingURL=glRenderPass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderPass.js","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glRenderPass.js","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { GlColorAdjustmentMaterialFeature, GlColorAdjustmentMaterialFeatureGuard, GlContext, GlContextRuntime, GlContextState, GlPipeline, GlRenderOptions, GlRenderState, GlRenderStateRuntime, EntityConstruction } from '@flighthq/types/contract';
2
2
  export declare function createGlContextState(gl: GlContext): GlContextState;
3
- export declare function createGlOffscreenRenderState(contextState: Readonly<GlContextState>, pipeline: Readonly<GlPipeline>, options?: GlRenderOptions): GlRenderState;
4
- export declare function createGlRenderState(contextState: Readonly<GlContextState>, pipeline: Readonly<GlPipeline>, options?: GlRenderOptions): GlRenderState;
3
+ export declare function createGlRenderState(gl: GlContext, pipeline: Readonly<GlPipeline>, options?: GlRenderOptions): GlRenderState;
5
4
  export declare function createGlRenderStateRuntime(contextState: Readonly<GlContextState>, pipeline: Readonly<GlPipeline>): GlRenderStateRuntime;
6
5
  export declare function destroyGlRenderState(state: GlRenderState): void;
7
6
  export declare function getGlColorAdjustmentMaterialFeature(state: GlRenderState): Readonly<GlColorAdjustmentMaterialFeature> | null;
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderState.d.ts","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,gCAAgC,EAChC,qCAAqC,EACrC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,SAAS,GAAG,cAAc,CAIlE;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,EACtC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC9B,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAEf;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,EACtC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC9B,OAAO,GAAE,eAAoB,GAC5B,aAAa,CA8Cf;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,EACtC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC7B,oBAAoB,CAStB;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CA4C/D;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,aAAa,GACnB,QAAQ,CAAC,gCAAgC,CAAC,GAAG,IAAI,CAGnD;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,aAAa,GACnB,qCAAqC,GAAG,IAAI,CAG9C;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAE5F;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAElF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CA6BvG;AAcD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE;AAED,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,EACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,GAChC,IAAI,CAEN;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAElH"}
1
+ {"version":3,"file":"glRenderState.d.ts","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gCAAgC,EAChC,qCAAqC,EACrC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,SAAS,GAAG,cAAc,CAMlE;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC9B,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAOf;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,EACtC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC7B,oBAAoB,CAUtB;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CA4C/D;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,aAAa,GACnB,QAAQ,CAAC,gCAAgC,CAAC,GAAG,IAAI,CAGnD;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,aAAa,GACnB,qCAAqC,GAAG,IAAI,CAG9C;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAE5F;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAElF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CA6BvG;AAcD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE;AAED,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,EACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,GAChC,IAAI,CAEN;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAElH"}
@@ -1,61 +1,27 @@
1
1
  import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { createMatrix } from '@flighthq/geometry/contract';
3
- import { createRenderState as _createRenderState, createRenderStateRuntime, destroyRenderState, setRenderStateBackgroundColor, } from '@flighthq/render/contract';
3
+ import { createRenderState as _createRenderState, createRenderStateRuntime, destroyRenderState, } from '@flighthq/render/contract';
4
4
  import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
5
5
  export function createGlContextState(gl) {
6
6
  const state = allocateEntity();
7
7
  initializeGlContextState(state, gl);
8
- return finishEntity(state);
9
- }
10
- export function createGlOffscreenRenderState(contextState, pipeline, options = {}) {
11
- return createGlRenderState(contextState, pipeline, options);
8
+ const result = finishEntity(state);
9
+ _contextStateByGl.set(gl, result);
10
+ return result;
12
11
  }
13
- export function createGlRenderState(contextState, pipeline, options = {}) {
14
- const gl = contextState.gl;
15
- const state = _createRenderState({
16
- allowSmoothing: options.imageSmoothingEnabled ?? options.allowSmoothing ?? true,
17
- pixelRatio: options.pixelRatio ?? 1,
18
- raster2DSurfaceProvider: options.raster2DSurfaceProvider ?? null,
19
- renderTransform2D: createMatrix(),
20
- roundPixels: options.roundPixels ?? false,
21
- sceneGraphSyncPolicy: options.sceneGraphSyncPolicy,
22
- });
23
- state.applyBlendMode = null;
24
- Object.assign(state, { contextState, gl, pipeline });
25
- if (options.backgroundColor != null)
26
- setRenderStateBackgroundColor(state, options.backgroundColor);
27
- const runtime = createGlRenderStateRuntime(contextState, pipeline);
28
- state[EntityRuntimeKey] = runtime;
29
- runtime.currentFramebuffer = null;
30
- runtime.currentMaskDepth = 0;
31
- runtime.currentScissorRect = null;
32
- runtime.flushPendingDraws = null;
33
- runtime.renderTargetViewport = null;
34
- runtime.defaultBitmapShader = null;
35
- runtime.quadBatchWriterBlendMode = null;
36
- runtime.quadBatchWriterMaterial = null;
37
- runtime.quadBatchWriterMaterialRenderer = null;
38
- runtime.quadBatchWriterMaterialFloats = 0;
39
- runtime.quadBatchWriterMaterialData = new Float32Array(8 * 256);
40
- runtime.quadBatchWriterCount = 0;
41
- runtime.quadBatchWriterInstanceData = new Float32Array(13 * 256);
42
- runtime.quadBatchWriterTexture = null;
43
- runtime.quadBatchWriterSampler = null;
44
- runtime.quadBatchWriterStraightAlpha = false;
45
- runtime.quadBatchWriterSmoothing = null;
46
- runtime.quadVertexData = new Float32Array(16);
47
- runtime.matrixArray = new Float32Array(9);
48
- runtime.scissorStack = [];
49
- runtime.clipForms = [];
50
- gl.enable(gl.BLEND);
51
- gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
52
- gl.disable(gl.DEPTH_TEST);
53
- return finishEntity(state);
12
+ export function createGlRenderState(gl, pipeline, options = {}) {
13
+ let contextState = _contextStateByGl.get(gl);
14
+ if (contextState === undefined) {
15
+ contextState = createGlContextState(gl);
16
+ _contextStateByGl.set(gl, contextState);
17
+ }
18
+ return _createGlRenderStateFromContext(contextState, pipeline, options);
54
19
  }
55
20
  export function createGlRenderStateRuntime(contextState, pipeline) {
56
21
  const runtime = createRenderStateRuntime();
57
22
  runtime.context = contextState[EntityRuntimeKey];
58
23
  runtime.context.references++;
24
+ runtime.currentPass = null;
59
25
  runtime.currentRenderTarget = null;
60
26
  runtime.registries = { ...pipeline.registries };
61
27
  runtime.bindingCacheGuard = null;
@@ -204,5 +170,46 @@ export function registerGlContextTeardown(contextState, teardown) {
204
170
  export function registerGlRenderStateTeardown(state, teardown) {
205
171
  getGlRenderStateRuntime(state).teardowns.push(teardown);
206
172
  }
173
+ function _createGlRenderStateFromContext(contextState, pipeline, options) {
174
+ const gl = contextState.gl;
175
+ const state = _createRenderState({
176
+ allowSmoothing: options.imageSmoothingEnabled ?? options.allowSmoothing ?? true,
177
+ pixelRatio: options.pixelRatio ?? 1,
178
+ raster2DSurfaceProvider: options.raster2DSurfaceProvider ?? null,
179
+ renderTransform2D: createMatrix(),
180
+ roundPixels: options.roundPixels ?? false,
181
+ sceneGraphSyncPolicy: options.sceneGraphSyncPolicy,
182
+ });
183
+ state.applyBlendMode = null;
184
+ Object.assign(state, { contextState, gl, pipeline });
185
+ const runtime = createGlRenderStateRuntime(contextState, pipeline);
186
+ state[EntityRuntimeKey] = runtime;
187
+ runtime.currentFramebuffer = null;
188
+ runtime.currentMaskDepth = 0;
189
+ runtime.currentScissorRect = null;
190
+ runtime.flushPendingDraws = null;
191
+ runtime.renderTargetViewport = null;
192
+ runtime.defaultBitmapShader = null;
193
+ runtime.quadBatchWriterBlendMode = null;
194
+ runtime.quadBatchWriterMaterial = null;
195
+ runtime.quadBatchWriterMaterialRenderer = null;
196
+ runtime.quadBatchWriterMaterialFloats = 0;
197
+ runtime.quadBatchWriterMaterialData = new Float32Array(8 * 256);
198
+ runtime.quadBatchWriterCount = 0;
199
+ runtime.quadBatchWriterInstanceData = new Float32Array(13 * 256);
200
+ runtime.quadBatchWriterTexture = null;
201
+ runtime.quadBatchWriterSampler = null;
202
+ runtime.quadBatchWriterStraightAlpha = false;
203
+ runtime.quadBatchWriterSmoothing = null;
204
+ runtime.quadVertexData = new Float32Array(16);
205
+ runtime.matrixArray = new Float32Array(9);
206
+ runtime.scissorStack = [];
207
+ runtime.clipForms = [];
208
+ gl.enable(gl.BLEND);
209
+ gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
210
+ gl.disable(gl.DEPTH_TEST);
211
+ return finishEntity(state);
212
+ }
213
+ const _contextStateByGl = new WeakMap();
207
214
  const _destroyedStates = new WeakSet();
208
215
  //# sourceMappingURL=glRenderState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderState.js","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AAanC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,MAAM,UAAU,oBAAoB,CAAC,EAAa;IAChD,MAAM,KAAK,GAAG,cAAc,EAAkB,CAAC;IAC/C,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,YAAsC,EACtC,QAA8B,EAC9B,UAA2B,EAAE;IAE7B,OAAO,mBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAAsC,EACtC,QAA8B,EAC9B,UAA2B,EAAE;IAE7B,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,cAAc,EAAE,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI;QAC/E,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,IAAI;QAChE,iBAAiB,EAAE,YAAY,EAAE;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAkB,CAAC;IAEpB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI;QAAE,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEnG,MAAM,OAAO,GAAG,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACnE,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAC/C,OAAO,CAAC,6BAA6B,GAAG,CAAC,CAAC;IAC1C,OAAO,CAAC,2BAA2B,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAChE,OAAO,CAAC,oBAAoB,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,2BAA2B,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,4BAA4B,GAAG,KAAK,CAAC;IAC7C,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IAC1B,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IAEvB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC7C,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAE1B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,YAAsC,EACtC,QAA8B;IAE9B,MAAM,OAAO,GAAG,wBAAwB,EAA0B,CAAC;IACnE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAqB,CAAC;IACrE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4FAA4F;AAC5F,qGAAqG;AACrG,kGAAkG;AAClG,4FAA4F;AAC5F,EAAE;AACF,+CAA+C;AAC/C,iGAAiG;AACjG,gGAAgG;AAChG,oGAAoG;AACpG,2FAA2F;AAC3F,EAAE;AACF,6FAA6F;AAC7F,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IACxC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,GAAG,CAAC,UAAU,EAAE,CAAC;IACjB,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IAClB,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,SAAS;QAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAC;IACzC,IAAI,OAAO,CAAC,mBAAmB;QAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnF,IAAI,GAAG,CAAC,iBAAiB;QAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9E,IAAI,GAAG,CAAC,kBAAkB;QAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC5E,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACzE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,kBAAkB,CAAC,oBAAoB;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnH,IAAI,GAAG,CAAC,kBAAkB,CAAC,iBAAiB;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/G,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAE1D,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,GAAG,CAAC,kBAAkB,CAAC,oBAAoB;YAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QAC9G,IAAI,GAAG,CAAC,kBAAkB,CAAC,oBAAoB;YAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QAC9G,IAAI,GAAG,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,CAAC;YACtD,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,KAAoB;IAEpB,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC;IACtF,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,KAAoB;IAEpB,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,KAAK,CAAC;IAC3F,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAsC;IACxE,OAAO,YAAY,CAAC,gBAAgB,CAAqB,CAAC;AAC5D,CAAC;AAED,+FAA+F;AAC/F,6CAA6C;AAC7C,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,OAAO,KAAK,CAAC,gBAAgB,CAAyB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAyC,EAAE,EAAa;IAC/F,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,EAAG,CAAC;IAC3C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACxD,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,EAAG,CAAC;IAC5C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACjD,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,cAAc,GAAqB;QACvC,OAAO,EAAE,IAAI;QACb,wBAAwB,EAAE,IAAI;QAC9B,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,IAAI;QACnB,yBAAyB,EAAE,IAAI;QAC/B,EAAE;QACF,iBAAiB,EAAE,IAAI;QACvB,kBAAkB,EAAE,IAAI;QACxB,eAAe;QACf,gBAAgB;QAChB,UAAU,EAAE,CAAC;QACb,kBAAkB,EAAE,IAAI;QACxB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,IAAI,OAAO,EAAE;QAC3B,0CAA0C,EAAE,IAAI,OAAO,EAAE;QACzD,sCAAsC,EAAE,IAAI,OAAO,EAAE;QACrD,qCAAqC,EAAE,IAAI,OAAO,EAAE;QACpD,iCAAiC,EAAE,IAAI,OAAO,EAAE;KACjD,CAAC;IACF,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;AAC3C,CAAC;AAED,iGAAiG;AACjG,mGAAmG;AACnG,mGAAmG;AACnG,8FAA8F;AAC9F,EAAE;AACF,6FAA6F;AAC7F,8FAA8F;AAC9F,iGAAiG;AACjG,mGAAmG;AACnG,qGAAqG;AACrG,+FAA+F;AAC/F,iEAAiE;AACjE,MAAM,UAAU,4BAA4B,CAAC,KAAoB;IAC/D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACjD,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,YAAsC,EACtC,QAAiC;IAEjC,mBAAmB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAoB,EAAE,QAAwC;IAC1G,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAiB,CAAC"}
1
+ {"version":3,"file":"glRenderState.js","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAanC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,MAAM,UAAU,oBAAoB,CAAC,EAAa;IAChD,MAAM,KAAK,GAAG,cAAc,EAAkB,CAAC;IAC/C,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,EAAa,EACb,QAA8B,EAC9B,UAA2B,EAAE;IAE7B,IAAI,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACxC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,+BAA+B,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,YAAsC,EACtC,QAA8B;IAE9B,MAAM,OAAO,GAAG,wBAAwB,EAA0B,CAAC;IACnE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAqB,CAAC;IACrE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4FAA4F;AAC5F,qGAAqG;AACrG,kGAAkG;AAClG,4FAA4F;AAC5F,EAAE;AACF,+CAA+C;AAC/C,iGAAiG;AACjG,gGAAgG;AAChG,oGAAoG;AACpG,2FAA2F;AAC3F,EAAE;AACF,6FAA6F;AAC7F,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IACxC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,GAAG,CAAC,UAAU,EAAE,CAAC;IACjB,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IAClB,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,SAAS;QAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAC;IACzC,IAAI,OAAO,CAAC,mBAAmB;QAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnF,IAAI,GAAG,CAAC,iBAAiB;QAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9E,IAAI,GAAG,CAAC,kBAAkB;QAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC5E,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACzE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,kBAAkB,CAAC,oBAAoB;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnH,IAAI,GAAG,CAAC,kBAAkB,CAAC,iBAAiB;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/G,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAE1D,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,GAAG,CAAC,kBAAkB,CAAC,oBAAoB;YAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QAC9G,IAAI,GAAG,CAAC,kBAAkB,CAAC,oBAAoB;YAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QAC9G,IAAI,GAAG,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,CAAC;YACtD,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,KAAoB;IAEpB,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC;IACtF,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,KAAoB;IAEpB,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,KAAK,CAAC;IAC3F,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAsC;IACxE,OAAO,YAAY,CAAC,gBAAgB,CAAqB,CAAC;AAC5D,CAAC;AAED,+FAA+F;AAC/F,6CAA6C;AAC7C,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,OAAO,KAAK,CAAC,gBAAgB,CAAyB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAyC,EAAE,EAAa;IAC/F,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,EAAG,CAAC;IAC3C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACxD,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,EAAG,CAAC;IAC5C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACjD,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,cAAc,GAAqB;QACvC,OAAO,EAAE,IAAI;QACb,wBAAwB,EAAE,IAAI;QAC9B,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,IAAI;QACnB,yBAAyB,EAAE,IAAI;QAC/B,EAAE;QACF,iBAAiB,EAAE,IAAI;QACvB,kBAAkB,EAAE,IAAI;QACxB,eAAe;QACf,gBAAgB;QAChB,UAAU,EAAE,CAAC;QACb,kBAAkB,EAAE,IAAI;QACxB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,IAAI,OAAO,EAAE;QAC3B,0CAA0C,EAAE,IAAI,OAAO,EAAE;QACzD,sCAAsC,EAAE,IAAI,OAAO,EAAE;QACrD,qCAAqC,EAAE,IAAI,OAAO,EAAE;QACpD,iCAAiC,EAAE,IAAI,OAAO,EAAE;KACjD,CAAC;IACF,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;AAC3C,CAAC;AAED,iGAAiG;AACjG,mGAAmG;AACnG,mGAAmG;AACnG,8FAA8F;AAC9F,EAAE;AACF,6FAA6F;AAC7F,8FAA8F;AAC9F,iGAAiG;AACjG,mGAAmG;AACnG,qGAAqG;AACrG,+FAA+F;AAC/F,iEAAiE;AACjE,MAAM,UAAU,4BAA4B,CAAC,KAAoB;IAC/D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACjD,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,YAAsC,EACtC,QAAiC;IAEjC,mBAAmB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAoB,EAAE,QAAwC;IAC1G,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,+BAA+B,CACtC,YAAsC,EACtC,QAA8B,EAC9B,OAAwB;IAExB,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,cAAc,EAAE,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI;QAC/E,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,IAAI;QAChE,iBAAiB,EAAE,YAAY,EAAE;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAkB,CAAC;IAEpB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACnE,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAC/C,OAAO,CAAC,6BAA6B,GAAG,CAAC,CAAC;IAC1C,OAAO,CAAC,2BAA2B,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAChE,OAAO,CAAC,oBAAoB,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,2BAA2B,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,4BAA4B,GAAG,KAAK,CAAC;IAC7C,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IAC1B,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IAEvB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC7C,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAE1B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA6B,CAAC;AACnE,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAiB,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { EntityConstruction, GlRenderState, GlRenderTarget, Matrix, RenderProxy2D, RenderTargetAxes, RenderTargetColorSpace, RenderTargetDescriptor, RenderTargetExplanation, RenderTargetFormat, RenderTargetFormatPolicy, ResolvedRenderTargetDescriptor } from '@flighthq/types/contract';
2
- interface GlRenderTargetStorage extends RenderTargetAxes {
1
+ import type { EntityConstruction, GlContext, GlRenderPass, GlRenderState, GlScreenRenderTarget, GlTextureRenderTarget, Matrix, RenderProxy2D, RenderTargetAxes, RenderTargetColorSpace, RenderTargetDescriptor, RenderTargetExplanation, RenderTargetFormat, RenderTargetFormatPolicy, ResolvedRenderTargetDescriptor } from '@flighthq/types/contract';
2
+ interface GlTextureRenderTargetStorage extends RenderTargetAxes {
3
3
  framebuffer: WebGLFramebuffer;
4
4
  resolveFramebuffer: WebGLFramebuffer | null;
5
5
  textures: WebGLTexture[];
@@ -7,18 +7,19 @@ interface GlRenderTargetStorage extends RenderTargetAxes {
7
7
  colorRenderbuffers: WebGLRenderbuffer[];
8
8
  depthStencilRenderbuffer: WebGLRenderbuffer | null;
9
9
  }
10
+ export declare function createGlScreenRenderTarget(gl: GlContext): GlScreenRenderTarget;
10
11
  /**
11
12
  * Allocates a render target realizing `descriptor`'s axes (format, MSAA sampleCount, MRT
12
13
  * colorAttachments, depth). The framebuffer is bound during creation but the previous binding is
13
14
  * restored before returning.
14
15
  */
15
- export declare function createGlRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>): GlRenderTarget;
16
- export declare function createGlRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'preferred'): GlRenderTarget;
17
- export declare function createGlRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'required'): GlRenderTarget | null;
18
- export declare function createGlRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: RenderTargetFormatPolicy): GlRenderTarget | null;
16
+ export declare function createGlTextureRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>): GlTextureRenderTarget;
17
+ export declare function createGlTextureRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'preferred'): GlTextureRenderTarget;
18
+ export declare function createGlTextureRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'required'): GlTextureRenderTarget | null;
19
+ export declare function createGlTextureRenderTarget(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: RenderTargetFormatPolicy): GlTextureRenderTarget | null;
19
20
  export declare function declareGlRenderTargetColorSpace(state: GlRenderState, colorSpace: RenderTargetColorSpace): boolean;
20
21
  /** Deletes the GL resources owned by `target`. The target object must not be used after this call. */
21
- export declare function destroyGlRenderTarget(state: GlRenderState, target: GlRenderTarget): void;
22
+ export declare function destroyGlTextureRenderTarget(target: GlTextureRenderTarget): void;
22
23
  /**
23
24
  * Composites `target`'s texture onto the current framebuffer as a positioned quad, using
24
25
  * `renderProxy`'s world transform and alpha. `transform` maps the target's pixel space into the
@@ -27,21 +28,21 @@ export declare function destroyGlRenderTarget(state: GlRenderState, target: GlRe
27
28
  * Render-target textures are stored with GL's bottom-left origin, so the quad's V coordinates are
28
29
  * flipped (`v0=1, v1=0`) so the result composites upright.
29
30
  */
30
- export declare function drawGlRenderTargetResult(state: GlRenderState, renderProxy: RenderProxy2D, target: Readonly<GlRenderTarget>, transform: Readonly<Matrix>): void;
31
- export declare function explainGlRenderTarget(target: Readonly<GlRenderTarget>): RenderTargetExplanation;
32
- export declare function initializeGlRenderTarget(target: EntityConstruction<GlRenderTarget>, requested: Readonly<ResolvedRenderTargetDescriptor>, storage: Readonly<GlRenderTargetStorage>, texture: WebGLTexture): void;
31
+ export declare function drawGlTextureRenderTargetResult(pass: GlRenderPass, renderProxy: RenderProxy2D, target: Readonly<GlTextureRenderTarget>, transform: Readonly<Matrix>): void;
32
+ export declare function explainGlTextureRenderTarget(target: Readonly<GlTextureRenderTarget>): RenderTargetExplanation;
33
+ export declare function initializeGlTextureRenderTarget(target: EntityConstruction<GlTextureRenderTarget>, requested: Readonly<ResolvedRenderTargetDescriptor>, storage: Readonly<GlTextureRenderTargetStorage>, texture: WebGLTexture): void;
33
34
  export declare function isGlRenderTargetFormatSupported(state: GlRenderState, format: RenderTargetFormat): boolean;
34
35
  /** Reallocates the storage backing `target` to the new pixel dimensions, preserving its axes. */
35
- export declare function resizeGlRenderTarget(state: GlRenderState, target: GlRenderTarget, width: number, height: number): void;
36
+ export declare function resizeGlTextureRenderTarget(state: GlRenderState, target: GlTextureRenderTarget, width: number, height: number): void;
37
+ export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>): RenderTargetAxes;
38
+ export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'preferred'): RenderTargetAxes;
39
+ export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'required'): RenderTargetAxes | null;
40
+ export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: RenderTargetFormatPolicy): RenderTargetAxes | null;
36
41
  /**
37
42
  * Resolves an MSAA target's multisample framebuffer into its single-sample resolve texture(s) via
38
43
  * blitFramebuffer. No-op when sampleCount === 1. Call after the scene is drawn into the target and
39
44
  * before sampling `target.texture`/`target.textures`.
40
45
  */
41
- export declare function resolveGlRenderTarget(state: GlRenderState, target: GlRenderTarget): void;
42
- export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>): RenderTargetAxes;
43
- export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'preferred'): RenderTargetAxes;
44
- export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: 'required'): RenderTargetAxes | null;
45
- export declare function resolveGlRenderTargetAxes(state: GlRenderState, descriptor: Readonly<RenderTargetDescriptor>, formatPolicy: RenderTargetFormatPolicy): RenderTargetAxes | null;
46
+ export declare function resolveGlTextureRenderTarget(state: GlRenderState, target: GlTextureRenderTarget): void;
46
47
  export {};
47
48
  //# sourceMappingURL=glRenderTarget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderTarget.d.ts","sourceRoot":"","sources":["../src/glRenderTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glRenderTarget.d.ts","sourceRoot":"","sources":["../src/glRenderTarget.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,0BAA0B,CAAC;AAMlC,UAAU,4BAA6B,SAAQ,gBAAgB;IAC7D,WAAW,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,wBAAwB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpD;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,SAAS,GAAG,oBAAoB,CAS9E;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,qBAAqB,CAAC;AACzB,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,WAAW,GACxB,qBAAqB,CAAC;AACzB,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,UAAU,GACvB,qBAAqB,GAAG,IAAI,CAAC;AAChC,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,wBAAwB,GACrC,qBAAqB,GAAG,IAAI,CAAC;AA6ChC,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAWjH;AAED,sGAAsG;AACtG,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAQhF;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,aAAa,EAC1B,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACvC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,IAAI,CA4BN;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,uBAAuB,CAQ7G;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EACjD,SAAS,EAAE,QAAQ,CAAC,8BAA8B,CAAC,EACnD,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAC/C,OAAO,EAAE,YAAY,GACpB,IAAI,CAiBN;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEzG;AAED,iGAAiG;AACjG,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAgCN;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,gBAAgB,CAAC;AACpB,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,WAAW,GACxB,gBAAgB,CAAC;AACpB,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,UAAU,GACvB,gBAAgB,GAAG,IAAI,CAAC;AAC3B,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,wBAAwB,GACrC,gBAAgB,GAAG,IAAI,CAAC;AAS3B;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CA4CtG"}