@flighthq/scene3d-wgpu 0.5.1-next.815.cc08b93 → 0.5.1-next.903.f434bc2
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/README.md +2 -2
- package/dist/contract.d.ts +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -0
- package/dist/contract.js.map +1 -1
- package/dist/wgpuMeshPipeline.d.ts +14 -1
- package/dist/wgpuMeshPipeline.d.ts.map +1 -1
- package/dist/wgpuMeshPipeline.js +113 -121
- package/dist/wgpuMeshPipeline.js.map +1 -1
- package/package.json +17 -17
- package/src/drawWgpuScene3D.test.ts +2 -1
- package/src/wgpuShadedPrelude.test.ts +45 -7
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/scene3d-wgpu`. The `
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/scene3d-wgpu@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/scene3d-wgpu@0.5.1-next.903.f434bc2](https://github.com/flighthq/flight/tree/f434bc233778d75aeea61995df3a8cfaec459a85/packages/scene3d-wgpu)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/f434bc233778d75aeea61995df3a8cfaec459a85/LICENSE.md)
|
package/dist/contract.d.ts
CHANGED
|
@@ -42,4 +42,5 @@ export * from './wgpuUnlitPrelude';
|
|
|
42
42
|
export * from './wgpuWireframePrelude';
|
|
43
43
|
export * from './wgpuWireframeUpload';
|
|
44
44
|
export * from './wireframeWgpuMeshMaterialRenderer';
|
|
45
|
+
export { initializeWgpuMeshPipeline } from './wgpuMeshPipeline';
|
|
45
46
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -42,4 +42,5 @@ export * from './wgpuUnlitPrelude';
|
|
|
42
42
|
export * from './wgpuWireframePrelude';
|
|
43
43
|
export * from './wgpuWireframeUpload';
|
|
44
44
|
export * from './wireframeWgpuMeshMaterialRenderer';
|
|
45
|
+
export { initializeWgpuMeshPipeline } from './wgpuMeshPipeline';
|
|
45
46
|
//# sourceMappingURL=contract.js.map
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Camera3D, EntityConstruction, MeshGeometry, Scene3DLightBlock, Scene3DRenderProxy, Texture, TextureLike, WgpuColorAdjustmentMaterialFeature, WgpuMaterialBinding, WgpuMeshPipeline, WgpuRenderState, WgpuScene3DLayouts } from '@flighthq/types/contract';
|
|
2
2
|
import type { WgpuSkinningAdapter } from '@flighthq/types/contract';
|
|
3
3
|
export declare function beginWgpuMeshDraw(state: WgpuRenderState, pipeline: Readonly<WgpuMeshPipeline>): void;
|
|
4
4
|
export declare function buildWgpuMaterialBindGroup(state: WgpuRenderState, layout: GPUBindGroupLayout, buffer: GPUBuffer, sampler: GPUSampler, views: readonly GPUTextureView[]): GPUBindGroup;
|
|
@@ -31,6 +31,19 @@ export declare function ensureWgpuShadowSampleBindGroup(state: WgpuRenderState):
|
|
|
31
31
|
export declare function ensureWgpuShadowSampleLayout(state: WgpuRenderState): GPUBindGroupLayout;
|
|
32
32
|
export declare function getWgpuMaterialSampler(state: WgpuRenderState, texture: Readonly<Texture> | null): GPUSampler;
|
|
33
33
|
export declare function getWgpuMeshPreludeWgsl(skinned: boolean, skinning?: Readonly<WgpuSkinningAdapter> | null): string;
|
|
34
|
+
export declare function initializeWgpuMeshPipeline(out: EntityConstruction<WgpuMeshPipeline>, state: WgpuRenderState, options: Readonly<{
|
|
35
|
+
blended?: boolean;
|
|
36
|
+
doubleSided: boolean;
|
|
37
|
+
extraBindGroupLayout?: GPUBindGroupLayout;
|
|
38
|
+
format: GPUTextureFormat;
|
|
39
|
+
iblBindGroupLayout?: GPUBindGroupLayout;
|
|
40
|
+
materialBindGroupLayout: GPUBindGroupLayout;
|
|
41
|
+
module: GPUShaderModule;
|
|
42
|
+
pbrSampleBindGroupLayout?: GPUBindGroupLayout;
|
|
43
|
+
shadowBindGroupLayout?: GPUBindGroupLayout;
|
|
44
|
+
skinned?: boolean;
|
|
45
|
+
topology?: GPUPrimitiveTopology;
|
|
46
|
+
}>): void;
|
|
34
47
|
export declare function isWgpuMaterialBindGroupRebuildNeeded(binding: Readonly<WgpuMaterialBinding>, sampler: GPUSampler, views: readonly GPUTextureView[]): boolean;
|
|
35
48
|
export declare function isWgpuTextureReady(texture: Readonly<Texture> | null): boolean;
|
|
36
49
|
export declare function resolveWgpuMaterialTextureView(state: WgpuRenderState, texture: Readonly<Texture> | null): GPUTextureView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuMeshPipeline.d.ts","sourceRoot":"","sources":["../src/wgpuMeshPipeline.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"wgpuMeshPipeline.d.ts","sourceRoot":"","sources":["../src/wgpuMeshPipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuMeshPipeline.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getCamera3DPosition, getCamera3DViewProjectionMatrix4 } from '@flighthq/camera/contract';
|
|
2
|
-
import {
|
|
2
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
3
3
|
import { createMatrix3, createMatrix4 } from '@flighthq/geometry/contract';
|
|
4
4
|
import { getWgpuBlendState, getWgpuRenderStateDeviceResources, getWgpuRenderStateRuntime, getWgpuSampler, resolveWgpuTexture, } from '@flighthq/render-wgpu/contract';
|
|
5
5
|
import { getTextureUvMatrix, hasTextureSource, hasTextureUvTransform } from '@flighthq/texture/contract';
|
|
@@ -56,79 +56,10 @@ export function buildWgpuPerMapMaterialBindGroup(state, layout, buffer, samplers
|
|
|
56
56
|
entries.push({ binding: 1 + count + i, resource: views[i] });
|
|
57
57
|
return state.device.createBindGroup({ layout, entries });
|
|
58
58
|
}
|
|
59
|
-
// Builds a render pipeline for a family: compiles its WGSL module, and lays out [shared Frame, shared
|
|
60
|
-
// Draw, family Material] over the canonical 48-byte PBR vertex. Depth-stencil is depth24plus-stencil8,
|
|
61
|
-
// compare 'less', depth-write on (the scene pass owns depth; stencil inert); culling is back-face
|
|
62
|
-
// unless doubleSided. The family passes its own materialBindGroupLayout + entry points (default
|
|
63
|
-
// vs_main/fs_main). A lit family that PCF-samples the directional shadow map passes the shared
|
|
64
|
-
// group(3) `shadowBindGroupLayout` (ensureWgpuShadowSampleLayout), which extends the pipeline layout to
|
|
65
|
-
// [Frame, Draw, Material, Shadow] and flags the pipeline so beginWgpuMeshDraw binds group(3). A custom
|
|
66
|
-
// family may instead pass `extraBindGroupLayout`; it occupies group(3), but the family binds it itself.
|
|
67
59
|
export function createWgpuMeshPipeline(state, options) {
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const skinning = sceneRuntime.skinningAdapter;
|
|
72
|
-
const blendMode = options.blended ? (sceneRuntime.activeBlendMode ?? BlendMode.Normal) : null;
|
|
73
|
-
const bindGroupLayouts = [
|
|
74
|
-
layouts.frameBindGroupLayout,
|
|
75
|
-
options.skinned && skinning !== null ? skinning.getMeshDrawLayout(state) : layouts.drawBindGroupLayout,
|
|
76
|
-
options.materialBindGroupLayout,
|
|
77
|
-
];
|
|
78
|
-
if (options.extraBindGroupLayout !== undefined) {
|
|
79
|
-
bindGroupLayouts.push(options.extraBindGroupLayout);
|
|
80
|
-
}
|
|
81
|
-
if (options.extraBindGroupLayout === undefined && options.pbrSampleBindGroupLayout !== undefined) {
|
|
82
|
-
bindGroupLayouts.push(options.pbrSampleBindGroupLayout);
|
|
83
|
-
}
|
|
84
|
-
else if (options.extraBindGroupLayout === undefined) {
|
|
85
|
-
// Group order is positional: shadow (group 3) then IBL (group 4). Prefer pbrSampleBindGroupLayout
|
|
86
|
-
// for new PBR pipelines so they fit WebGPU's minimum maxBindGroups=4.
|
|
87
|
-
if (options.shadowBindGroupLayout !== undefined)
|
|
88
|
-
bindGroupLayouts.push(options.shadowBindGroupLayout);
|
|
89
|
-
if (options.iblBindGroupLayout !== undefined)
|
|
90
|
-
bindGroupLayouts.push(options.iblBindGroupLayout);
|
|
91
|
-
}
|
|
92
|
-
const layout = device.createPipelineLayout({ bindGroupLayouts });
|
|
93
|
-
const pipeline = device.createRenderPipeline({
|
|
94
|
-
layout,
|
|
95
|
-
vertex: {
|
|
96
|
-
module: options.module,
|
|
97
|
-
entryPoint: 'vs_main',
|
|
98
|
-
buffers: options.skinned && skinning !== null
|
|
99
|
-
? [...skinning.vertexBufferLayouts, INSTANCE_BUFFER_LAYOUT]
|
|
100
|
-
: [...VERTEX_BUFFER_LAYOUTS, INSTANCE_BUFFER_LAYOUT],
|
|
101
|
-
},
|
|
102
|
-
fragment: {
|
|
103
|
-
module: options.module,
|
|
104
|
-
entryPoint: 'fs_main',
|
|
105
|
-
targets: [
|
|
106
|
-
{
|
|
107
|
-
format: options.format,
|
|
108
|
-
blend: blendMode === null ? undefined : getWgpuBlendState(blendMode),
|
|
109
|
-
},
|
|
110
|
-
],
|
|
111
|
-
},
|
|
112
|
-
primitive: {
|
|
113
|
-
topology: options.topology ?? 'triangle-list',
|
|
114
|
-
frontFace: 'ccw',
|
|
115
|
-
cullMode: options.doubleSided ? 'none' : 'back',
|
|
116
|
-
},
|
|
117
|
-
depthStencil: { format: DEPTH_STENCIL_FORMAT, depthWriteEnabled: !options.blended, depthCompare: 'less' },
|
|
118
|
-
});
|
|
119
|
-
return createEntity({
|
|
120
|
-
hasIblGroup: options.iblBindGroupLayout !== undefined,
|
|
121
|
-
hasPbrSampleGroup: options.pbrSampleBindGroupLayout !== undefined,
|
|
122
|
-
hasShadowGroup: options.shadowBindGroupLayout !== undefined,
|
|
123
|
-
materialBindGroupLayout: options.materialBindGroupLayout,
|
|
124
|
-
pipeline,
|
|
125
|
-
skinned: options.skinned === true,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
// Whether a draw's fragment alpha is COVERAGE the compositor should honor. A material with no surface
|
|
129
|
-
// trailer (or none at all) is treated as opaque, matching the registry's own fallback.
|
|
130
|
-
function isWgpuMeshAlphaCoverage(material) {
|
|
131
|
-
return material != null && material.alphaMode === 'blend';
|
|
60
|
+
const out = allocateEntity();
|
|
61
|
+
initializeWgpuMeshPipeline(out, state, options);
|
|
62
|
+
return finishEntity(out);
|
|
132
63
|
}
|
|
133
64
|
// The shared per-draw tail for every mesh-material family: ring-allocates + writes the Draw uniform
|
|
134
65
|
// (world + normal matrix) for the proxy, lazily uploads the geometry's GPU buffers (cached by
|
|
@@ -170,8 +101,7 @@ export function drawWgpuMeshSubset(state, proxy, geometry) {
|
|
|
170
101
|
proxy.instanceCount !== undefined &&
|
|
171
102
|
proxy.instanceCount > 0;
|
|
172
103
|
const instanceCount = hasInstances ? proxy.instanceCount : 1;
|
|
173
|
-
|
|
174
|
-
pass.setVertexBuffer(1, ensureWgpuInstanceBuffer(state, proxy.instanceMatrices, instanceCount));
|
|
104
|
+
pass.setVertexBuffer(1, ensureWgpuInstanceBuffer(state, hasInstances ? proxy.instanceMatrices : null, instanceCount));
|
|
175
105
|
// Non-indexed geometry draws the vertex range directly, matching glMeshProgram's drawElements /
|
|
176
106
|
// drawArrays split. The subset's indexCount/indexOffset address vertices in that case.
|
|
177
107
|
if (upload.indexBuffer === null) {
|
|
@@ -182,6 +112,30 @@ export function drawWgpuMeshSubset(state, proxy, geometry) {
|
|
|
182
112
|
pass.drawIndexed(subset.indexCount, instanceCount, subset.indexOffset, 0, 0);
|
|
183
113
|
}
|
|
184
114
|
}
|
|
115
|
+
// Whether a draw's fragment alpha is COVERAGE the compositor should honor. A material with no surface
|
|
116
|
+
// trailer (or none at all) is treated as opaque, matching the registry's own fallback.
|
|
117
|
+
function isWgpuMeshAlphaCoverage(material) {
|
|
118
|
+
return material != null && material.alphaMode === 'blend';
|
|
119
|
+
}
|
|
120
|
+
// Resolves the shared Frame bind group, creating it from the shared Frame layout + Frame buffer on
|
|
121
|
+
// first use. Every family pipeline declares the same group(0) layout, so this one bind group is valid
|
|
122
|
+
// for all of them.
|
|
123
|
+
export function ensureWgpuFrameBindGroup(state) {
|
|
124
|
+
const scene = getWgpuScene3DRuntime(state);
|
|
125
|
+
if (scene.frameBuffer === null) {
|
|
126
|
+
scene.frameBuffer = state.device.createBuffer({
|
|
127
|
+
size: FRAME_UNIFORM_BYTES,
|
|
128
|
+
usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
if (scene.frameBindGroup === null) {
|
|
132
|
+
scene.frameBindGroup = state.device.createBindGroup({
|
|
133
|
+
layout: ensureWgpuScene3DLayouts(state).frameBindGroupLayout,
|
|
134
|
+
entries: [{ binding: 0, resource: { buffer: scene.frameBuffer } }],
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return scene.frameBindGroup;
|
|
138
|
+
}
|
|
185
139
|
const instanceBuffers = new WeakMap();
|
|
186
140
|
const identityInstance = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
|
|
187
141
|
function ensureWgpuInstanceBuffer(state, matrices, instanceCount) {
|
|
@@ -203,25 +157,6 @@ function ensureWgpuInstanceBuffer(state, matrices, instanceCount) {
|
|
|
203
157
|
state.device.queue.writeBuffer(cached.buffer, 0, source.buffer, source.byteOffset, required);
|
|
204
158
|
return cached.buffer;
|
|
205
159
|
}
|
|
206
|
-
// Resolves the shared Frame bind group, creating it from the shared Frame layout + Frame buffer on
|
|
207
|
-
// first use. Every family pipeline declares the same group(0) layout, so this one bind group is valid
|
|
208
|
-
// for all of them.
|
|
209
|
-
export function ensureWgpuFrameBindGroup(state) {
|
|
210
|
-
const scene = getWgpuScene3DRuntime(state);
|
|
211
|
-
if (scene.frameBuffer === null) {
|
|
212
|
-
scene.frameBuffer = state.device.createBuffer({
|
|
213
|
-
size: FRAME_UNIFORM_BYTES,
|
|
214
|
-
usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
if (scene.frameBindGroup === null) {
|
|
218
|
-
scene.frameBindGroup = state.device.createBindGroup({
|
|
219
|
-
layout: ensureWgpuScene3DLayouts(state).frameBindGroupLayout,
|
|
220
|
-
entries: [{ binding: 0, resource: { buffer: scene.frameBuffer } }],
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
return scene.frameBindGroup;
|
|
224
|
-
}
|
|
225
160
|
// Resolves the shared IBL sample bind group a caller binds when its pipeline carries the
|
|
226
161
|
// legacy standalone IBL layout — the WGSL counterpart of scene-gl's IBL texture-unit + u_ibl* uniform binds in
|
|
227
162
|
// bindGlMeshLightBlock. Lazily creates the IBL uniform buffer (enabled/intensity/maxMip), a filtering
|
|
@@ -590,6 +525,23 @@ export function ensureWgpuShadowSampleBindGroup(state) {
|
|
|
590
525
|
}
|
|
591
526
|
return scene.shadowSampleBindGroup;
|
|
592
527
|
}
|
|
528
|
+
// Resolves the shared group(3) shadow-sample bind-group layout (uniform light matrix + enabled flag, a
|
|
529
|
+
// depth texture, and a comparison sampler), created once per state. Lit pipelines pass this to
|
|
530
|
+
// createWgpuMeshPipeline; the shared bind group built by ensureWgpuShadowSampleBindGroup targets it, so
|
|
531
|
+
// one shadow bind group serves every lit family's pipeline (pbr today).
|
|
532
|
+
export function ensureWgpuShadowSampleLayout(state) {
|
|
533
|
+
const scene = getWgpuScene3DRuntime(state);
|
|
534
|
+
if (scene.shadowSampleLayout === null) {
|
|
535
|
+
scene.shadowSampleLayout = state.device.createBindGroupLayout({
|
|
536
|
+
entries: [
|
|
537
|
+
{ binding: 0, visibility: GPUShaderStage.FRAGMENT, buffer: { type: 'uniform' } },
|
|
538
|
+
{ binding: 1, visibility: GPUShaderStage.FRAGMENT, texture: { sampleType: 'depth' } },
|
|
539
|
+
{ binding: 2, visibility: GPUShaderStage.FRAGMENT, sampler: { type: 'comparison' } },
|
|
540
|
+
],
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
return scene.shadowSampleLayout;
|
|
544
|
+
}
|
|
593
545
|
// Writes the one shadow uniform shared by the combined PBR sample group and the standalone
|
|
594
546
|
// classic/toon shadow group. params = {enabled, pcfRadius, shadowBias, normalBiasWorld}; keeping this in one
|
|
595
547
|
// writer prevents the two binding paths from silently disagreeing about the same 80-byte ABI.
|
|
@@ -617,23 +569,6 @@ function writeWgpuShadowSampleUniform(state) {
|
|
|
617
569
|
state.device.queue.writeBuffer(scene.shadowUniformBuffer, 0, values.buffer, 0, SHADOW_SAMPLE_UNIFORM_BYTES);
|
|
618
570
|
return shadow;
|
|
619
571
|
}
|
|
620
|
-
// Resolves the shared group(3) shadow-sample bind-group layout (uniform light matrix + enabled flag, a
|
|
621
|
-
// depth texture, and a comparison sampler), created once per state. Lit pipelines pass this to
|
|
622
|
-
// createWgpuMeshPipeline; the shared bind group built by ensureWgpuShadowSampleBindGroup targets it, so
|
|
623
|
-
// one shadow bind group serves every lit family's pipeline (pbr today).
|
|
624
|
-
export function ensureWgpuShadowSampleLayout(state) {
|
|
625
|
-
const scene = getWgpuScene3DRuntime(state);
|
|
626
|
-
if (scene.shadowSampleLayout === null) {
|
|
627
|
-
scene.shadowSampleLayout = state.device.createBindGroupLayout({
|
|
628
|
-
entries: [
|
|
629
|
-
{ binding: 0, visibility: GPUShaderStage.FRAGMENT, buffer: { type: 'uniform' } },
|
|
630
|
-
{ binding: 1, visibility: GPUShaderStage.FRAGMENT, texture: { sampleType: 'depth' } },
|
|
631
|
-
{ binding: 2, visibility: GPUShaderStage.FRAGMENT, sampler: { type: 'comparison' } },
|
|
632
|
-
],
|
|
633
|
-
});
|
|
634
|
-
}
|
|
635
|
-
return scene.shadowSampleLayout;
|
|
636
|
-
}
|
|
637
572
|
// Selects the ONE GPUSampler a material bind group uses, from its PRIMARY map's full sampler descriptor
|
|
638
573
|
// (the diffuse map for classic, the base-color map for PBR): wrap (a tiling repeat/mirror-repeat map
|
|
639
574
|
// gets the matching cached sampler so setTextureUvScale tiles), min/mag filter, a mip filter when the
|
|
@@ -669,6 +604,73 @@ export function getWgpuMaterialSampler(state, texture) {
|
|
|
669
604
|
export function getWgpuMeshPreludeWgsl(skinned, skinning = null) {
|
|
670
605
|
return skinned && skinning !== null ? skinning.extendMeshPrelude(WGPU_MESH_PRELUDE_WGSL) : WGPU_MESH_PRELUDE_WGSL;
|
|
671
606
|
}
|
|
607
|
+
// Builds a render pipeline for a family: compiles its WGSL module, and lays out [shared Frame, shared
|
|
608
|
+
// Draw, family Material] over the canonical 48-byte PBR vertex. Depth-stencil is depth24plus-stencil8,
|
|
609
|
+
// compare 'less', depth-write on (the scene pass owns depth; stencil inert); culling is back-face
|
|
610
|
+
// unless doubleSided. The family passes its own materialBindGroupLayout + entry points (default
|
|
611
|
+
// vs_main/fs_main). A lit family that PCF-samples the directional shadow map passes the shared
|
|
612
|
+
// group(3) `shadowBindGroupLayout` (ensureWgpuShadowSampleLayout), which extends the pipeline layout to
|
|
613
|
+
// [Frame, Draw, Material, Shadow] and flags the pipeline so beginWgpuMeshDraw binds group(3). A custom
|
|
614
|
+
// family may instead pass `extraBindGroupLayout`; it occupies group(3), but the family binds it itself.
|
|
615
|
+
export function initializeWgpuMeshPipeline(out, state, options) {
|
|
616
|
+
const device = state.device;
|
|
617
|
+
const layouts = ensureWgpuScene3DLayouts(state);
|
|
618
|
+
const sceneRuntime = getWgpuScene3DRuntime(state);
|
|
619
|
+
const skinning = sceneRuntime.skinningAdapter;
|
|
620
|
+
const blendMode = options.blended ? (sceneRuntime.activeBlendMode ?? BlendMode.Normal) : null;
|
|
621
|
+
const bindGroupLayouts = [
|
|
622
|
+
layouts.frameBindGroupLayout,
|
|
623
|
+
options.skinned && skinning !== null ? skinning.getMeshDrawLayout(state) : layouts.drawBindGroupLayout,
|
|
624
|
+
options.materialBindGroupLayout,
|
|
625
|
+
];
|
|
626
|
+
if (options.extraBindGroupLayout !== undefined) {
|
|
627
|
+
bindGroupLayouts.push(options.extraBindGroupLayout);
|
|
628
|
+
}
|
|
629
|
+
if (options.extraBindGroupLayout === undefined && options.pbrSampleBindGroupLayout !== undefined) {
|
|
630
|
+
bindGroupLayouts.push(options.pbrSampleBindGroupLayout);
|
|
631
|
+
}
|
|
632
|
+
else if (options.extraBindGroupLayout === undefined) {
|
|
633
|
+
// Group order is positional: shadow (group 3) then IBL (group 4). Prefer pbrSampleBindGroupLayout
|
|
634
|
+
// for new PBR pipelines so they fit WebGPU's minimum maxBindGroups=4.
|
|
635
|
+
if (options.shadowBindGroupLayout !== undefined)
|
|
636
|
+
bindGroupLayouts.push(options.shadowBindGroupLayout);
|
|
637
|
+
if (options.iblBindGroupLayout !== undefined)
|
|
638
|
+
bindGroupLayouts.push(options.iblBindGroupLayout);
|
|
639
|
+
}
|
|
640
|
+
const layout = device.createPipelineLayout({ bindGroupLayouts });
|
|
641
|
+
const pipeline = device.createRenderPipeline({
|
|
642
|
+
layout,
|
|
643
|
+
vertex: {
|
|
644
|
+
module: options.module,
|
|
645
|
+
entryPoint: 'vs_main',
|
|
646
|
+
buffers: options.skinned && skinning !== null
|
|
647
|
+
? [...skinning.vertexBufferLayouts, INSTANCE_BUFFER_LAYOUT]
|
|
648
|
+
: [...VERTEX_BUFFER_LAYOUTS, INSTANCE_BUFFER_LAYOUT],
|
|
649
|
+
},
|
|
650
|
+
fragment: {
|
|
651
|
+
module: options.module,
|
|
652
|
+
entryPoint: 'fs_main',
|
|
653
|
+
targets: [
|
|
654
|
+
{
|
|
655
|
+
format: options.format,
|
|
656
|
+
blend: blendMode === null ? undefined : getWgpuBlendState(blendMode),
|
|
657
|
+
},
|
|
658
|
+
],
|
|
659
|
+
},
|
|
660
|
+
primitive: {
|
|
661
|
+
topology: options.topology ?? 'triangle-list',
|
|
662
|
+
frontFace: 'ccw',
|
|
663
|
+
cullMode: options.doubleSided ? 'none' : 'back',
|
|
664
|
+
},
|
|
665
|
+
depthStencil: { format: DEPTH_STENCIL_FORMAT, depthWriteEnabled: !options.blended, depthCompare: 'less' },
|
|
666
|
+
});
|
|
667
|
+
out.hasIblGroup = options.iblBindGroupLayout !== undefined;
|
|
668
|
+
out.hasPbrSampleGroup = options.pbrSampleBindGroupLayout !== undefined;
|
|
669
|
+
out.hasShadowGroup = options.shadowBindGroupLayout !== undefined;
|
|
670
|
+
out.materialBindGroupLayout = options.materialBindGroupLayout;
|
|
671
|
+
out.pipeline = pipeline;
|
|
672
|
+
out.skinned = options.skinned === true;
|
|
673
|
+
}
|
|
672
674
|
// Whether a cached material binding must rebuild its GPUBindGroup because a freshly-resolved view or the
|
|
673
675
|
// primary sampler no longer matches what it was built from. `resolveWgpuMaterialTextureView` is the
|
|
674
676
|
// invalidation seam: a map swap, an unready→ready transition, a ready→ready image replacement, or an
|
|
@@ -1143,16 +1145,6 @@ const VERTEX_BUFFER_LAYOUTS = [
|
|
|
1143
1145
|
{ shaderLocation: 3, offset: 40, format: 'float32x2' },
|
|
1144
1146
|
],
|
|
1145
1147
|
},
|
|
1146
|
-
{
|
|
1147
|
-
arrayStride: 64,
|
|
1148
|
-
stepMode: 'instance',
|
|
1149
|
-
attributes: [
|
|
1150
|
-
{ shaderLocation: 5, offset: 0, format: 'float32x4' },
|
|
1151
|
-
{ shaderLocation: 6, offset: 16, format: 'float32x4' },
|
|
1152
|
-
{ shaderLocation: 7, offset: 32, format: 'float32x4' },
|
|
1153
|
-
{ shaderLocation: 8, offset: 48, format: 'float32x4' },
|
|
1154
|
-
],
|
|
1155
|
-
},
|
|
1156
1148
|
];
|
|
1157
1149
|
const INSTANCE_BUFFER_LAYOUT = {
|
|
1158
1150
|
arrayStride: 64,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuMeshPipeline.js","sourceRoot":"","sources":["../src/wgpuMeshPipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wgpuMeshPipeline.js","sourceRoot":"","sources":["../src/wgpuMeshPipeline.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/scene3d-wgpu",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.903.f434bc2",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,22 +38,22 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/camera": "0.5.1-next.
|
|
42
|
-
"@flighthq/color": "0.5.1-next.
|
|
43
|
-
"@flighthq/entity": "0.5.1-next.
|
|
44
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
45
|
-
"@flighthq/image": "0.5.1-next.
|
|
46
|
-
"@flighthq/lighting": "0.5.1-next.
|
|
47
|
-
"@flighthq/log": "0.5.1-next.
|
|
48
|
-
"@flighthq/materials": "0.5.1-next.
|
|
49
|
-
"@flighthq/node": "0.5.1-next.
|
|
50
|
-
"@flighthq/registry": "0.5.1-next.
|
|
51
|
-
"@flighthq/render": "0.5.1-next.
|
|
52
|
-
"@flighthq/render-wgpu": "0.5.1-next.
|
|
53
|
-
"@flighthq/scene3d": "0.5.1-next.
|
|
54
|
-
"@flighthq/shading": "0.5.1-next.
|
|
55
|
-
"@flighthq/texture": "0.5.1-next.
|
|
56
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/camera": "0.5.1-next.903.f434bc2",
|
|
42
|
+
"@flighthq/color": "0.5.1-next.903.f434bc2",
|
|
43
|
+
"@flighthq/entity": "0.5.1-next.903.f434bc2",
|
|
44
|
+
"@flighthq/geometry": "0.5.1-next.903.f434bc2",
|
|
45
|
+
"@flighthq/image": "0.5.1-next.903.f434bc2",
|
|
46
|
+
"@flighthq/lighting": "0.5.1-next.903.f434bc2",
|
|
47
|
+
"@flighthq/log": "0.5.1-next.903.f434bc2",
|
|
48
|
+
"@flighthq/materials": "0.5.1-next.903.f434bc2",
|
|
49
|
+
"@flighthq/node": "0.5.1-next.903.f434bc2",
|
|
50
|
+
"@flighthq/registry": "0.5.1-next.903.f434bc2",
|
|
51
|
+
"@flighthq/render": "0.5.1-next.903.f434bc2",
|
|
52
|
+
"@flighthq/render-wgpu": "0.5.1-next.903.f434bc2",
|
|
53
|
+
"@flighthq/scene3d": "0.5.1-next.903.f434bc2",
|
|
54
|
+
"@flighthq/shading": "0.5.1-next.903.f434bc2",
|
|
55
|
+
"@flighthq/texture": "0.5.1-next.903.f434bc2",
|
|
56
|
+
"@flighthq/types": "0.5.1-next.903.f434bc2"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@webgpu/types": "^0.1.70"
|
|
@@ -61,7 +61,8 @@ describe('drawWgpuScene3D', () => {
|
|
|
61
61
|
drawWgpuScene3D(state, scene, makeCamera(), LIGHTS);
|
|
62
62
|
drawWgpuScene3D(derived, scene, makeCamera(), LIGHTS);
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
// 2 geometry buffers (vertex + index, shared across states) + 2 per-state instance buffers.
|
|
65
|
+
expect(countMeshBuffers(fake.calls)).toBe(meshBuffersBefore + 4);
|
|
65
66
|
});
|
|
66
67
|
|
|
67
68
|
it('draws each visible mesh subset with its registered material renderer', () => {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
1
2
|
import { getWgpuRenderStateRuntime, registerWgpuImageTextureResolver } from '@flighthq/render-wgpu/contract';
|
|
2
3
|
import {
|
|
3
4
|
createAnimatedNormalModifier,
|
|
@@ -111,7 +112,12 @@ describe('ensureWgpuShadedPipeline', () => {
|
|
|
111
112
|
|
|
112
113
|
it('recompiles after a last-write-wins snippet replacement with the same define signature', () => {
|
|
113
114
|
const { fake, state } = makeWgpuScene3DState();
|
|
114
|
-
const modifier =
|
|
115
|
+
const modifier = (() => {
|
|
116
|
+
const out = allocateEntity<any>();
|
|
117
|
+
out.kind = 'acme.Replace';
|
|
118
|
+
out.slot = ModifierSlot.Effect;
|
|
119
|
+
return finishEntity(out) as Modifier;
|
|
120
|
+
})();
|
|
115
121
|
registerWgpuModifierSnippet(state, {
|
|
116
122
|
contribution: () => ({ source: '// compiler-marker-A' }),
|
|
117
123
|
kind: modifier.kind,
|
|
@@ -209,8 +215,18 @@ describe('getWgpuShadedModuleSource', () => {
|
|
|
209
215
|
slot: ModifierSlot.Effect,
|
|
210
216
|
};
|
|
211
217
|
registerWgpuModifierSnippet(state, vendor);
|
|
212
|
-
const registered =
|
|
213
|
-
|
|
218
|
+
const registered = (() => {
|
|
219
|
+
const out = allocateEntity<any>();
|
|
220
|
+
out.kind = 'acme.Glow';
|
|
221
|
+
out.slot = ModifierSlot.Effect;
|
|
222
|
+
return finishEntity(out) as Modifier;
|
|
223
|
+
})();
|
|
224
|
+
const missing = (() => {
|
|
225
|
+
const out = allocateEntity<any>();
|
|
226
|
+
out.kind = 'acme.Missing';
|
|
227
|
+
out.slot = ModifierSlot.Effect;
|
|
228
|
+
return finishEntity(out) as Modifier;
|
|
229
|
+
})();
|
|
214
230
|
const material = createShadedMaterial({ modifiers: [registered, missing] });
|
|
215
231
|
const registry = getWgpuRenderStateRuntime(state).registries.modifierSnippets;
|
|
216
232
|
const source = getWgpuShadedModuleSource(material, registry);
|
|
@@ -247,7 +263,14 @@ describe('getWgpuShadedModuleSource', () => {
|
|
|
247
263
|
kind,
|
|
248
264
|
slot: slots[i],
|
|
249
265
|
});
|
|
250
|
-
modifiers.push(
|
|
266
|
+
modifiers.push(
|
|
267
|
+
(() => {
|
|
268
|
+
const out = allocateEntity<any>();
|
|
269
|
+
out.kind = kind;
|
|
270
|
+
out.slot = slots[i];
|
|
271
|
+
return finishEntity(out) as Modifier;
|
|
272
|
+
})(),
|
|
273
|
+
);
|
|
251
274
|
}
|
|
252
275
|
const registry = getWgpuRenderStateRuntime(state).registries.modifierSnippets;
|
|
253
276
|
const source = getWgpuShadedModuleSource(createShadedMaterial({ modifiers }), registry);
|
|
@@ -273,8 +296,18 @@ describe('getWgpuShadedModuleSource', () => {
|
|
|
273
296
|
modifiers: [
|
|
274
297
|
createDissolveModifier({ threshold: 0.1 }),
|
|
275
298
|
createDissolveModifier({ threshold: 0.2 }),
|
|
276
|
-
|
|
277
|
-
|
|
299
|
+
(() => {
|
|
300
|
+
const out = allocateEntity<any>();
|
|
301
|
+
out.kind = 'acme.DeclarationA';
|
|
302
|
+
out.slot = ModifierSlot.Effect;
|
|
303
|
+
return finishEntity(out) as Modifier;
|
|
304
|
+
})(),
|
|
305
|
+
(() => {
|
|
306
|
+
const out = allocateEntity<any>();
|
|
307
|
+
out.kind = 'acme.DeclarationB';
|
|
308
|
+
out.slot = ModifierSlot.Effect;
|
|
309
|
+
return finishEntity(out) as Modifier;
|
|
310
|
+
})(),
|
|
278
311
|
],
|
|
279
312
|
});
|
|
280
313
|
const source = getWgpuShadedModuleSource(material, getWgpuRenderStateRuntime(state).registries.modifierSnippets);
|
|
@@ -404,7 +437,12 @@ describe('shaded binding cache', () => {
|
|
|
404
437
|
it('reuses the compiled plan and GPU resource arrays on an unchanged draw', () => {
|
|
405
438
|
const { fake, state } = makeWgpuScene3DState();
|
|
406
439
|
let contributions = 0;
|
|
407
|
-
const modifier =
|
|
440
|
+
const modifier = (() => {
|
|
441
|
+
const out = allocateEntity<any>();
|
|
442
|
+
out.kind = 'acme.Stable';
|
|
443
|
+
out.slot = ModifierSlot.Effect;
|
|
444
|
+
return finishEntity(out) as Modifier;
|
|
445
|
+
})();
|
|
408
446
|
registerWgpuModifierSnippet(state, {
|
|
409
447
|
contribution: () => {
|
|
410
448
|
contributions++;
|