@codexo/exojs 0.6.1 → 0.6.3
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 +516 -464
- package/README.md +156 -156
- package/dist/esm/core/capabilities.d.ts +37 -0
- package/dist/esm/core/capabilities.js +96 -0
- package/dist/esm/core/capabilities.js.map +1 -0
- package/dist/esm/core/index.d.ts +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +3 -0
- package/dist/esm/rendering/mesh/Mesh.d.ts +69 -0
- package/dist/esm/rendering/mesh/Mesh.js +114 -0
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +3 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +27 -0
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +242 -0
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/mask-compose.frag.js +1 -1
- package/dist/esm/rendering/webgl2/glsl/mask-compose.vert.js +1 -1
- package/dist/esm/rendering/webgl2/glsl/mesh.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/mesh.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/mesh.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/mesh.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/particle.frag.js +1 -1
- package/dist/esm/rendering/webgl2/glsl/primitive.frag.js +1 -1
- package/dist/esm/rendering/webgl2/glsl/primitive.vert.js +1 -1
- package/dist/esm/rendering/webgl2/glsl/sprite.frag.js +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +44 -41
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +44 -44
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +40 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +439 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +65 -65
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +25 -25
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +1 -1
- package/dist/esm/vendor/webgl-debug.js +1156 -1156
- package/dist/esm/vendor/webgl-debug.js.map +1 -1
- package/dist/exo.esm.js +3150 -2279
- package/dist/exo.esm.js.map +1 -1
- package/package.json +105 -105
|
@@ -6,10 +6,12 @@ import { createRenderStats, resetRenderStats } from '../RenderStats.js';
|
|
|
6
6
|
import { RenderTarget } from '../RenderTarget.js';
|
|
7
7
|
import { WebGpuPrimitiveRenderer } from './WebGpuPrimitiveRenderer.js';
|
|
8
8
|
import { WebGpuSpriteRenderer } from './WebGpuSpriteRenderer.js';
|
|
9
|
+
import { WebGpuMeshRenderer } from './WebGpuMeshRenderer.js';
|
|
9
10
|
import { WebGpuParticleRenderer } from './WebGpuParticleRenderer.js';
|
|
10
11
|
import { WebGpuMaskCompositor } from './WebGpuMaskCompositor.js';
|
|
11
12
|
import { RenderTexture } from '../texture/RenderTexture.js';
|
|
12
13
|
import { Sprite } from '../sprite/Sprite.js';
|
|
14
|
+
import { Mesh } from '../mesh/Mesh.js';
|
|
13
15
|
import { DrawableShape } from '../primitives/DrawableShape.js';
|
|
14
16
|
import { ParticleSystem } from '../../particles/ParticleSystem.js';
|
|
15
17
|
import { Vector } from '../../math/Vector.js';
|
|
@@ -57,6 +59,7 @@ class WebGpuBackend {
|
|
|
57
59
|
}
|
|
58
60
|
this.rendererRegistry.registerRenderer(DrawableShape, new WebGpuPrimitiveRenderer());
|
|
59
61
|
this.rendererRegistry.registerRenderer(Sprite, new WebGpuSpriteRenderer());
|
|
62
|
+
this.rendererRegistry.registerRenderer(Mesh, new WebGpuMeshRenderer());
|
|
60
63
|
this.rendererRegistry.registerRenderer(ParticleSystem, new WebGpuParticleRenderer());
|
|
61
64
|
this.resize(width, height);
|
|
62
65
|
}
|
|
@@ -714,47 +717,47 @@ class WebGpuBackend {
|
|
|
714
717
|
_getMipmapResources() {
|
|
715
718
|
if (this._mipmapShaderModule === null || this._mipmapBindGroupLayout === null || this._mipmapPipelineLayout === null || this._mipmapPipeline === null || this._mipmapSampler === null) {
|
|
716
719
|
this._mipmapShaderModule = this.device.createShaderModule({
|
|
717
|
-
code: `
|
|
718
|
-
struct VertexOutput {
|
|
719
|
-
@builtin(position) position: vec4<f32>,
|
|
720
|
-
@location(0) texcoord: vec2<f32>,
|
|
721
|
-
};
|
|
722
|
-
|
|
723
|
-
@group(0) @binding(0)
|
|
724
|
-
var sourceTexture: texture_2d<f32>;
|
|
725
|
-
@group(0) @binding(1)
|
|
726
|
-
var sourceSampler: sampler;
|
|
727
|
-
|
|
728
|
-
@vertex
|
|
729
|
-
fn vertexMain(@builtin(vertex_index) vertexIndex: u32) -> VertexOutput {
|
|
730
|
-
var positions = array<vec2<f32>, 3>(
|
|
731
|
-
vec2<f32>(-1.0, -1.0),
|
|
732
|
-
vec2<f32>(3.0, -1.0),
|
|
733
|
-
vec2<f32>(-1.0, 3.0)
|
|
734
|
-
);
|
|
735
|
-
// Y is flipped vs the position array: NDC Y points up, but texture UV
|
|
736
|
-
// Y points down (UV (0,0) is the top-left of the source). Matching the
|
|
737
|
-
// two ensures that the output texture's top-left pixel samples from the
|
|
738
|
-
// source's top-left, so every mip level has the same orientation as the
|
|
739
|
-
// level above it. Prior to this, odd mip levels were rendered upside
|
|
740
|
-
// down, producing visible texture flips at view-size doublings.
|
|
741
|
-
var texcoords = array<vec2<f32>, 3>(
|
|
742
|
-
vec2<f32>(0.0, 1.0),
|
|
743
|
-
vec2<f32>(2.0, 1.0),
|
|
744
|
-
vec2<f32>(0.0, -1.0)
|
|
745
|
-
);
|
|
746
|
-
var output: VertexOutput;
|
|
747
|
-
|
|
748
|
-
output.position = vec4<f32>(positions[vertexIndex], 0.0, 1.0);
|
|
749
|
-
output.texcoord = texcoords[vertexIndex];
|
|
750
|
-
|
|
751
|
-
return output;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
@fragment
|
|
755
|
-
fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
|
|
756
|
-
return textureSample(sourceTexture, sourceSampler, input.texcoord);
|
|
757
|
-
}
|
|
720
|
+
code: `
|
|
721
|
+
struct VertexOutput {
|
|
722
|
+
@builtin(position) position: vec4<f32>,
|
|
723
|
+
@location(0) texcoord: vec2<f32>,
|
|
724
|
+
};
|
|
725
|
+
|
|
726
|
+
@group(0) @binding(0)
|
|
727
|
+
var sourceTexture: texture_2d<f32>;
|
|
728
|
+
@group(0) @binding(1)
|
|
729
|
+
var sourceSampler: sampler;
|
|
730
|
+
|
|
731
|
+
@vertex
|
|
732
|
+
fn vertexMain(@builtin(vertex_index) vertexIndex: u32) -> VertexOutput {
|
|
733
|
+
var positions = array<vec2<f32>, 3>(
|
|
734
|
+
vec2<f32>(-1.0, -1.0),
|
|
735
|
+
vec2<f32>(3.0, -1.0),
|
|
736
|
+
vec2<f32>(-1.0, 3.0)
|
|
737
|
+
);
|
|
738
|
+
// Y is flipped vs the position array: NDC Y points up, but texture UV
|
|
739
|
+
// Y points down (UV (0,0) is the top-left of the source). Matching the
|
|
740
|
+
// two ensures that the output texture's top-left pixel samples from the
|
|
741
|
+
// source's top-left, so every mip level has the same orientation as the
|
|
742
|
+
// level above it. Prior to this, odd mip levels were rendered upside
|
|
743
|
+
// down, producing visible texture flips at view-size doublings.
|
|
744
|
+
var texcoords = array<vec2<f32>, 3>(
|
|
745
|
+
vec2<f32>(0.0, 1.0),
|
|
746
|
+
vec2<f32>(2.0, 1.0),
|
|
747
|
+
vec2<f32>(0.0, -1.0)
|
|
748
|
+
);
|
|
749
|
+
var output: VertexOutput;
|
|
750
|
+
|
|
751
|
+
output.position = vec4<f32>(positions[vertexIndex], 0.0, 1.0);
|
|
752
|
+
output.texcoord = texcoords[vertexIndex];
|
|
753
|
+
|
|
754
|
+
return output;
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
@fragment
|
|
758
|
+
fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
|
|
759
|
+
return textureSample(sourceTexture, sourceSampler, input.texcoord);
|
|
760
|
+
}
|
|
758
761
|
`,
|
|
759
762
|
});
|
|
760
763
|
this._mipmapBindGroupLayout = this.device.createBindGroupLayout({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGpuBackend.js","sources":["../../../../../src/rendering/webgpu/WebGpuBackend.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebGpuBackend.js","sources":["../../../../../src/rendering/webgpu/WebGpuBackend.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -2,50 +2,50 @@ import { Matrix } from '../../math/Matrix.js';
|
|
|
2
2
|
import { getWebGpuBlendState } from './WebGpuBlendState.js';
|
|
3
3
|
|
|
4
4
|
/// <reference types="@webgpu/types" />
|
|
5
|
-
const compositorShaderSource = `
|
|
6
|
-
struct ProjectionUniforms {
|
|
7
|
-
matrix: mat4x4<f32>,
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
@group(0) @binding(0)
|
|
11
|
-
var<uniform> projection: ProjectionUniforms;
|
|
12
|
-
|
|
13
|
-
@group(1) @binding(0)
|
|
14
|
-
var contentTexture: texture_2d<f32>;
|
|
15
|
-
@group(1) @binding(1)
|
|
16
|
-
var contentSampler: sampler;
|
|
17
|
-
@group(1) @binding(2)
|
|
18
|
-
var maskTexture: texture_2d<f32>;
|
|
19
|
-
@group(1) @binding(3)
|
|
20
|
-
var maskSampler: sampler;
|
|
21
|
-
|
|
22
|
-
struct VertexInput {
|
|
23
|
-
@location(0) position: vec2<f32>,
|
|
24
|
-
@location(1) texcoord: vec2<f32>,
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
struct VertexOutput {
|
|
28
|
-
@builtin(position) position: vec4<f32>,
|
|
29
|
-
@location(0) texcoord: vec2<f32>,
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
@vertex
|
|
33
|
-
fn vertexMain(input: VertexInput) -> VertexOutput {
|
|
34
|
-
var output: VertexOutput;
|
|
35
|
-
|
|
36
|
-
output.position = projection.matrix * vec4<f32>(input.position, 0.0, 1.0);
|
|
37
|
-
output.texcoord = input.texcoord;
|
|
38
|
-
|
|
39
|
-
return output;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@fragment
|
|
43
|
-
fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
|
|
44
|
-
let contentColor = textureSample(contentTexture, contentSampler, input.texcoord);
|
|
45
|
-
let maskAlpha = textureSample(maskTexture, maskSampler, input.texcoord).a;
|
|
46
|
-
|
|
47
|
-
return vec4<f32>(contentColor.rgb * maskAlpha, contentColor.a * maskAlpha);
|
|
48
|
-
}
|
|
5
|
+
const compositorShaderSource = `
|
|
6
|
+
struct ProjectionUniforms {
|
|
7
|
+
matrix: mat4x4<f32>,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
@group(0) @binding(0)
|
|
11
|
+
var<uniform> projection: ProjectionUniforms;
|
|
12
|
+
|
|
13
|
+
@group(1) @binding(0)
|
|
14
|
+
var contentTexture: texture_2d<f32>;
|
|
15
|
+
@group(1) @binding(1)
|
|
16
|
+
var contentSampler: sampler;
|
|
17
|
+
@group(1) @binding(2)
|
|
18
|
+
var maskTexture: texture_2d<f32>;
|
|
19
|
+
@group(1) @binding(3)
|
|
20
|
+
var maskSampler: sampler;
|
|
21
|
+
|
|
22
|
+
struct VertexInput {
|
|
23
|
+
@location(0) position: vec2<f32>,
|
|
24
|
+
@location(1) texcoord: vec2<f32>,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
struct VertexOutput {
|
|
28
|
+
@builtin(position) position: vec4<f32>,
|
|
29
|
+
@location(0) texcoord: vec2<f32>,
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
@vertex
|
|
33
|
+
fn vertexMain(input: VertexInput) -> VertexOutput {
|
|
34
|
+
var output: VertexOutput;
|
|
35
|
+
|
|
36
|
+
output.position = projection.matrix * vec4<f32>(input.position, 0.0, 1.0);
|
|
37
|
+
output.texcoord = input.texcoord;
|
|
38
|
+
|
|
39
|
+
return output;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@fragment
|
|
43
|
+
fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
|
|
44
|
+
let contentColor = textureSample(contentTexture, contentSampler, input.texcoord);
|
|
45
|
+
let maskAlpha = textureSample(maskTexture, maskSampler, input.texcoord).a;
|
|
46
|
+
|
|
47
|
+
return vec4<f32>(contentColor.rgb * maskAlpha, contentColor.a * maskAlpha);
|
|
48
|
+
}
|
|
49
49
|
`;
|
|
50
50
|
// 4 floats per vertex: position(x, y) + texcoord(u, v).
|
|
51
51
|
const vertexStrideBytes = 16;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGpuMaskCompositor.js","sources":["../../../../../src/rendering/webgpu/WebGpuMaskCompositor.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;AASA,MAAM,sBAAsB,GAAG
|
|
1
|
+
{"version":3,"file":"WebGpuMaskCompositor.js","sources":["../../../../../src/rendering/webgpu/WebGpuMaskCompositor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { AbstractWebGpuRenderer } from '@/rendering/webgpu/AbstractWebGpuRenderer';
|
|
2
|
+
import type { Mesh } from '@/rendering/mesh/Mesh';
|
|
3
|
+
import type { WebGpuBackend } from '@/rendering/webgpu/WebGpuBackend';
|
|
4
|
+
export declare class WebGpuMeshRenderer extends AbstractWebGpuRenderer<Mesh> {
|
|
5
|
+
private readonly _combinedTransform;
|
|
6
|
+
private readonly _drawCalls;
|
|
7
|
+
private readonly _pipelines;
|
|
8
|
+
private readonly _textureBindGroups;
|
|
9
|
+
private _device;
|
|
10
|
+
private _shaderModule;
|
|
11
|
+
private _uniformBindGroupLayout;
|
|
12
|
+
private _textureBindGroupLayout;
|
|
13
|
+
private _pipelineLayout;
|
|
14
|
+
private _vertexBuffer;
|
|
15
|
+
private _indexBuffer;
|
|
16
|
+
private _uniformBuffer;
|
|
17
|
+
private _uniformBindGroup;
|
|
18
|
+
private _uniformAlignment;
|
|
19
|
+
private _vertexBufferCapacity;
|
|
20
|
+
private _indexBufferCapacity;
|
|
21
|
+
private _uniformBufferCapacity;
|
|
22
|
+
private _vertexData;
|
|
23
|
+
private _float32View;
|
|
24
|
+
private _uint32View;
|
|
25
|
+
private _packedIndexData;
|
|
26
|
+
private _drawCallCount;
|
|
27
|
+
render(mesh: Mesh): void;
|
|
28
|
+
flush(): void;
|
|
29
|
+
destroy(): void;
|
|
30
|
+
prewarmPipelines(formats: ReadonlyArray<GPUTextureFormat>): Promise<void>;
|
|
31
|
+
protected onConnect(backend: WebGpuBackend): void;
|
|
32
|
+
protected onDisconnect(): void;
|
|
33
|
+
private _writeMeshVertices;
|
|
34
|
+
private _getPipeline;
|
|
35
|
+
private _buildPipelineDescriptor;
|
|
36
|
+
private _getTextureBindGroup;
|
|
37
|
+
private _ensureVertexCapacity;
|
|
38
|
+
private _ensureIndexCapacity;
|
|
39
|
+
private _ensureUniformCapacity;
|
|
40
|
+
}
|