@blakron/core 0.6.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blakron/display/Graphics.d.ts +1 -2
- package/dist/blakron/display/Graphics.d.ts.map +1 -1
- package/dist/blakron/display/Graphics.js +1 -2
- package/dist/blakron/display/Graphics.js.map +1 -1
- package/dist/blakron/display/Mesh.d.ts.map +1 -1
- package/dist/blakron/display/Mesh.js.map +1 -1
- package/dist/blakron/display/texture/BitmapData.d.ts +1 -2
- package/dist/blakron/display/texture/BitmapData.d.ts.map +1 -1
- package/dist/blakron/display/texture/BitmapData.js +1 -3
- package/dist/blakron/display/texture/BitmapData.js.map +1 -1
- package/dist/blakron/display/texture/SpriteSheet.d.ts +1 -2
- package/dist/blakron/display/texture/SpriteSheet.d.ts.map +1 -1
- package/dist/blakron/display/texture/SpriteSheet.js +1 -3
- package/dist/blakron/display/texture/SpriteSheet.js.map +1 -1
- package/dist/blakron/display/texture/Texture.d.ts +1 -2
- package/dist/blakron/display/texture/Texture.d.ts.map +1 -1
- package/dist/blakron/display/texture/Texture.js +1 -2
- package/dist/blakron/display/texture/Texture.js.map +1 -1
- package/dist/blakron/events/Event.d.ts +1 -2
- package/dist/blakron/events/Event.d.ts.map +1 -1
- package/dist/blakron/events/Event.js +1 -3
- package/dist/blakron/events/Event.js.map +1 -1
- package/dist/blakron/events/EventDispatcher.d.ts +1 -2
- package/dist/blakron/events/EventDispatcher.d.ts.map +1 -1
- package/dist/blakron/events/EventDispatcher.js +1 -3
- package/dist/blakron/events/EventDispatcher.js.map +1 -1
- package/dist/blakron/events/IEventDispatcher.d.ts +1 -2
- package/dist/blakron/events/IEventDispatcher.d.ts.map +1 -1
- package/dist/blakron/filters/Filter.d.ts +1 -3
- package/dist/blakron/filters/Filter.d.ts.map +1 -1
- package/dist/blakron/filters/Filter.js +2 -7
- package/dist/blakron/filters/Filter.js.map +1 -1
- package/dist/blakron/geom/Matrix.d.ts +1 -2
- package/dist/blakron/geom/Matrix.d.ts.map +1 -1
- package/dist/blakron/geom/Matrix.js +1 -3
- package/dist/blakron/geom/Matrix.js.map +1 -1
- package/dist/blakron/geom/Point.d.ts +1 -2
- package/dist/blakron/geom/Point.d.ts.map +1 -1
- package/dist/blakron/geom/Point.js +1 -3
- package/dist/blakron/geom/Point.js.map +1 -1
- package/dist/blakron/geom/Rectangle.d.ts +1 -2
- package/dist/blakron/geom/Rectangle.d.ts.map +1 -1
- package/dist/blakron/geom/Rectangle.js +1 -3
- package/dist/blakron/geom/Rectangle.js.map +1 -1
- package/dist/blakron/media/Sound.d.ts.map +1 -1
- package/dist/blakron/media/Sound.js +1 -1
- package/dist/blakron/media/Sound.js.map +1 -1
- package/dist/blakron/media/Video.d.ts.map +1 -1
- package/dist/blakron/media/Video.js +3 -10
- package/dist/blakron/media/Video.js.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderContext.d.ts.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderContext.js +2 -3
- package/dist/blakron/player/webgl/WebGLRenderContext.js.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderer.d.ts.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderer.js +21 -1
- package/dist/blakron/player/webgl/WebGLRenderer.js.map +1 -1
- package/dist/blakron/player/webgl/WebGLUtils.d.ts.map +1 -1
- package/dist/blakron/player/webgl/WebGLUtils.js +1 -2
- package/dist/blakron/player/webgl/WebGLUtils.js.map +1 -1
- package/dist/blakron/player/webgl/pipes/GraphicsPipe.d.ts.map +1 -1
- package/dist/blakron/player/webgl/pipes/GraphicsPipe.js +5 -3
- package/dist/blakron/player/webgl/pipes/GraphicsPipe.js.map +1 -1
- package/dist/blakron/player/webgl/pipes/TextPipe.d.ts.map +1 -1
- package/dist/blakron/player/webgl/pipes/TextPipe.js +5 -4
- package/dist/blakron/player/webgl/pipes/TextPipe.js.map +1 -1
- package/dist/blakron/text/StageText.d.ts.map +1 -1
- package/dist/blakron/text/StageText.js +0 -15
- package/dist/blakron/text/StageText.js.map +1 -1
- package/dist/blakron/utils/Base64Util.d.ts +15 -0
- package/dist/blakron/utils/Base64Util.d.ts.map +1 -1
- package/dist/blakron/utils/Base64Util.js +30 -34
- package/dist/blakron/utils/Base64Util.js.map +1 -1
- package/dist/blakron/utils/index.d.ts +0 -2
- package/dist/blakron/utils/index.d.ts.map +1 -1
- package/dist/blakron/utils/index.js +0 -1
- package/dist/blakron/utils/index.js.map +1 -1
- package/package.json +2 -1
- package/dist/blakron/player/webgl/UBOManager.d.ts +0 -35
- package/dist/blakron/player/webgl/UBOManager.d.ts.map +0 -1
- package/dist/blakron/player/webgl/UBOManager.js +0 -85
- package/dist/blakron/player/webgl/UBOManager.js.map +0 -1
- package/dist/blakron/utils/HashObject.d.ts +0 -9
- package/dist/blakron/utils/HashObject.d.ts.map +0 -1
- package/dist/blakron/utils/HashObject.js +0 -11
- package/dist/blakron/utils/HashObject.js.map +0 -1
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* std140 layout for the frame-level UBO shared by all shader programs.
|
|
3
|
-
*
|
|
4
|
-
* Binding point 0 — updated once per frame.
|
|
5
|
-
*
|
|
6
|
-
* Layout (std140):
|
|
7
|
-
* mat4 projectionMatrix — offset 0, size 64
|
|
8
|
-
* vec2 projectionVector — offset 64, size 8
|
|
9
|
-
* float uTime — offset 72, size 4
|
|
10
|
-
* // implicit padding to vec4 alignment = total 80 bytes
|
|
11
|
-
*/
|
|
12
|
-
const FRAME_UBO_SIZE = 80;
|
|
13
|
-
const FRAME_UBO_BINDING = 0;
|
|
14
|
-
/**
|
|
15
|
-
* Manages Uniform Buffer Objects for WebGL2 contexts.
|
|
16
|
-
*
|
|
17
|
-
* - `FrameUBO` (binding 0): projection matrix, projection vector, texture size,
|
|
18
|
-
* frame time — set once per frame, shared by all shader programs.
|
|
19
|
-
*
|
|
20
|
-
* WebGL1 fallback: the UBO manager is never created; uniform uploads
|
|
21
|
-
* continue via the existing per-draw gl.uniform*() path.
|
|
22
|
-
*/
|
|
23
|
-
export class UBOManager {
|
|
24
|
-
_gl;
|
|
25
|
-
_frameUBO;
|
|
26
|
-
_frameData;
|
|
27
|
-
_boundPrograms = new WeakSet();
|
|
28
|
-
constructor(gl) {
|
|
29
|
-
this._gl = gl;
|
|
30
|
-
const ubo = gl.createBuffer();
|
|
31
|
-
if (!ubo)
|
|
32
|
-
throw new Error('Failed to create UBO');
|
|
33
|
-
this._frameUBO = ubo;
|
|
34
|
-
gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
|
|
35
|
-
gl.bufferData(gl.UNIFORM_BUFFER, FRAME_UBO_SIZE, gl.DYNAMIC_DRAW);
|
|
36
|
-
// Bind to binding point 0 — shared by all programs
|
|
37
|
-
gl.bindBufferBase(gl.UNIFORM_BUFFER, FRAME_UBO_BINDING, ubo);
|
|
38
|
-
this._frameData = new Float32Array(FRAME_UBO_SIZE / 4);
|
|
39
|
-
}
|
|
40
|
-
// ── Frame UBO update ──────────────────────────────────────────────────────
|
|
41
|
-
/** Update the frame-level UBO. Call once per frame. */
|
|
42
|
-
updateFrame(projectionX, projectionY, time) {
|
|
43
|
-
const d = this._frameData;
|
|
44
|
-
d[16] = projectionX;
|
|
45
|
-
d[17] = projectionY;
|
|
46
|
-
d[18] = time;
|
|
47
|
-
const gl = this._gl;
|
|
48
|
-
gl.bindBuffer(gl.UNIFORM_BUFFER, this._frameUBO);
|
|
49
|
-
gl.bufferSubData(gl.UNIFORM_BUFFER, 64, d.subarray(16, 19));
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Update only the projectionVector in the frame UBO.
|
|
53
|
-
* Must be called whenever the active render buffer changes (e.g. switching
|
|
54
|
-
* to an offscreen filter buffer) so that vertex positions are projected
|
|
55
|
-
* correctly for the new buffer dimensions.
|
|
56
|
-
*/
|
|
57
|
-
updateProjection(projectionX, projectionY) {
|
|
58
|
-
const d = this._frameData;
|
|
59
|
-
d[16] = projectionX;
|
|
60
|
-
d[17] = projectionY;
|
|
61
|
-
const gl = this._gl;
|
|
62
|
-
gl.bindBuffer(gl.UNIFORM_BUFFER, this._frameUBO);
|
|
63
|
-
gl.bufferSubData(gl.UNIFORM_BUFFER, 64, d.subarray(16, 18));
|
|
64
|
-
}
|
|
65
|
-
// ── Program binding ───────────────────────────────────────────────────────
|
|
66
|
-
/**
|
|
67
|
-
* Bind the frame UBO to a program's uniform block.
|
|
68
|
-
* Safe to call repeatedly — only binds once per program (WeakSet tracked).
|
|
69
|
-
*/
|
|
70
|
-
ensureBound(program) {
|
|
71
|
-
if (this._boundPrograms.has(program))
|
|
72
|
-
return;
|
|
73
|
-
this._boundPrograms.add(program);
|
|
74
|
-
const gl = this._gl;
|
|
75
|
-
const blockIndex = gl.getUniformBlockIndex(program, 'FrameUniforms');
|
|
76
|
-
if (blockIndex !== gl.INVALID_INDEX) {
|
|
77
|
-
gl.uniformBlockBinding(program, blockIndex, FRAME_UBO_BINDING);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// ── Cleanup ───────────────────────────────────────────────────────────────
|
|
81
|
-
destroy() {
|
|
82
|
-
this._gl.deleteBuffer(this._frameUBO);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=UBOManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UBOManager.js","sourceRoot":"","sources":["../../../../src/blakron/player/webgl/UBOManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HashObject.d.ts","sourceRoot":"","sources":["../../../src/blakron/utils/HashObject.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,UAAW,YAAW,WAAW;IAC7C,OAAO,CAAC,SAAS,CAAS;;IAM1B,IAAW,QAAQ,IAAI,MAAM,CAE5B;CACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HashObject.js","sourceRoot":"","sources":["../../../src/blakron/utils/HashObject.ts"],"names":[],"mappings":"AAIA,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,MAAM,OAAO,UAAU;IACd,SAAS,CAAS;IAE1B;QACC,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;CACD"}
|