@codexo/exojs 2.1.0 → 2.1.1
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 +20 -0
- package/README.md +1 -3
- package/dist/esm/particles/emitters/ParticleOptions.d.ts +11 -0
- package/dist/esm/particles/emitters/ParticleOptions.js +11 -0
- package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +1 -1
- package/dist/esm/rendering/Container.js +5 -2
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js +7 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +66 -43
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.d.ts +2 -6
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +160 -93
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.js +50 -39
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +75 -32
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/exo.d.ts +14 -7
- package/dist/exo.esm.js +374 -209
- package/dist/exo.esm.js.map +1 -1
- package/dist/exo.esm.min.js +1 -1
- package/dist/exo.esm.min.js.map +1 -1
- package/dist/exo.global.js +374 -209
- package/dist/exo.global.js.map +1 -1
- package/dist/exo.global.min.js +1 -1
- package/dist/exo.global.min.js.map +1 -1
- package/package.json +3 -4
|
@@ -8,7 +8,7 @@ const spriteShaderSource = `
|
|
|
8
8
|
struct ProjectionUniforms {
|
|
9
9
|
matrix: mat4x4<f32>,
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
@group(0) @binding(0)
|
|
13
13
|
var<uniform> projection: ProjectionUniforms;
|
|
14
14
|
|
|
@@ -45,7 +45,7 @@ var spriteSampler5: sampler;
|
|
|
45
45
|
var spriteSampler6: sampler;
|
|
46
46
|
@group(1) @binding(15)
|
|
47
47
|
var spriteSampler7: sampler;
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
struct VertexInput {
|
|
50
50
|
@location(0) position: vec2<f32>,
|
|
51
51
|
@location(1) texcoord: vec2<f32>,
|
|
@@ -53,7 +53,7 @@ struct VertexInput {
|
|
|
53
53
|
@location(3) premultiplySample: u32,
|
|
54
54
|
@location(4) textureSlot: u32,
|
|
55
55
|
};
|
|
56
|
-
|
|
56
|
+
|
|
57
57
|
struct VertexOutput {
|
|
58
58
|
@builtin(position) position: vec4<f32>,
|
|
59
59
|
@location(0) texcoord: vec2<f32>,
|
|
@@ -61,12 +61,12 @@ struct VertexOutput {
|
|
|
61
61
|
@location(2) @interpolate(flat) premultiplySample: u32,
|
|
62
62
|
@location(3) @interpolate(flat) textureSlot: u32,
|
|
63
63
|
};
|
|
64
|
-
|
|
65
|
-
@vertex
|
|
66
|
-
fn vertexMain(input: VertexInput) -> VertexOutput {
|
|
67
|
-
var output: VertexOutput;
|
|
68
|
-
|
|
69
|
-
output.position = projection.matrix * vec4<f32>(input.position, 0.0, 1.0);
|
|
64
|
+
|
|
65
|
+
@vertex
|
|
66
|
+
fn vertexMain(input: VertexInput) -> VertexOutput {
|
|
67
|
+
var output: VertexOutput;
|
|
68
|
+
|
|
69
|
+
output.position = projection.matrix * vec4<f32>(input.position, 0.0, 1.0);
|
|
70
70
|
output.texcoord = input.texcoord;
|
|
71
71
|
output.color = vec4(input.color.rgb * input.color.a, input.color.a);
|
|
72
72
|
output.premultiplySample = input.premultiplySample;
|
|
@@ -75,38 +75,46 @@ fn vertexMain(input: VertexInput) -> VertexOutput {
|
|
|
75
75
|
return output;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
fn sampleTexture(slot: u32, uv: vec2<f32>) -> vec4<f32> {
|
|
78
|
+
fn sampleTexture(slot: u32, uv: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> {
|
|
79
79
|
switch slot {
|
|
80
80
|
case 0u: {
|
|
81
|
-
return
|
|
81
|
+
return textureSampleGrad(spriteTexture0, spriteSampler0, uv, ddx, ddy);
|
|
82
82
|
}
|
|
83
83
|
case 1u: {
|
|
84
|
-
return
|
|
84
|
+
return textureSampleGrad(spriteTexture1, spriteSampler1, uv, ddx, ddy);
|
|
85
85
|
}
|
|
86
86
|
case 2u: {
|
|
87
|
-
return
|
|
87
|
+
return textureSampleGrad(spriteTexture2, spriteSampler2, uv, ddx, ddy);
|
|
88
88
|
}
|
|
89
89
|
case 3u: {
|
|
90
|
-
return
|
|
90
|
+
return textureSampleGrad(spriteTexture3, spriteSampler3, uv, ddx, ddy);
|
|
91
91
|
}
|
|
92
92
|
case 4u: {
|
|
93
|
-
return
|
|
93
|
+
return textureSampleGrad(spriteTexture4, spriteSampler4, uv, ddx, ddy);
|
|
94
94
|
}
|
|
95
95
|
case 5u: {
|
|
96
|
-
return
|
|
96
|
+
return textureSampleGrad(spriteTexture5, spriteSampler5, uv, ddx, ddy);
|
|
97
97
|
}
|
|
98
98
|
case 6u: {
|
|
99
|
-
return
|
|
99
|
+
return textureSampleGrad(spriteTexture6, spriteSampler6, uv, ddx, ddy);
|
|
100
100
|
}
|
|
101
101
|
default: {
|
|
102
|
-
return
|
|
102
|
+
return textureSampleGrad(spriteTexture7, spriteSampler7, uv, ddx, ddy);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
@fragment
|
|
108
108
|
fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
|
|
109
|
-
|
|
109
|
+
// Compute screen-space derivatives in uniform control flow before the
|
|
110
|
+
// per-slot switch. WGSL requires textureSample (implicit LOD) to run in
|
|
111
|
+
// uniform control flow, which multi-texture batching breaks because the
|
|
112
|
+
// slot varies per fragment. textureSampleGrad takes explicit derivatives
|
|
113
|
+
// and is valid regardless of control-flow uniformity, while preserving
|
|
114
|
+
// mipmap-correct LOD when sprites use mipmapped textures.
|
|
115
|
+
let ddx = dpdx(input.texcoord);
|
|
116
|
+
let ddy = dpdy(input.texcoord);
|
|
117
|
+
let sample = sampleTexture(input.textureSlot, input.texcoord, ddx, ddy);
|
|
110
118
|
let resolvedSample = select(sample, vec4(sample.rgb * sample.a, sample.a), input.premultiplySample == 1u);
|
|
111
119
|
|
|
112
120
|
return resolvedSample * input.color;
|
|
@@ -256,6 +264,44 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
|
|
|
256
264
|
if (this._drawCallCount === 0 && !renderManager.clearRequested) {
|
|
257
265
|
return;
|
|
258
266
|
}
|
|
267
|
+
// Grow vertex/index buffers up front for the TOTAL sprite count. Two
|
|
268
|
+
// reasons this must happen before the render pass begins:
|
|
269
|
+
// 1. _ensureBatchCapacity destroys old buffers and creates new ones
|
|
270
|
+
// when capacity grows, so running it after setVertexBuffer /
|
|
271
|
+
// setIndexBuffer would leave the pass bound to destroyed buffers.
|
|
272
|
+
// 2. All batches are packed into the vertex buffer at distinct
|
|
273
|
+
// sprite offsets, so the buffer must hold every sprite in the
|
|
274
|
+
// flush, not just one batch worth.
|
|
275
|
+
if (this._drawCallCount > 0) {
|
|
276
|
+
this._ensureBatchCapacity(this._drawCallCount);
|
|
277
|
+
}
|
|
278
|
+
// Walk the batches once, packing each batch's vertex data into the
|
|
279
|
+
// CPU-side buffer at its own sprite-aligned offset. Each batch's
|
|
280
|
+
// metadata is recorded for the draw loop below.
|
|
281
|
+
//
|
|
282
|
+
// This replaces an earlier per-batch queue.writeBuffer(..., offset: 0)
|
|
283
|
+
// pattern where every writeBuffer targeted the same GPU offset. All
|
|
284
|
+
// writeBuffers in a frame execute before queue.submit(commandBuffer),
|
|
285
|
+
// so only the last batch's vertex data survived — which meant any
|
|
286
|
+
// flush containing more than one batch rendered every batch using
|
|
287
|
+
// the LAST batch's vertices (background vanished, sprites duplicated
|
|
288
|
+
// at wrong sizes, etc. whenever blend mode / texture slot / pipeline
|
|
289
|
+
// caused a split into multiple batches).
|
|
290
|
+
const batchPlan = [];
|
|
291
|
+
let packedSpriteCount = 0;
|
|
292
|
+
for (let start = 0; start < this._drawCallCount;) {
|
|
293
|
+
const batch = this._getBatchRange(start);
|
|
294
|
+
const spriteCount = batch.end - batch.start;
|
|
295
|
+
this._writeBatchVertexData(batch, packedSpriteCount);
|
|
296
|
+
batchPlan.push({
|
|
297
|
+
firstSprite: packedSpriteCount,
|
|
298
|
+
spriteCount,
|
|
299
|
+
blendMode: batch.blendMode,
|
|
300
|
+
textures: batch.textures,
|
|
301
|
+
});
|
|
302
|
+
packedSpriteCount += spriteCount;
|
|
303
|
+
start = batch.end;
|
|
304
|
+
}
|
|
259
305
|
const viewMatrix = renderManager.view.getTransform();
|
|
260
306
|
this._projectionData.set([
|
|
261
307
|
viewMatrix.a, viewMatrix.c, 0, 0,
|
|
@@ -275,23 +321,20 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
|
|
|
275
321
|
pass.setScissorRect(scissor.x, scissor.y, scissor.width, scissor.height);
|
|
276
322
|
}
|
|
277
323
|
if (this._drawCallCount > 0 && !maskClipsAll) {
|
|
324
|
+
// Single upload for the whole packed vertex buffer — every batch
|
|
325
|
+
// reads from its own sprite range via drawIndexed's firstIndex.
|
|
326
|
+
device.queue.writeBuffer(this._vertexBuffer, 0, this._vertexData, 0, packedSpriteCount * spriteVertexCount * vertexStrideBytes);
|
|
278
327
|
pass.setBindGroup(0, uniformBindGroup);
|
|
279
328
|
pass.setVertexBuffer(0, this._vertexBuffer);
|
|
280
329
|
pass.setIndexBuffer(this._indexBuffer, 'uint32');
|
|
281
|
-
for (
|
|
282
|
-
const
|
|
283
|
-
const
|
|
284
|
-
const spriteCount = batch.end - batch.start;
|
|
285
|
-
this._ensureBatchCapacity(spriteCount);
|
|
286
|
-
this._writeBatchVertexData(batch);
|
|
287
|
-
device.queue.writeBuffer(this._vertexBuffer, 0, this._vertexData, 0, spriteCount * spriteVertexCount * vertexStrideBytes);
|
|
288
|
-
const textureBindGroup = this._createTextureBindGroup(device, renderManager, batch.textures);
|
|
330
|
+
for (const plan of batchPlan) {
|
|
331
|
+
const pipeline = this._getPipeline(plan.blendMode, renderManager.renderTargetFormat);
|
|
332
|
+
const textureBindGroup = this._createTextureBindGroup(device, renderManager, plan.textures);
|
|
289
333
|
pass.setPipeline(pipeline);
|
|
290
334
|
pass.setBindGroup(1, textureBindGroup);
|
|
291
|
-
pass.drawIndexed(
|
|
335
|
+
pass.drawIndexed(plan.spriteCount * spriteIndexCount, 1, plan.firstSprite * spriteIndexCount, 0, 0);
|
|
292
336
|
renderManager.stats.batches++;
|
|
293
337
|
renderManager.stats.drawCalls++;
|
|
294
|
-
start = batch.end;
|
|
295
338
|
}
|
|
296
339
|
}
|
|
297
340
|
pass.end();
|
|
@@ -316,7 +359,7 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
|
|
|
316
359
|
});
|
|
317
360
|
const indexData = new Uint32Array(nextCapacity * spriteIndexCount);
|
|
318
361
|
const indexBuffer = this._device.createBuffer({
|
|
319
|
-
size: indexData.byteLength
|
|
362
|
+
size: indexData.byteLength,
|
|
320
363
|
usage: GPUBufferUsage.INDEX | GPUBufferUsage.COPY_DST,
|
|
321
364
|
});
|
|
322
365
|
for (let spriteIndex = 0; spriteIndex < nextCapacity; spriteIndex++) {
|
|
@@ -339,12 +382,12 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
|
|
|
339
382
|
this._vertexBuffer = vertexBuffer;
|
|
340
383
|
this._indexBuffer = indexBuffer;
|
|
341
384
|
}
|
|
342
|
-
_writeBatchVertexData(batch) {
|
|
385
|
+
_writeBatchVertexData(batch, firstSprite) {
|
|
343
386
|
const renderManager = this._renderManager;
|
|
344
387
|
if (!renderManager) {
|
|
345
388
|
return;
|
|
346
389
|
}
|
|
347
|
-
let vertexOffset =
|
|
390
|
+
let vertexOffset = firstSprite * spriteVertexCount * wordsPerVertex;
|
|
348
391
|
for (let drawCallIndex = batch.start; drawCallIndex < batch.end; drawCallIndex++) {
|
|
349
392
|
const drawCall = this._drawCalls[drawCallIndex];
|
|
350
393
|
const textureSlot = batch.textureSlots.get(drawCall.texture) ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGpuSpriteRenderer.js","sources":["../../../../../src/rendering/webgpu/WebGpuSpriteRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebGpuSpriteRenderer.js","sources":["../../../../../src/rendering/webgpu/WebGpuSpriteRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/exo.d.ts
CHANGED
|
@@ -1031,7 +1031,7 @@ declare module "rendering/Container" {
|
|
|
1031
1031
|
get top(): number;
|
|
1032
1032
|
get right(): number;
|
|
1033
1033
|
get bottom(): number;
|
|
1034
|
-
addChild(
|
|
1034
|
+
addChild(...children: Array<SceneNode>): this;
|
|
1035
1035
|
addChildAt(child: SceneNode, index: number): this;
|
|
1036
1036
|
swapChildren(firstChild: SceneNode, secondChild: SceneNode): this;
|
|
1037
1037
|
getChildIndex(child: SceneNode): number;
|
|
@@ -2726,6 +2726,17 @@ declare module "particles/emitters/ParticleOptions" {
|
|
|
2726
2726
|
set totalLifetime(totalLifetime: Time);
|
|
2727
2727
|
get elapsedLifetime(): Time;
|
|
2728
2728
|
set elapsedLifetime(elapsedLifetime: Time);
|
|
2729
|
+
/**
|
|
2730
|
+
* Spawn position for particles emitted with these options, expressed in
|
|
2731
|
+
* the owning ParticleSystem's LOCAL coordinate space — the system's own
|
|
2732
|
+
* `getGlobalTransform()` is applied on top during rendering (both the
|
|
2733
|
+
* WebGL2 and WebGPU shaders do `projection * translation * rotated`).
|
|
2734
|
+
*
|
|
2735
|
+
* Setting a world-space value here (e.g. `system.x + offset`) will
|
|
2736
|
+
* double-translate the emitter because the shader will translate again.
|
|
2737
|
+
* For an emitter anchored at the system origin, use small offsets around
|
|
2738
|
+
* `(0, 0)` and position the system itself via `system.setPosition(...)`.
|
|
2739
|
+
*/
|
|
2729
2740
|
get position(): Vector;
|
|
2730
2741
|
set position(position: Vector);
|
|
2731
2742
|
get velocity(): Vector;
|
|
@@ -3089,15 +3100,11 @@ declare module "rendering/webgpu/WebGpuPrimitiveRenderer" {
|
|
|
3089
3100
|
private readonly _combinedTransform;
|
|
3090
3101
|
private readonly _drawCalls;
|
|
3091
3102
|
private _drawCallCount;
|
|
3092
|
-
private readonly _transformData;
|
|
3093
3103
|
private readonly _pipelines;
|
|
3094
3104
|
private _renderManager;
|
|
3095
3105
|
private _device;
|
|
3096
3106
|
private _shaderModule;
|
|
3097
|
-
private _bindGroupLayout;
|
|
3098
3107
|
private _pipelineLayout;
|
|
3099
|
-
private _uniformBuffer;
|
|
3100
|
-
private _bindGroup;
|
|
3101
3108
|
private _vertexBuffer;
|
|
3102
3109
|
private _indexBuffer;
|
|
3103
3110
|
private _vertexBufferCapacity;
|
|
@@ -3105,6 +3112,7 @@ declare module "rendering/webgpu/WebGpuPrimitiveRenderer" {
|
|
|
3105
3112
|
private _vertexData;
|
|
3106
3113
|
private _float32View;
|
|
3107
3114
|
private _uint32View;
|
|
3115
|
+
private _packedIndexData;
|
|
3108
3116
|
private _generatedIndexData;
|
|
3109
3117
|
private _sequentialIndexData;
|
|
3110
3118
|
render(shape: DrawableShape): void;
|
|
@@ -3112,8 +3120,7 @@ declare module "rendering/webgpu/WebGpuPrimitiveRenderer" {
|
|
|
3112
3120
|
destroy(): void;
|
|
3113
3121
|
protected onConnect(runtime: WebGpuRendererRuntime): void;
|
|
3114
3122
|
protected onDisconnect(): void;
|
|
3115
|
-
private
|
|
3116
|
-
private _writeVertexData;
|
|
3123
|
+
private _writeShapeVertices;
|
|
3117
3124
|
private _ensureVertexCapacity;
|
|
3118
3125
|
private _ensureIndexCapacity;
|
|
3119
3126
|
private _getPipeline;
|