@codexo/exojs 0.10.0 → 0.11.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/CHANGELOG.md +83 -0
- package/dist/esm/core/dev.d.ts +21 -0
- package/dist/esm/core/dev.js +18 -0
- package/dist/esm/core/dev.js.map +1 -0
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +2 -2
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +5 -1
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +1 -1
- package/dist/esm/rendering/TransformBuffer.d.ts +44 -0
- package/dist/esm/rendering/TransformBuffer.js +64 -0
- package/dist/esm/rendering/TransformBuffer.js.map +1 -1
- package/dist/esm/rendering/gradient/Gradient.d.ts +35 -2
- package/dist/esm/rendering/gradient/Gradient.js +51 -5
- package/dist/esm/rendering/gradient/Gradient.js.map +1 -1
- package/dist/esm/rendering/gradient/LinearGradient.d.ts +11 -3
- package/dist/esm/rendering/gradient/LinearGradient.js +23 -0
- package/dist/esm/rendering/gradient/LinearGradient.js.map +1 -1
- package/dist/esm/rendering/gradient/RadialGradient.d.ts +11 -3
- package/dist/esm/rendering/gradient/RadialGradient.js +19 -0
- package/dist/esm/rendering/gradient/RadialGradient.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +1 -1
- package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts +2 -2
- package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts +2 -2
- package/dist/esm/rendering/pass/RenderPassDescriptor.js +1 -1
- package/dist/esm/rendering/plan/RenderCommand.d.ts +21 -2
- package/dist/esm/rendering/plan/RenderCommand.js +34 -1
- package/dist/esm/rendering/plan/RenderCommand.js.map +1 -1
- package/dist/esm/rendering/plan/RenderInstruction.d.ts +51 -0
- package/dist/esm/rendering/plan/RenderInstruction.js +45 -0
- package/dist/esm/rendering/plan/RenderInstruction.js.map +1 -0
- package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts +4 -0
- package/dist/esm/rendering/plan/RenderPlanPlayer.js +58 -7
- package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +70 -5
- package/dist/esm/rendering/primitives/Graphics.js +172 -14
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts +13 -8
- package/dist/esm/rendering/sprite/spriteMaterialSources.js +35 -14
- package/dist/esm/rendering/sprite/spriteMaterialSources.js.map +1 -1
- package/dist/esm/rendering/text/BitmapText.d.ts +2 -0
- package/dist/esm/rendering/text/BitmapText.js +8 -1
- package/dist/esm/rendering/text/BitmapText.js.map +1 -1
- package/dist/esm/rendering/text/BmFont.js +3 -0
- package/dist/esm/rendering/text/BmFont.js.map +1 -1
- package/dist/esm/rendering/text/GlyphSdf.d.ts +14 -0
- package/dist/esm/rendering/text/GlyphSdf.js +41 -11
- package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.d.ts +5 -0
- package/dist/esm/rendering/text/TextStyle.js +1 -1
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +23 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +50 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +3 -3
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +8 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +8 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +62 -39
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +7 -0
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +7 -0
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/glsl/sprite.vert.js +1 -1
- package/dist/esm/rendering/webgl2/glsl/text-color.frag.js +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +16 -3
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +49 -4
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +53 -41
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +7 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +17 -11
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +2 -2
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +9 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +122 -77
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +7 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +22 -13
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +32 -0
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +58 -12
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
- package/dist/esm/resources/Loader.js +1 -1
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/exo.esm.js +1022 -265
- package/dist/exo.esm.js.map +1 -1
- package/package.json +9 -5
|
@@ -25,6 +25,14 @@ class GlyphSdf {
|
|
|
25
25
|
_radius;
|
|
26
26
|
_cutoff;
|
|
27
27
|
_font;
|
|
28
|
+
_fontSize;
|
|
29
|
+
// Font-level ascent/descent — measured once from a reference string so that
|
|
30
|
+
// all glyph tiles share the same height and baseline position. This avoids
|
|
31
|
+
// the per-glyph actualBoundingBoxAscent variation that causes baseline jumps
|
|
32
|
+
// when fontBoundingBoxAscent is unavailable (common for loaded web fonts).
|
|
33
|
+
_fontAscent = 0;
|
|
34
|
+
_fontDescent = 0;
|
|
35
|
+
_metricsReady = false;
|
|
28
36
|
_canvasW = 0;
|
|
29
37
|
_canvasH = 0;
|
|
30
38
|
_canvas;
|
|
@@ -41,18 +49,19 @@ class GlyphSdf {
|
|
|
41
49
|
this._buffer = options.buffer ?? 8;
|
|
42
50
|
this._radius = options.radius ?? this._buffer;
|
|
43
51
|
this._cutoff = options.cutoff ?? 0.5;
|
|
52
|
+
this._fontSize = options.fontSize;
|
|
44
53
|
const stylePart = options.fontStyle && options.fontStyle !== 'normal' ? `${options.fontStyle} ` : '';
|
|
45
54
|
const weight = options.fontWeight ?? 'normal';
|
|
46
55
|
this._font = `${stylePart}${weight} ${options.fontSize}px ${options.fontFamily}`;
|
|
47
56
|
if (typeof OffscreenCanvas !== 'undefined') {
|
|
48
57
|
const c = new OffscreenCanvas(1, 1);
|
|
49
58
|
this._canvas = c;
|
|
50
|
-
this._ctx = c.getContext('2d');
|
|
59
|
+
this._ctx = c.getContext('2d', { willReadFrequently: true });
|
|
51
60
|
}
|
|
52
61
|
else {
|
|
53
62
|
const c = document.createElement('canvas');
|
|
54
63
|
this._canvas = c;
|
|
55
|
-
this._ctx = c.getContext('2d');
|
|
64
|
+
this._ctx = c.getContext('2d', { willReadFrequently: true });
|
|
56
65
|
}
|
|
57
66
|
}
|
|
58
67
|
/**
|
|
@@ -62,7 +71,28 @@ class GlyphSdf {
|
|
|
62
71
|
* fresh `Uint8ClampedArray`; the caller may hold a reference to it safely
|
|
63
72
|
* across subsequent `draw()` calls.
|
|
64
73
|
*/
|
|
74
|
+
/**
|
|
75
|
+
* Ensure font-level ascent/descent are measured. Called once per GlyphSdf
|
|
76
|
+
* instance — deferred to the first draw() so the canvas context is ready.
|
|
77
|
+
* Uses `fontBoundingBoxAscent/Descent` when available; falls back to
|
|
78
|
+
* `actualBoundingBoxAscent/Descent` measured from a reference string that
|
|
79
|
+
* covers ascenders ('H'), descenders ('g'), and diacritics ('É').
|
|
80
|
+
* Either way the same values are used for EVERY glyph so all tiles share a
|
|
81
|
+
* consistent height and a consistent baseline position within the tile.
|
|
82
|
+
*/
|
|
83
|
+
_ensureFontMetrics() {
|
|
84
|
+
if (this._metricsReady)
|
|
85
|
+
return;
|
|
86
|
+
const ctx = this._ctx;
|
|
87
|
+
ctx.font = this._font;
|
|
88
|
+
ctx.textBaseline = 'alphabetic';
|
|
89
|
+
const m = ctx.measureText('HgjpqyÉÅ');
|
|
90
|
+
this._fontAscent = Math.max(1, Math.ceil(m.fontBoundingBoxAscent ?? m.actualBoundingBoxAscent ?? this._fontSize * 0.8));
|
|
91
|
+
this._fontDescent = Math.max(1, Math.ceil(m.fontBoundingBoxDescent ?? m.actualBoundingBoxDescent ?? this._fontSize * 0.2));
|
|
92
|
+
this._metricsReady = true;
|
|
93
|
+
}
|
|
65
94
|
draw(char) {
|
|
95
|
+
this._ensureFontMetrics();
|
|
66
96
|
const ctx = this._ctx;
|
|
67
97
|
const buf = this._buffer;
|
|
68
98
|
// ── Measure ──────────────────────────────────────────────────────────
|
|
@@ -70,20 +100,20 @@ class GlyphSdf {
|
|
|
70
100
|
ctx.textBaseline = 'alphabetic';
|
|
71
101
|
const m = ctx.measureText(char);
|
|
72
102
|
const advance = m.width;
|
|
103
|
+
// Width uses per-glyph actual bounds — each glyph has a different width.
|
|
73
104
|
// Canvas 2D `actualBoundingBoxLeft` is the distance from the text's
|
|
74
105
|
// left-alignment point going LEFT to the left edge of the glyph bounding
|
|
75
106
|
// box. For most LTR characters this is 0; italic fonts may have a small
|
|
76
107
|
// positive value (left overhang).
|
|
77
108
|
const bbLeft = Math.max(0, Math.ceil(m.actualBoundingBoxLeft ?? 0));
|
|
78
109
|
const bbRight = Math.max(0, Math.ceil(m.actualBoundingBoxRight ?? advance));
|
|
79
|
-
const bbAscent = Math.max(0, Math.ceil(m.fontBoundingBoxAscent ??
|
|
80
|
-
m.actualBoundingBoxAscent ??
|
|
81
|
-
0));
|
|
82
|
-
const bbDescent = Math.max(0, Math.ceil(m.fontBoundingBoxDescent ??
|
|
83
|
-
m.actualBoundingBoxDescent ??
|
|
84
|
-
0));
|
|
85
110
|
const glyphWidth = Math.max(1, bbLeft + bbRight);
|
|
86
|
-
|
|
111
|
+
// Height uses font-level metrics — same for every glyph of this font/size
|
|
112
|
+
// so that all tiles are the same height and the baseline is always at
|
|
113
|
+
// buf + _fontAscent from the tile top. If per-glyph actualBoundingBoxAscent
|
|
114
|
+
// were used here instead, different glyphs would have their baselines at
|
|
115
|
+
// different positions in world space (the visual baseline-jump bug).
|
|
116
|
+
const glyphHeight = this._fontAscent + this._fontDescent;
|
|
87
117
|
const tileW = glyphWidth + 2 * buf;
|
|
88
118
|
const tileH = glyphHeight + 2 * buf;
|
|
89
119
|
// ── Resize canvas if the tile dimensions changed ───────────────────────
|
|
@@ -96,8 +126,8 @@ class GlyphSdf {
|
|
|
96
126
|
// ── Rasterize white glyph on transparent background ───────────────────
|
|
97
127
|
ctx.clearRect(0, 0, tileW, tileH);
|
|
98
128
|
ctx.fillStyle = '#ffffff';
|
|
99
|
-
//
|
|
100
|
-
ctx.fillText(char, buf + bbLeft, buf +
|
|
129
|
+
// Baseline at buf + _fontAscent — consistent across all glyphs.
|
|
130
|
+
ctx.fillText(char, buf + bbLeft, buf + this._fontAscent);
|
|
101
131
|
const rgba = ctx.getImageData(0, 0, tileW, tileH).data;
|
|
102
132
|
const n = tileW * tileH;
|
|
103
133
|
// ── Grow working arrays lazily ────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlyphSdf.js","sources":["../../../../../src/rendering/text/GlyphSdf.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYG;AAEH,MAAM,GAAG,GAAG,IAAI;AAuDhB;;;;;;;AAOG;MACU,QAAQ,CAAA;AACF,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,KAAK;
|
|
1
|
+
{"version":3,"file":"GlyphSdf.js","sources":["../../../../../src/rendering/text/GlyphSdf.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,11 @@ export interface TextStyleOptions {
|
|
|
54
54
|
*/
|
|
55
55
|
font?: FontFace;
|
|
56
56
|
fontFamily?: FontFamily;
|
|
57
|
+
/**
|
|
58
|
+
* CSS font-weight. Defaults to `'normal'` so that single-weight custom fonts
|
|
59
|
+
* render without browser-synthesised bold artefacts. Set explicitly to
|
|
60
|
+
* `'bold'` for display / title text that intentionally requires bold.
|
|
61
|
+
*/
|
|
57
62
|
fontWeight?: FontWeight;
|
|
58
63
|
fontStyle?: 'normal' | 'italic';
|
|
59
64
|
fontSize?: number;
|
|
@@ -47,7 +47,7 @@ class TextStyle {
|
|
|
47
47
|
constructor(options = {}) {
|
|
48
48
|
const explicitFace = typeof FontFace !== 'undefined' && options.font instanceof FontFace ? options.font : null;
|
|
49
49
|
this._fontFamily = explicitFace ? explicitFace.family : (options.fontFamily ?? 'Arial');
|
|
50
|
-
this._fontWeight = options.fontWeight ?? '
|
|
50
|
+
this._fontWeight = options.fontWeight ?? 'normal';
|
|
51
51
|
this._fontStyle = options.fontStyle ?? 'normal';
|
|
52
52
|
this._fontSize = options.fontSize ?? 20;
|
|
53
53
|
this._fillColor = options.fillColor ? options.fillColor.clone() : Color.white.clone();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextStyle.js","sources":["../../../../../src/rendering/text/TextStyle.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAeA,SAAS,SAAS,CAAC,CAAkB,EAAE,CAAkB,EAAA;AACvD,IAAA,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM;AAAE,QAAA,OAAO,MAAM;AAC/C,IAAA,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ;AAAE,QAAA,OAAO,QAAQ;AACrD,IAAA,OAAO,MAAM;AACf;
|
|
1
|
+
{"version":3,"file":"TextStyle.js","sources":["../../../../../src/rendering/text/TextStyle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderTexture.js","sources":["../../../../../src/rendering/texture/RenderTexture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"RenderTexture.js","sources":["../../../../../src/rendering/texture/RenderTexture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@ import type { Rectangle } from '@/math/Rectangle';
|
|
|
6
6
|
import { BlendModes } from '@/rendering/types';
|
|
7
7
|
import type { Drawable } from '../Drawable';
|
|
8
8
|
import type { Geometry } from '../geometry/Geometry';
|
|
9
|
-
import type
|
|
9
|
+
import { type DrawCommand } from '../plan/RenderCommand';
|
|
10
|
+
import type { RenderGroup } from '../plan/RenderInstruction';
|
|
10
11
|
import type { RenderBackend } from '../RenderBackend';
|
|
11
12
|
import { RenderBackendType } from '../RenderBackendType';
|
|
12
13
|
import { RendererRegistry } from '../RendererRegistry';
|
|
@@ -94,7 +95,28 @@ export declare class WebGl2Backend implements RenderBackend {
|
|
|
94
95
|
/** @internal */
|
|
95
96
|
_beginDrawPlan(nodeCount: number): void;
|
|
96
97
|
/** @internal */
|
|
98
|
+
_prepareRenderGroupUpload(group: RenderGroup): void;
|
|
99
|
+
/** @internal */
|
|
97
100
|
_prepareDrawCommand(command: DrawCommand): void;
|
|
101
|
+
/**
|
|
102
|
+
* Write a single draw command's world transform (+ tint) into the shared
|
|
103
|
+
* transform buffer at its `nodeIndex` slot. Used for draws that do not arrive
|
|
104
|
+
* through a render-group upload boundary — currently the mesh renderer's
|
|
105
|
+
* synthetic, non-plan instanced path.
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
_writeTransformCommand(command: DrawCommand): void;
|
|
109
|
+
/**
|
|
110
|
+
* Append a drawable's world transform (+ tint) to the shared transform buffer
|
|
111
|
+
* and return the slot it was written to. Used by instanced renderers for draws
|
|
112
|
+
* that arrive without a render-group upload boundary — i.e. a direct
|
|
113
|
+
* `backend.draw(drawable)` outside the plan player (`activeDrawCommand === null`),
|
|
114
|
+
* where no stable `nodeIndex` was assigned. Unlike {@link _writeTransformCommand}
|
|
115
|
+
* (fixed slot) this allocates a fresh slot, so a batch of synthetic draws does
|
|
116
|
+
* not collide on a single row.
|
|
117
|
+
* @internal
|
|
118
|
+
*/
|
|
119
|
+
_pushTransform(drawable: Drawable): number;
|
|
98
120
|
/** @internal */
|
|
99
121
|
_endDrawPlan(): void;
|
|
100
122
|
private _assertBalancedStencil;
|
|
@@ -7,6 +7,7 @@ import { BitmapText } from '../text/BitmapText.js';
|
|
|
7
7
|
import { Text } from '../text/Text.js';
|
|
8
8
|
import { BlendModes } from '../types.js';
|
|
9
9
|
import { Mesh } from '../mesh/Mesh.js';
|
|
10
|
+
import { drawCommandUsesSharedTransform } from '../plan/RenderCommand.js';
|
|
10
11
|
import { RenderBackendType } from '../RenderBackendType.js';
|
|
11
12
|
import { RendererRegistry } from '../RendererRegistry.js';
|
|
12
13
|
import { createRenderStats, resetRenderStats } from '../RenderStats.js';
|
|
@@ -195,11 +196,59 @@ class WebGl2Backend {
|
|
|
195
196
|
this._drawPlanDepth++;
|
|
196
197
|
}
|
|
197
198
|
/** @internal */
|
|
199
|
+
_prepareRenderGroupUpload(group) {
|
|
200
|
+
// Pack the whole render group's world transforms (+ tint) into the shared
|
|
201
|
+
// transform buffer at the group's upload boundary, keyed by each draw
|
|
202
|
+
// command's stable nodeIndex. Every draw the player will submit for this
|
|
203
|
+
// group is covered here, before the group's first draw — so the per-draw
|
|
204
|
+
// write previously done in `_prepareDrawCommand` is no longer needed and
|
|
205
|
+
// the buffer is filled one contiguous group slice at a time.
|
|
206
|
+
//
|
|
207
|
+
// Renderers that pack their own per-node data (Text, Particle) never read
|
|
208
|
+
// the shared buffer, so their commands are skipped — no consuming draw ever
|
|
209
|
+
// references their slots (nodeIndex is unique per command).
|
|
210
|
+
const instructions = group.instructions;
|
|
211
|
+
for (let i = 0; i < instructions.length; i++) {
|
|
212
|
+
const command = instructions[i];
|
|
213
|
+
if (drawCommandUsesSharedTransform(command, this)) {
|
|
214
|
+
this._writeTransformCommand(command);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
this._transformBuffer.recordSkippedWrite();
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/** @internal */
|
|
198
222
|
_prepareDrawCommand(command) {
|
|
223
|
+
// Transform packing now happens at the render-group upload boundary
|
|
224
|
+
// (`_prepareRenderGroupUpload`); this hook only tracks the active draw so
|
|
225
|
+
// the mesh renderer can read the current command's nodeIndex.
|
|
199
226
|
this._activeDrawCommand = command;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Write a single draw command's world transform (+ tint) into the shared
|
|
230
|
+
* transform buffer at its `nodeIndex` slot. Used for draws that do not arrive
|
|
231
|
+
* through a render-group upload boundary — currently the mesh renderer's
|
|
232
|
+
* synthetic, non-plan instanced path.
|
|
233
|
+
* @internal
|
|
234
|
+
*/
|
|
235
|
+
_writeTransformCommand(command) {
|
|
200
236
|
const drawable = command.drawable;
|
|
201
237
|
this._transformBuffer.write(command.nodeIndex, drawable.getGlobalTransform(), drawable.tint);
|
|
202
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Append a drawable's world transform (+ tint) to the shared transform buffer
|
|
241
|
+
* and return the slot it was written to. Used by instanced renderers for draws
|
|
242
|
+
* that arrive without a render-group upload boundary — i.e. a direct
|
|
243
|
+
* `backend.draw(drawable)` outside the plan player (`activeDrawCommand === null`),
|
|
244
|
+
* where no stable `nodeIndex` was assigned. Unlike {@link _writeTransformCommand}
|
|
245
|
+
* (fixed slot) this allocates a fresh slot, so a batch of synthetic draws does
|
|
246
|
+
* not collide on a single row.
|
|
247
|
+
* @internal
|
|
248
|
+
*/
|
|
249
|
+
_pushTransform(drawable) {
|
|
250
|
+
return this._transformBuffer.push(drawable.getGlobalTransform(), drawable.tint);
|
|
251
|
+
}
|
|
203
252
|
/** @internal */
|
|
204
253
|
_endDrawPlan() {
|
|
205
254
|
this._activeDrawCommand = null;
|
|
@@ -450,6 +499,7 @@ class WebGl2Backend {
|
|
|
450
499
|
}
|
|
451
500
|
if (snapshot.changed || snapshot.count !== this._transformTextureCount || snapshot.hash !== this._transformTextureHash) {
|
|
452
501
|
nextTransformTexture.commitRect(0, 0, 3, snapshot.count);
|
|
502
|
+
this._transformBuffer.recordUpload(snapshot.count);
|
|
453
503
|
this._transformTextureHash = snapshot.hash;
|
|
454
504
|
this._transformTextureCount = snapshot.count;
|
|
455
505
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGl2Backend.js","sources":["../../../../../src/rendering/webgl2/WebGl2Backend.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebGl2Backend.js","sources":["../../../../../src/rendering/webgl2/WebGl2Backend.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -184,9 +184,9 @@ class WebGl2MeshRenderer extends AbstractWebGl2Renderer {
|
|
|
184
184
|
this._packIndices(draw.mesh, 0);
|
|
185
185
|
const nodeIndex = draw.command?.nodeIndex ?? 0;
|
|
186
186
|
if (draw.command === null) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
// The synthetic, non-plan path does not arrive through a render-group
|
|
188
|
+
// upload boundary, so write its transform into the shared buffer directly.
|
|
189
|
+
backend._writeTransformCommand(this._createSyntheticCommand(draw.mesh, nodeIndex));
|
|
190
190
|
}
|
|
191
191
|
this._nodeIndexData[0] = nodeIndex >>> 0;
|
|
192
192
|
backend.bindVertexArrayObject(connection.dynamicVao);
|