@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.
- package/dist/glCompressedTexture.d.ts +8 -0
- package/dist/glCompressedTexture.d.ts.map +1 -0
- package/dist/glCompressedTexture.js +270 -0
- package/dist/glCompressedTexture.js.map +1 -0
- package/dist/glDraw.d.ts +4 -2
- package/dist/glDraw.d.ts.map +1 -1
- package/dist/glDraw.js +215 -20
- package/dist/glDraw.js.map +1 -1
- package/dist/glFullscreenPass.d.ts.map +1 -1
- package/dist/glFullscreenPass.js +32 -0
- package/dist/glFullscreenPass.js.map +1 -1
- package/dist/glLinearToSrgbPass.d.ts +4 -0
- package/dist/glLinearToSrgbPass.d.ts.map +1 -0
- package/dist/glLinearToSrgbPass.js +42 -0
- package/dist/glLinearToSrgbPass.js.map +1 -0
- package/dist/glPresentRenderTarget.d.ts +3 -0
- package/dist/glPresentRenderTarget.d.ts.map +1 -0
- package/dist/glPresentRenderTarget.js +35 -0
- package/dist/glPresentRenderTarget.js.map +1 -0
- package/dist/glRenderPass.d.ts +5 -0
- package/dist/glRenderPass.d.ts.map +1 -0
- package/dist/glRenderPass.js +130 -0
- package/dist/glRenderPass.js.map +1 -0
- package/dist/glRenderState.d.ts +1 -1
- package/dist/glRenderState.d.ts.map +1 -1
- package/dist/glRenderState.js +1 -0
- package/dist/glRenderState.js.map +1 -1
- package/dist/glRenderTarget.d.ts +2 -15
- package/dist/glRenderTarget.d.ts.map +1 -1
- package/dist/glRenderTarget.js +48 -57
- package/dist/glRenderTarget.js.map +1 -1
- package/dist/glRenderTargetPool.d.ts.map +1 -1
- package/dist/glRenderTargetPool.js +4 -0
- package/dist/glRenderTargetPool.js.map +1 -1
- package/dist/glSkinPaletteTexture.d.ts +5 -0
- package/dist/glSkinPaletteTexture.d.ts.map +1 -0
- package/dist/glSkinPaletteTexture.js +42 -0
- package/dist/glSkinPaletteTexture.js.map +1 -0
- package/dist/glTestHelper.d.ts.map +1 -1
- package/dist/glTestHelper.js +1 -0
- package/dist/glTestHelper.js.map +1 -1
- package/dist/glTextureUpload.d.ts +5 -0
- package/dist/glTextureUpload.d.ts.map +1 -0
- package/dist/glTextureUpload.js +27 -0
- package/dist/glTextureUpload.js.map +1 -0
- package/dist/glTextureVideoUpload.d.ts +3 -0
- package/dist/glTextureVideoUpload.d.ts.map +1 -0
- package/dist/glTextureVideoUpload.js +24 -0
- package/dist/glTextureVideoUpload.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/glCompressedTexture.test.ts +276 -0
- package/src/glDraw.test.ts +319 -36
- package/src/glFullscreenPass.test.ts +22 -1
- package/src/glLinearToSrgbPass.test.ts +75 -0
- package/src/glPresentRenderTarget.test.ts +62 -0
- package/src/glReadback.test.ts +1 -0
- package/src/glRenderPass.test.ts +170 -0
- package/src/glRenderTarget.test.ts +63 -98
- package/src/glRenderTargetPool.test.ts +14 -0
- package/src/glSkinPaletteTexture.test.ts +129 -0
- package/src/glTextureUpload.test.ts +49 -0
- package/src/glTextureVideoUpload.test.ts +53 -0
package/dist/glRenderTarget.js
CHANGED
|
@@ -1,39 +1,7 @@
|
|
|
1
|
-
import { acquireMatrix,
|
|
1
|
+
import { acquireMatrix, multiplyMatrix, releaseMatrix } from '@flighthq/geometry';
|
|
2
2
|
import { drawGlQuad, useGlProgram } from './glDraw';
|
|
3
3
|
import { getGlRenderStateRuntime } from './glRenderState';
|
|
4
4
|
import { setGlAttributes, setGlBaseUniforms, setGlMatrixFromTransform } from './glShader';
|
|
5
|
-
/**
|
|
6
|
-
* Redirects subsequent Gl rendering into `target`'s framebuffer. Saves the current framebuffer
|
|
7
|
-
* binding, renderTargetViewport, and renderTransform2D so they can be fully restored by
|
|
8
|
-
* `endGlRenderTarget`. Supports nesting.
|
|
9
|
-
*
|
|
10
|
-
* The caller must set the desired `renderTransform` (via this function) before rendering into the
|
|
11
|
-
* target to ensure the render tree's transform2D values are correct.
|
|
12
|
-
*/
|
|
13
|
-
export function beginGlRenderTarget(state, target, renderTransform) {
|
|
14
|
-
const runtime = getGlRenderStateRuntime(state);
|
|
15
|
-
const gl = state.gl;
|
|
16
|
-
let stack = _targetStack.get(state);
|
|
17
|
-
if (stack === undefined) {
|
|
18
|
-
stack = [];
|
|
19
|
-
_targetStack.set(state, stack);
|
|
20
|
-
}
|
|
21
|
-
stack.push({
|
|
22
|
-
framebuffer: runtime.currentFramebuffer,
|
|
23
|
-
renderTargetViewport: runtime.renderTargetViewport,
|
|
24
|
-
renderTransform2D: state.renderTransform2D,
|
|
25
|
-
});
|
|
26
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, target.framebuffer);
|
|
27
|
-
gl.viewport(0, 0, target.width, target.height);
|
|
28
|
-
runtime.currentFramebuffer = target.framebuffer;
|
|
29
|
-
runtime.renderTargetViewport = { width: target.width, height: target.height };
|
|
30
|
-
// Force rebind on next draw — the framebuffer switch invalidates GL state assumptions.
|
|
31
|
-
runtime.currentTexture = null;
|
|
32
|
-
runtime.currentBlendMode = null;
|
|
33
|
-
const newTransform = createMatrix();
|
|
34
|
-
copyMatrix(newTransform, renderTransform);
|
|
35
|
-
state.renderTransform2D = newTransform;
|
|
36
|
-
}
|
|
37
5
|
/**
|
|
38
6
|
* Allocates a render target realizing `descriptor`'s axes (format, MSAA sampleCount, MRT
|
|
39
7
|
* colorAttachments, depth). The framebuffer is bound during creation but the previous binding is
|
|
@@ -44,7 +12,11 @@ export function createGlRenderTarget(state, descriptor) {
|
|
|
44
12
|
const gl = state.gl;
|
|
45
13
|
const w = Math.max(1, Math.ceil(descriptor.width));
|
|
46
14
|
const h = Math.max(1, Math.ceil(descriptor.height));
|
|
47
|
-
|
|
15
|
+
// Substitute a renderable format when a float target is requested on GL that lacks float-render
|
|
16
|
+
// support (see resolveRenderableFormat); target.format carries the effective format so readback and
|
|
17
|
+
// the present/tonemap path treat it consistently, and resize reuses it.
|
|
18
|
+
const format = resolveRenderableFormat(gl, descriptor.format ?? 'rgba8');
|
|
19
|
+
const colorFormats = descriptor.colorFormats?.map((f) => resolveRenderableFormat(gl, f));
|
|
48
20
|
const attachments = Math.max(1, descriptor.colorAttachments ?? 1);
|
|
49
21
|
const sampleCount = Math.max(1, descriptor.sampleCount ?? 1);
|
|
50
22
|
const depth = descriptor.depth ?? 'none';
|
|
@@ -53,6 +25,9 @@ export function createGlRenderTarget(state, descriptor) {
|
|
|
53
25
|
width: w,
|
|
54
26
|
height: h,
|
|
55
27
|
format,
|
|
28
|
+
colorSpace: descriptor.colorSpace ?? 'srgb',
|
|
29
|
+
clearColors: descriptor.clearColors ? [...descriptor.clearColors] : [],
|
|
30
|
+
clearDepth: descriptor.clearDepth ?? 1,
|
|
56
31
|
sampleCount: maxSamples,
|
|
57
32
|
framebuffer: gl.createFramebuffer(),
|
|
58
33
|
resolveFramebuffer: null,
|
|
@@ -62,12 +37,24 @@ export function createGlRenderTarget(state, descriptor) {
|
|
|
62
37
|
colorRenderbuffers: [],
|
|
63
38
|
depthStencilRenderbuffer: null,
|
|
64
39
|
};
|
|
65
|
-
allocateGlRenderTargetStorage(state, target,
|
|
40
|
+
allocateGlRenderTargetStorage(state, target, colorFormats, attachments, depth);
|
|
66
41
|
gl.bindFramebuffer(gl.FRAMEBUFFER, runtime.currentFramebuffer);
|
|
67
42
|
gl.bindTexture(gl.TEXTURE_2D, null);
|
|
68
43
|
runtime.currentTexture = null;
|
|
69
44
|
return target;
|
|
70
45
|
}
|
|
46
|
+
// Stamps the color space of the render target currently bound via beginGlRenderPass: the producer of
|
|
47
|
+
// the pixels declares what space it writes (drawGlScene declares 'linear'), and the present step reads
|
|
48
|
+
// it back off the target. Returns false when no target is bound — i.e. rendering straight to the canvas,
|
|
49
|
+
// where linear content has no present pass to encode it — so a caller can flag that mismatch. A no-op
|
|
50
|
+
// (returns false) in that case.
|
|
51
|
+
export function declareGlRenderTargetColorSpace(state, colorSpace) {
|
|
52
|
+
const target = getGlRenderStateRuntime(state).currentRenderTarget;
|
|
53
|
+
if (target == null)
|
|
54
|
+
return false;
|
|
55
|
+
target.colorSpace = colorSpace;
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
71
58
|
/** Deletes the GL resources owned by `target`. The target object must not be used after this call. */
|
|
72
59
|
export function destroyGlRenderTarget(state, target) {
|
|
73
60
|
const gl = state.gl;
|
|
@@ -109,31 +96,22 @@ export function drawGlRenderTargetResult(state, renderProxy, target, transform)
|
|
|
109
96
|
releaseMatrix(quadTransform);
|
|
110
97
|
drawGlQuad(state, 0, 0, target.width, target.height, 0, 1, 1, 0);
|
|
111
98
|
}
|
|
112
|
-
/**
|
|
113
|
-
* Restores the framebuffer, viewport, renderTargetViewport, and renderTransform2D saved by the
|
|
114
|
-
* matching `beginGlRenderTarget` call.
|
|
115
|
-
*/
|
|
116
|
-
export function endGlRenderTarget(state) {
|
|
117
|
-
const runtime = getGlRenderStateRuntime(state);
|
|
118
|
-
const gl = state.gl;
|
|
119
|
-
const saved = _targetStack.get(state)?.pop();
|
|
120
|
-
if (saved === undefined)
|
|
121
|
-
return;
|
|
122
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, saved.framebuffer);
|
|
123
|
-
const viewport = saved.renderTargetViewport ?? state.canvas;
|
|
124
|
-
gl.viewport(0, 0, viewport.width, viewport.height);
|
|
125
|
-
runtime.currentFramebuffer = saved.framebuffer;
|
|
126
|
-
runtime.renderTargetViewport = saved.renderTargetViewport;
|
|
127
|
-
state.renderTransform2D = saved.renderTransform2D;
|
|
128
|
-
runtime.currentTexture = null;
|
|
129
|
-
runtime.currentBlendMode = null;
|
|
130
|
-
}
|
|
131
99
|
/** Reallocates the storage backing `target` to the new pixel dimensions, preserving its axes. */
|
|
132
100
|
export function resizeGlRenderTarget(state, target, width, height) {
|
|
133
101
|
const w = Math.max(1, Math.ceil(width));
|
|
134
102
|
const h = Math.max(1, Math.ceil(height));
|
|
135
103
|
if (w === target.width && h === target.height)
|
|
136
104
|
return;
|
|
105
|
+
// Capture the storage shape BEFORE teardown: the depth mode and color-attachment count are derived
|
|
106
|
+
// from the existing attachments, so they must be read before those fields are cleared. Reading them
|
|
107
|
+
// afterward (as the original did) always yields 'none'/1 — silently dropping the depth buffer and
|
|
108
|
+
// extra attachments on every resize, which breaks depth-tested 3D the frame after a canvas resize.
|
|
109
|
+
const depth = target.depthTexture
|
|
110
|
+
? 'depth-stencil-sampled'
|
|
111
|
+
: target.depthStencilRenderbuffer
|
|
112
|
+
? 'depth-stencil'
|
|
113
|
+
: 'none';
|
|
114
|
+
const attachments = Math.max(1, target.textures.length);
|
|
137
115
|
const gl = state.gl;
|
|
138
116
|
for (const texture of target.textures)
|
|
139
117
|
gl.deleteTexture(texture);
|
|
@@ -143,14 +121,17 @@ export function resizeGlRenderTarget(state, target, width, height) {
|
|
|
143
121
|
gl.deleteTexture(target.depthTexture);
|
|
144
122
|
if (target.depthStencilRenderbuffer)
|
|
145
123
|
gl.deleteRenderbuffer(target.depthStencilRenderbuffer);
|
|
124
|
+
if (target.resolveFramebuffer && target.resolveFramebuffer !== target.framebuffer) {
|
|
125
|
+
gl.deleteFramebuffer(target.resolveFramebuffer);
|
|
126
|
+
}
|
|
146
127
|
target.textures = [];
|
|
147
128
|
target.colorRenderbuffers = [];
|
|
148
129
|
target.depthTexture = null;
|
|
149
130
|
target.depthStencilRenderbuffer = null;
|
|
131
|
+
target.resolveFramebuffer = null;
|
|
150
132
|
target.width = w;
|
|
151
133
|
target.height = h;
|
|
152
|
-
|
|
153
|
-
allocateGlRenderTargetStorage(state, target, undefined, Math.max(1, target.textures.length || 1), depth);
|
|
134
|
+
allocateGlRenderTargetStorage(state, target, undefined, attachments, depth);
|
|
154
135
|
getGlRenderStateRuntime(state).currentTexture = null;
|
|
155
136
|
}
|
|
156
137
|
/**
|
|
@@ -270,6 +251,17 @@ function buildSingleDrawBuffer(gl, index, count) {
|
|
|
270
251
|
function isFloatRenderTargetFormat(format) {
|
|
271
252
|
return format === 'rgba16f' || format === 'rgba32f';
|
|
272
253
|
}
|
|
254
|
+
// A float color format (rgba16f/rgba32f) is only color-renderable when EXT_color_buffer_float is
|
|
255
|
+
// available. On GL2 implementations that lack it — notably headless SwiftShader (the Docker sandbox's
|
|
256
|
+
// software WebGL) — an rgba16f framebuffer is incomplete and every draw/clear into it silently no-ops,
|
|
257
|
+
// so the whole HDR scene renders BLACK. Rather than fail that way, fall back to the renderable rgba8:
|
|
258
|
+
// the scene draws in LDR (banding/clipping possible in the tonemap, but visible) instead of nothing. On
|
|
259
|
+
// hardware with float render targets this is a no-op, so full HDR precision is unaffected there.
|
|
260
|
+
function resolveRenderableFormat(gl, format) {
|
|
261
|
+
if (isFloatRenderTargetFormat(format) && gl.getExtension('EXT_color_buffer_float') === null)
|
|
262
|
+
return 'rgba8';
|
|
263
|
+
return format;
|
|
264
|
+
}
|
|
273
265
|
function mapGlFormat(gl, format) {
|
|
274
266
|
switch (format) {
|
|
275
267
|
case 'rgba16f':
|
|
@@ -280,5 +272,4 @@ function mapGlFormat(gl, format) {
|
|
|
280
272
|
return { internalFormat: gl.RGBA8, format: gl.RGBA, type: gl.UNSIGNED_BYTE };
|
|
281
273
|
}
|
|
282
274
|
}
|
|
283
|
-
const _targetStack = new WeakMap();
|
|
284
275
|
//# sourceMappingURL=glRenderTarget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glRenderTarget.js","sourceRoot":"","sources":["../src/glRenderTarget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"glRenderTarget.js","sourceRoot":"","sources":["../src/glRenderTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWlF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE1F;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAoB,EACpB,UAA4C;IAE5C,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAEpB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,gGAAgG;IAChG,oGAAoG;IACpG,wEAAwE;IACxE,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC;IACzC,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1G,MAAM,MAAM,GAAmB;QAC7B,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,MAAM;QACN,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,MAAM;QAC3C,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;QACtE,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,CAAC;QACtC,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,EAAE,CAAC,iBAAiB,EAAG;QACpC,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,IAA+B;QACxC,YAAY,EAAE,IAAI;QAClB,kBAAkB,EAAE,EAAE;QACtB,wBAAwB,EAAE,IAAI;KAC/B,CAAC;IAEF,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAE/E,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/D,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qGAAqG;AACrG,uGAAuG;AACvG,yGAAyG;AACzG,sGAAsG;AACtG,gCAAgC;AAChC,MAAM,UAAU,+BAA+B,CAAC,KAAoB,EAAE,UAAkC;IACtG,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC;IAClE,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,qBAAqB,CAAC,KAAoB,EAAE,MAAsB;IAChF,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,kBAAkB;QAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC/E,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,kBAAkB;QAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,YAAY;QAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,wBAAwB;QAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,WAA0B,EAC1B,MAAgC,EAChC,SAA2B;IAE3B,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO;IAEpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAErD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC3C,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;IAExC,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC;IACtC,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/B,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAClH,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9C,aAAa,CAAC,aAAa,CAAC,CAAC;IAE7B,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,oBAAoB,CAClC,KAAoB,EACpB,MAAsB,EACtB,KAAa,EACb,MAAc;IAEd,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO;IAEtD,mGAAmG;IACnG,oGAAoG;IACpG,kGAAkG;IAClG,mGAAmG;IACnG,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY;QAC/B,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,MAAM,CAAC,wBAAwB;YAC/B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,CAAC;IACb,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,kBAAkB;QAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,YAAY;QAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,wBAAwB;QAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC5F,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QAClF,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,MAAM,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAElB,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5E,uBAAuB,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAoB,EAAE,MAAsB;IAChF,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,kBAAkB,KAAK,IAAI;QAAE,OAAO;IAC1E,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAEpB,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5D,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QACxC,EAAE,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,EAAE,CAAC,eAAe,CAChB,CAAC,EACD,CAAC,EACD,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,CAAC,EACD,CAAC,EACD,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,EAAE,CAAC,gBAAgB,EACnB,EAAE,CAAC,OAAO,CACX,CAAC;IACJ,CAAC;IACD,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC9C,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpE,mGAAmG;IACnG,oGAAoG;IACpG,kGAAkG;IAClG,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;AAChC,CAAC;AAED,qGAAqG;AACrG,qEAAqE;AACrE,SAAS,6BAA6B,CACpC,KAAoB,EACpB,MAAsB,EACtB,YAA2D,EAC3D,WAAmB,EACnB,KAAyD;IAEzD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC;IAErC,kFAAkF;IAClF,mGAAmG;IACnG,4GAA4G;IAC5G,IAAI,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,YAAY;QAAE,KAAK,MAAM,CAAC,IAAI,YAAY;YAAE,SAAS,GAAG,SAAS,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACtG,IAAI,SAAS;QAAE,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;IAEzD,kDAAkD;IAClD,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IACvF,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;QAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,EAAG,CAAC;QACpC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;QAC7D,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC/D,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC/D,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,iBAAiB,GAAG,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,WAAW,GAAG,CAAC;QAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAEvE,6FAA6F;IAC7F,IAAI,YAAY,EAAE,CAAC;QACjB,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;YAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAG,CAAC;YACpC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3G,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,iBAAiB,GAAG,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC1F,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,WAAW,GAAG,CAAC;YAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,KAAK,KAAK,uBAAuB,IAAI,CAAC,YAAY,CAAC;QACnE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAG,CAAC;YACzC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC5C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAC5G,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACnE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACvD,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,wBAAwB,EAAE,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YACrG,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAG,CAAC;YACpC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,YAAY;gBAAE,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;gBACxG,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACvD,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,wBAAwB,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3C,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,EAA0B,EAAE,KAAa;IACjE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,EAA0B,EAAE,KAAa,EAAE,KAAa;IACrF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/F,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA0B;IAC3D,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;AACtD,CAAC;AAED,iGAAiG;AACjG,sGAAsG;AACtG,uGAAuG;AACvG,sGAAsG;AACtG,wGAAwG;AACxG,iGAAiG;AACjG,SAAS,uBAAuB,CAAC,EAA0B,EAAE,MAA0B;IACrF,IAAI,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IAC5G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,EAA0B,EAC1B,MAA0B;IAE1B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;QAC9E,KAAK,SAAS;YACZ,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QACzE;YACE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC;IACjF,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glRenderTargetPool.d.ts","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAcjH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,cAAc,
|
|
1
|
+
{"version":3,"file":"glRenderTargetPool.d.ts","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAcjH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,cAAc,CAwBhB;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAG9F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAE5F"}
|
|
@@ -20,6 +20,10 @@ export function acquireGlRenderTarget(state, pool, descriptor) {
|
|
|
20
20
|
candidate.format === format &&
|
|
21
21
|
candidate.sampleCount === sampleCount) {
|
|
22
22
|
pool.free.splice(i, 1);
|
|
23
|
+
// colorSpace is a logical tag, not a physical allocation axis, so it is not part of the reuse
|
|
24
|
+
// match — re-stamp the reused target with the requested space (default 'srgb') so a scratch
|
|
25
|
+
// recycled from a linear frame does not carry a stale 'linear' into an sRGB one.
|
|
26
|
+
candidate.colorSpace = descriptor.colorSpace ?? 'srgb';
|
|
23
27
|
clearGlRenderTarget(state, candidate);
|
|
24
28
|
return candidate;
|
|
25
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glRenderTargetPool.js","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,+FAA+F;AAC/F,+FAA+F;AAC/F,yFAAyF;AACzF,EAAE;AACF,qGAAqG;AACrG,uGAAuG;AACvG,gGAAgG;AAChG,2EAA2E;AAE3E,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,IAAwB,EACxB,UAA4C;IAE5C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,IACE,SAAS,CAAC,KAAK,KAAK,CAAC;YACrB,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,SAAS,CAAC,MAAM,KAAK,MAAM;YAC3B,SAAS,CAAC,WAAW,KAAK,WAAW,EACrC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAoB,EAAE,IAAwB;IACtF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI;QAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,MAAsB;IACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"glRenderTargetPool.js","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,+FAA+F;AAC/F,+FAA+F;AAC/F,yFAAyF;AACzF,EAAE;AACF,qGAAqG;AACrG,uGAAuG;AACvG,gGAAgG;AAChG,2EAA2E;AAE3E,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,IAAwB,EACxB,UAA4C;IAE5C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,IACE,SAAS,CAAC,KAAK,KAAK,CAAC;YACrB,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,SAAS,CAAC,MAAM,KAAK,MAAM;YAC3B,SAAS,CAAC,WAAW,KAAK,WAAW,EACrC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,8FAA8F;YAC9F,4FAA4F;YAC5F,iFAAiF;YACjF,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC;YACvD,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAoB,EAAE,IAAwB;IACtF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI;QAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,MAAsB;IACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { GlSkinPaletteTexture } from '@flighthq/types';
|
|
2
|
+
export declare function createGlSkinPaletteTexture(gl: WebGL2RenderingContext): GlSkinPaletteTexture;
|
|
3
|
+
export declare function destroyGlSkinPaletteTexture(gl: WebGL2RenderingContext, palette: Readonly<GlSkinPaletteTexture>): void;
|
|
4
|
+
export declare function uploadGlSkinPaletteTexture(gl: WebGL2RenderingContext, palette: GlSkinPaletteTexture, jointMatrices: Readonly<Float32Array>, jointCount: number): void;
|
|
5
|
+
//# sourceMappingURL=glSkinPaletteTexture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glSkinPaletteTexture.d.ts","sourceRoot":"","sources":["../src/glSkinPaletteTexture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAY5D,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,sBAAsB,GAAG,oBAAoB,CAE3F;AAID,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAErH;AAQD,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,QAAQ,CAAC,YAAY,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,IAAI,CAiBN"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// The GPU skinning bone-palette data texture: the per-mesh joint-matrix palette in an RGBA32F texture
|
|
2
|
+
// the vertex shader reads with texelFetch (GLSL ES 3.0 core), one mat4 packed as four consecutive
|
|
3
|
+
// RGBA32F texels. The palette is a single row (height 1), so joint j's column c is at texel x = j*4 + c.
|
|
4
|
+
// This replaces the `uniform mat4 u_jointMatrices[MAX_JOINTS]` array: the joint count is bounded by
|
|
5
|
+
// MAX_TEXTURE_SIZE (thousands of joints) rather than the vertex-uniform budget, so there is no
|
|
6
|
+
// per-context capacity cap and no CPU fallback above capacity.
|
|
7
|
+
// Creates the palette texture struct with no storage allocated yet (jointCapacity 0). The first
|
|
8
|
+
// uploadGlSkinPaletteTexture allocates storage sized to the palette. The caller owns the returned
|
|
9
|
+
// struct and frees it with destroyGlSkinPaletteTexture.
|
|
10
|
+
export function createGlSkinPaletteTexture(gl) {
|
|
11
|
+
return { jointCapacity: 0, texture: gl.createTexture() };
|
|
12
|
+
}
|
|
13
|
+
// Frees the palette texture's GL object. The struct must not be used after this call. Deleting an
|
|
14
|
+
// already-deleted GL texture is a silent no-op, so this is safe to call more than once.
|
|
15
|
+
export function destroyGlSkinPaletteTexture(gl, palette) {
|
|
16
|
+
gl.deleteTexture(palette.texture);
|
|
17
|
+
}
|
|
18
|
+
// Uploads a joint-matrix palette into the data texture and binds it. `jointMatrices` is the flat
|
|
19
|
+
// column-major palette (16 floats per joint), `jointCount` how many joints it holds. Grows the texture
|
|
20
|
+
// storage (reallocating, updating `palette.jointCapacity`) only when the palette exceeds the current
|
|
21
|
+
// capacity; otherwise it writes the row in place with texSubImage2D. Leaves the palette texture bound
|
|
22
|
+
// on TEXTURE_2D of the active texture unit (the caller selects the unit and sets the sampler uniform).
|
|
23
|
+
// Reads `jointMatrices`/`jointCount` before any allocation, so it is safe against an aliased struct.
|
|
24
|
+
export function uploadGlSkinPaletteTexture(gl, palette, jointMatrices, jointCount) {
|
|
25
|
+
const width = jointCount * 4;
|
|
26
|
+
gl.bindTexture(gl.TEXTURE_2D, palette.texture);
|
|
27
|
+
// The palette must not be filtered or wrapped: texelFetch reads an exact texel, and NEAREST +
|
|
28
|
+
// CLAMP_TO_EDGE keep a driver from ever sampling a neighbor. Set once storage exists (on first
|
|
29
|
+
// upload and every reallocation), which is exactly when the capacity grows below.
|
|
30
|
+
if (jointCount > palette.jointCapacity) {
|
|
31
|
+
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA32F, width, 1, 0, gl.RGBA, gl.FLOAT, jointMatrices);
|
|
32
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
|
|
33
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
|
|
34
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
35
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
36
|
+
palette.jointCapacity = jointCount;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, width, 1, gl.RGBA, gl.FLOAT, jointMatrices);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=glSkinPaletteTexture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glSkinPaletteTexture.js","sourceRoot":"","sources":["../src/glSkinPaletteTexture.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,kGAAkG;AAClG,yGAAyG;AACzG,oGAAoG;AACpG,+FAA+F;AAC/F,+DAA+D;AAE/D,gGAAgG;AAChG,kGAAkG;AAClG,wDAAwD;AACxD,MAAM,UAAU,0BAA0B,CAAC,EAA0B;IACnE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,EAAG,EAAE,CAAC;AAC5D,CAAC;AAED,kGAAkG;AAClG,wFAAwF;AACxF,MAAM,UAAU,2BAA2B,CAAC,EAA0B,EAAE,OAAuC;IAC7G,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,iGAAiG;AACjG,uGAAuG;AACvG,qGAAqG;AACrG,sGAAsG;AACtG,uGAAuG;AACvG,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CACxC,EAA0B,EAC1B,OAA6B,EAC7B,aAAqC,EACrC,UAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC;IAC7B,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C,8FAA8F;IAC9F,+FAA+F;IAC/F,kFAAkF;IAClF,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,aAA6B,CAAC,CAAC;QAC3G,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,aAA6B,CAAC,CAAC;IACvG,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glTestHelper.d.ts","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AAI3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IACrG,KAAK,EAAE,aAAa,CAAC;IACrB,EAAE,EAAE,sBAAsB,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,
|
|
1
|
+
{"version":3,"file":"glTestHelper.d.ts","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AAI3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IACrG,KAAK,EAAE,aAAa,CAAC;IACrB,EAAE,EAAE,sBAAsB,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAgDA;AAKD,wBAAgB,MAAM,IAAI,sBAAsB,CAG/C;AAED,wBAAgB,aAAa,IAAI,iBAAiB,CAYjD"}
|
package/dist/glTestHelper.js
CHANGED
|
@@ -29,6 +29,7 @@ export function createGlState(options) {
|
|
|
29
29
|
currentTexture: null,
|
|
30
30
|
renderTargetViewport: null,
|
|
31
31
|
textureCache: new WeakMap(),
|
|
32
|
+
imageResourceTextureCache: new WeakMap(),
|
|
32
33
|
shaderLoc,
|
|
33
34
|
defaultBitmapShader: { locations: shaderLoc, program: shaderLoc.program, bind: vi.fn() },
|
|
34
35
|
quadVertexBuffer: {},
|
package/dist/glTestHelper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glTestHelper.js","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,MAAM,UAAU,aAAa,CAAC,OAAsE;IAMlG,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAC9B,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;QAC/C,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAClE,CAAkB,CAAC;IAEpB,4CAA4C;IAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,MAAM;QACN,EAAE;QACF,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,iGAAiG;IACjG,yDAAyD;IACzD,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;IAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,oBAAoB,EAAE,IAAI;QAC1B,YAAY,EAAE,IAAI,OAAO,EAAmC;QAC5D,SAAS;QACT,mBAAmB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACxF,gBAAgB,EAAE,EAAiB;QACnC,eAAe,EAAE,EAAiB;QAClC,cAAc,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC;QACpC,WAAW,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;QAChC,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,oBAAoB,EAAE,IAAI;QAC1B,gBAAgB,EAAE,CAAC;QACnB,yBAAyB,EAAE,IAAI;QAC/B,uBAAuB,EAAE,IAAI,YAAY,CAAC,EAAE,GAAG,GAAG,CAAC;QACnD,kBAAkB,EAAE,IAAI;KACe,CAAC,CAAC;IAC3C,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAElC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED,6EAA6E;AAC7E,uEAAuE;AACvE,mFAAmF;AACnF,MAAM,UAAU,MAAM;IACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAA2B,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,OAAO,EAAE,EAAkB;QAC3B,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,EAA0B;QACrC,QAAQ,EAAE,EAA0B;QACpC,kBAAkB,EAAE,EAA0B;QAC9C,cAAc,EAAE,EAA0B;QAC1C,oBAAoB,EAAE,EAA0B;QAChD,UAAU,EAAE,EAA0B;KACvC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"glTestHelper.js","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,MAAM,UAAU,aAAa,CAAC,OAAsE;IAMlG,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAC9B,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;QAC/C,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAClE,CAAkB,CAAC;IAEpB,4CAA4C;IAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,MAAM;QACN,EAAE;QACF,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,iGAAiG;IACjG,yDAAyD;IACzD,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;IAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,oBAAoB,EAAE,IAAI;QAC1B,YAAY,EAAE,IAAI,OAAO,EAAmC;QAC5D,yBAAyB,EAAE,IAAI,OAAO,EAAE;QACxC,SAAS;QACT,mBAAmB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACxF,gBAAgB,EAAE,EAAiB;QACnC,eAAe,EAAE,EAAiB;QAClC,cAAc,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC;QACpC,WAAW,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;QAChC,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,oBAAoB,EAAE,IAAI;QAC1B,gBAAgB,EAAE,CAAC;QACnB,yBAAyB,EAAE,IAAI;QAC/B,uBAAuB,EAAE,IAAI,YAAY,CAAC,EAAE,GAAG,GAAG,CAAC;QACnD,kBAAkB,EAAE,IAAI;KACe,CAAC,CAAC;IAC3C,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAElC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED,6EAA6E;AAC7E,uEAAuE;AACvE,mFAAmF;AACnF,MAAM,UAAU,MAAM;IACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAA2B,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,OAAO,EAAE,EAAkB;QAC3B,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,EAA0B;QACrC,QAAQ,EAAE,EAA0B;QACpC,kBAAkB,EAAE,EAA0B;QAC9C,cAAc,EAAE,EAA0B;QAC1C,oBAAoB,EAAE,EAA0B;QAChD,UAAU,EAAE,EAA0B;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ImageResource } from '@flighthq/types';
|
|
2
|
+
export declare function uploadGlTextureData(gl: WebGL2RenderingContext, target: number, width: number, height: number, data: Readonly<Uint8ClampedArray<ArrayBuffer>>): void;
|
|
3
|
+
export declare function uploadGlTextureElement(gl: WebGL2RenderingContext, target: number, source: TexImageSource): void;
|
|
4
|
+
export declare function uploadGlTextureImageResource(gl: WebGL2RenderingContext, target: number, image: Readonly<ImageResource>): void;
|
|
5
|
+
//# sourceMappingURL=glTextureUpload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glTextureUpload.d.ts","sourceRoot":"","sources":["../src/glTextureUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAWrD,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,sBAAsB,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAC7C,IAAI,CAYN;AAID,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAE/G;AAMD,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,sBAAsB,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC7B,IAAI,CAGN"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Raw texel-upload primitives. Each writes level 0 of the texture currently bound at `target` — the GL
|
|
2
|
+
// enum for a 2D texture (gl.TEXTURE_2D) or a cube face (gl.TEXTURE_CUBE_MAP_POSITIVE_X + face). They set
|
|
3
|
+
// no sampler or pixel-store state: premultiply, wrap, and filter are the caller's policy applied around
|
|
4
|
+
// the call, so one primitive serves both the premultiplied 2D sprite path and the raw-radiance cube path.
|
|
5
|
+
// The caller owns creating and binding the texture and choosing the target.
|
|
6
|
+
// Uploads raw CPU pixels (rgba8, straight from a Surface's `data`) through the ArrayBufferView overload.
|
|
7
|
+
// The portable bedrock upload — no web types in the signature — so a native GL/Vulkan backend reimplements
|
|
8
|
+
// it 1:1. `width`/`height` are the pixel dimensions the data fills.
|
|
9
|
+
export function uploadGlTextureData(gl, target, width, height, data) {
|
|
10
|
+
gl.texImage2D(target, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);
|
|
11
|
+
}
|
|
12
|
+
// Uploads a decoded DOM element (image, canvas, ImageBitmap, VideoFrame) through the TexImageSource
|
|
13
|
+
// overload — the web fast-path, a zero-CPU-copy GPU DMA. Absent on non-web hosts, which carry only `data`.
|
|
14
|
+
export function uploadGlTextureElement(gl, target, source) {
|
|
15
|
+
gl.texImage2D(target, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);
|
|
16
|
+
}
|
|
17
|
+
// Dispatches an ImageResource to whichever representation it carries: the element fast-path when a decoded
|
|
18
|
+
// `source` is present, else the portable `data` path (a generated Surface). The seam that makes data-backed
|
|
19
|
+
// resources first-class — the same texture uploads whether it was loaded (element) or generated in memory
|
|
20
|
+
// (data). Assumes the resource has pixels in at least one form.
|
|
21
|
+
export function uploadGlTextureImageResource(gl, target, image) {
|
|
22
|
+
if (image.source !== null)
|
|
23
|
+
uploadGlTextureElement(gl, target, image.source);
|
|
24
|
+
else
|
|
25
|
+
uploadGlTextureData(gl, target, image.width, image.height, image.data);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=glTextureUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glTextureUpload.js","sourceRoot":"","sources":["../src/glTextureUpload.ts"],"names":[],"mappings":"AAEA,uGAAuG;AACvG,yGAAyG;AACzG,wGAAwG;AACxG,0GAA0G;AAC1G,4EAA4E;AAE5E,yGAAyG;AACzG,2GAA2G;AAC3G,oEAAoE;AACpE,MAAM,UAAU,mBAAmB,CACjC,EAA0B,EAC1B,MAAc,EACd,KAAa,EACb,MAAc,EACd,IAA8C;IAE9C,EAAE,CAAC,UAAU,CACX,MAAM,EACN,CAAC,EACD,EAAE,CAAC,IAAI,EACP,KAAK,EACL,MAAM,EACN,CAAC,EACD,EAAE,CAAC,IAAI,EACP,EAAE,CAAC,aAAa,EAChB,IAAsC,CACvC,CAAC;AACJ,CAAC;AAED,oGAAoG;AACpG,2GAA2G;AAC3G,MAAM,UAAU,sBAAsB,CAAC,EAA0B,EAAE,MAAc,EAAE,MAAsB;IACvG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,2GAA2G;AAC3G,4GAA4G;AAC5G,0GAA0G;AAC1G,gEAAgE;AAChE,MAAM,UAAU,4BAA4B,CAC1C,EAA0B,EAC1B,MAAc,EACd,KAA8B;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;QAAE,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAwB,CAAC,CAAC;;QACzF,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAK,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glTextureVideoUpload.d.ts","sourceRoot":"","sources":["../src/glTextureVideoUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAcpD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,sBAAsB,EAC1B,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,EACpC,eAAe,EAAE,MAAM,GACtB,MAAM,CAUR"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { uploadGlTextureElement } from './glTextureUpload';
|
|
2
|
+
// The per-frame video-to-GPU upload path. A VideoTexture's backing HTMLVideoElement decodes new pixels
|
|
3
|
+
// continuously, so a driver re-uploads the currently-bound GL texture whenever the element's frame
|
|
4
|
+
// advances — but not on frames where nothing changed (a paused or stalled stream), which would waste a
|
|
5
|
+
// full-frame DMA. `uploadedFrameId` is the id the caller last uploaded; this compares it to the
|
|
6
|
+
// VideoTexture's `frameId` and re-uploads through the element fast-path only on a change, returning the
|
|
7
|
+
// id now on the GPU so the caller stores it for the next frame.
|
|
8
|
+
//
|
|
9
|
+
// The caller owns creating, binding, and setting sampler/pixel-store state on the texture; this writes
|
|
10
|
+
// level 0 at gl.TEXTURE_2D. Returns `uploadedFrameId` unchanged (no GL call) when the frame has not
|
|
11
|
+
// advanced or the element has no decoded frame yet, so it is safe to call every frame unconditionally.
|
|
12
|
+
export function uploadGlTextureVideoFrame(gl, videoTexture, uploadedFrameId) {
|
|
13
|
+
if (videoTexture.frameId === uploadedFrameId)
|
|
14
|
+
return uploadedFrameId;
|
|
15
|
+
const element = videoTexture.source.element;
|
|
16
|
+
// A first-frame guard: HAVE_CURRENT_DATA (2) with non-zero dimensions. texImage2D on an element with
|
|
17
|
+
// no decoded frame throws in some browsers, so skip until a frame exists and report no upload.
|
|
18
|
+
if (element === null || element.readyState < 2 || element.videoWidth <= 0 || element.videoHeight <= 0) {
|
|
19
|
+
return uploadedFrameId;
|
|
20
|
+
}
|
|
21
|
+
uploadGlTextureElement(gl, gl.TEXTURE_2D, element);
|
|
22
|
+
return videoTexture.frameId;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=glTextureVideoUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glTextureVideoUpload.js","sourceRoot":"","sources":["../src/glTextureVideoUpload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,uGAAuG;AACvG,mGAAmG;AACnG,uGAAuG;AACvG,gGAAgG;AAChG,wGAAwG;AACxG,gEAAgE;AAChE,EAAE;AACF,uGAAuG;AACvG,oGAAoG;AACpG,uGAAuG;AACvG,MAAM,UAAU,yBAAyB,CACvC,EAA0B,EAC1B,YAAoC,EACpC,eAAuB;IAEvB,IAAI,YAAY,CAAC,OAAO,KAAK,eAAe;QAAE,OAAO,eAAe,CAAC;IACrE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5C,qGAAqG;IACrG,+FAA+F;IAC/F,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QACtG,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAoC,CAAC,CAAC;IAChF,OAAO,YAAY,CAAC,OAAO,CAAC;AAC9B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
export * from './glBackground';
|
|
2
|
+
export * from './glCompressedTexture';
|
|
2
3
|
export * from './glDraw';
|
|
3
4
|
export * from './glElement';
|
|
4
5
|
export * from './glFullscreenPass';
|
|
6
|
+
export * from './glLinearToSrgbPass';
|
|
5
7
|
export * from './glMaterialRegistry';
|
|
8
|
+
export * from './glPresentRenderTarget';
|
|
6
9
|
export * from './glProgram';
|
|
7
10
|
export * from './glReadback';
|
|
11
|
+
export * from './glRenderPass';
|
|
8
12
|
export * from './glRenderState';
|
|
9
13
|
export * from './glRenderTarget';
|
|
10
14
|
export * from './glRenderTargetPool';
|
|
11
15
|
export * from './glShader';
|
|
12
16
|
export * from './glShaderBinding';
|
|
17
|
+
export * from './glSkinPaletteTexture';
|
|
18
|
+
export * from './glTextureUpload';
|
|
19
|
+
export * from './glTextureVideoUpload';
|
|
13
20
|
export type { GlRenderTarget } from '@flighthq/types';
|
|
14
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
export * from './glBackground';
|
|
2
|
+
export * from './glCompressedTexture';
|
|
2
3
|
export * from './glDraw';
|
|
3
4
|
export * from './glElement';
|
|
4
5
|
export * from './glFullscreenPass';
|
|
6
|
+
export * from './glLinearToSrgbPass';
|
|
5
7
|
export * from './glMaterialRegistry';
|
|
8
|
+
export * from './glPresentRenderTarget';
|
|
6
9
|
export * from './glProgram';
|
|
7
10
|
export * from './glReadback';
|
|
11
|
+
export * from './glRenderPass';
|
|
8
12
|
export * from './glRenderState';
|
|
9
13
|
export * from './glRenderTarget';
|
|
10
14
|
export * from './glRenderTargetPool';
|
|
11
15
|
export * from './glShader';
|
|
12
16
|
export * from './glShaderBinding';
|
|
17
|
+
export * from './glSkinPaletteTexture';
|
|
18
|
+
export * from './glTextureUpload';
|
|
19
|
+
export * from './glTextureVideoUpload';
|
|
13
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/render-gl",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1-next.410.a23f189",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@flighthq/displayobject": "0.2.
|
|
36
|
-
"@flighthq/geometry": "0.2.
|
|
37
|
-
"@flighthq/render": "0.2.
|
|
38
|
-
"@flighthq/types": "0.2.
|
|
35
|
+
"@flighthq/displayobject": "0.2.1-next.410.a23f189",
|
|
36
|
+
"@flighthq/geometry": "0.2.1-next.410.a23f189",
|
|
37
|
+
"@flighthq/render": "0.2.1-next.410.a23f189",
|
|
38
|
+
"@flighthq/types": "0.2.1-next.410.a23f189"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"typescript": "^5.3.0"
|