@flighthq/scene3d-wgpu 0.5.1-next.1069.554a2ac → 0.5.1-next.1201.9b49dee
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/drawWgpuScene3D.d.ts +2 -2
- package/dist/drawWgpuScene3D.d.ts.map +1 -1
- package/dist/drawWgpuScene3D.js +3 -2
- package/dist/drawWgpuScene3D.js.map +1 -1
- package/dist/wgpuEnvironmentSkybox.d.ts +2 -2
- package/dist/wgpuEnvironmentSkybox.d.ts.map +1 -1
- package/dist/wgpuEnvironmentSkybox.js +4 -3
- package/dist/wgpuEnvironmentSkybox.js.map +1 -1
- package/dist/wgpuMeshPipeline.js +1 -1
- package/dist/wgpuMeshPipeline.js.map +1 -1
- package/dist/wgpuScene3DTestHelper.d.ts +3 -2
- package/dist/wgpuScene3DTestHelper.d.ts.map +1 -1
- package/dist/wgpuScene3DTestHelper.js +29 -10
- package/dist/wgpuScene3DTestHelper.js.map +1 -1
- package/package.json +18 -18
- package/src/drawWgpuScene3D.test.ts +35 -33
- package/src/wgpuEnvironmentSkybox.test.ts +6 -6
- package/src/wgpuParticleEmitter3D.test.ts +15 -1
- package/src/wgpuShadowMap.test.ts +20 -20
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.1201.9b49dee](https://github.com/flighthq/flight/tree/9b49dee3f22f6b2838c3d237edcc77bca65734f2/packages/scene3d-wgpu)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/9b49dee3f22f6b2838c3d237edcc77bca65734f2/LICENSE.md)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera3D, Mesh, Scene3DLightsLike, Node3D, WgpuRenderState, WgpuScene3DForwardLightList } from '@flighthq/types/contract';
|
|
2
|
-
export declare function drawWgpuScene3D(
|
|
1
|
+
import type { Camera3D, Mesh, Scene3DLightsLike, Node3D, WgpuRenderPass, WgpuRenderState, WgpuScene3DForwardLightList } from '@flighthq/types/contract';
|
|
2
|
+
export declare function drawWgpuScene3D(pass: WgpuRenderPass, scene: Readonly<Node3D>, camera: Readonly<Camera3D>, lights: Readonly<Scene3DLightsLike>, forwardLights?: Readonly<WgpuScene3DForwardLightList>): void;
|
|
3
3
|
export declare function isWgpuMeshGpuSkinned(state: WgpuRenderState, mesh: Readonly<Mesh>): boolean;
|
|
4
4
|
//# sourceMappingURL=drawWgpuScene3D.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawWgpuScene3D.d.ts","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,QAAQ,EAOR,IAAI,EAGJ,iBAAiB,EACjB,MAAM,EAIN,eAAe,EAEf,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AA2BlC,wBAAgB,eAAe,CAC7B,
|
|
1
|
+
{"version":3,"file":"drawWgpuScene3D.d.ts","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,QAAQ,EAOR,IAAI,EAGJ,iBAAiB,EACjB,MAAM,EAIN,cAAc,EACd,eAAe,EAEf,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AA2BlC,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,aAAa,CAAC,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GACpD,IAAI,CAiHN;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAG1F"}
|
package/dist/drawWgpuScene3D.js
CHANGED
|
@@ -26,8 +26,9 @@ import { getWgpuScene3DRuntime } from './wgpuScene3DRuntime';
|
|
|
26
26
|
// issues the per-subset indexed draw. A subset whose material resolves to no renderer (and no
|
|
27
27
|
// StandardMaterialKind fallback) is skipped — no built-in fallback. Depth/cull state is owned by the
|
|
28
28
|
// material renderer's pipeline; the surrounding rgba16float scene render pass + depth attachment is
|
|
29
|
-
// the effect pipeline's, not drawWgpuScene3D's.
|
|
30
|
-
export function drawWgpuScene3D(
|
|
29
|
+
// the effect pipeline's, not drawWgpuScene3D's. The pass names the target the scene lands in.
|
|
30
|
+
export function drawWgpuScene3D(pass, scene, camera, lights, forwardLights) {
|
|
31
|
+
const state = pass.state;
|
|
31
32
|
const list = prepareScene3DRender(state, scene, camera, lights);
|
|
32
33
|
const lightBlock = list.lights;
|
|
33
34
|
const viewProjection = list.viewProjection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawWgpuScene3D.js","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drawWgpuScene3D.js","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Camera3D, Environment,
|
|
2
|
-
export declare function drawWgpuEnvironmentSkybox(
|
|
1
|
+
import type { Camera3D, Environment, WgpuRenderPass } from '@flighthq/types/contract';
|
|
2
|
+
export declare function drawWgpuEnvironmentSkybox(renderPass: WgpuRenderPass, environment: Readonly<Environment>, camera: Readonly<Camera3D>, aspect: number): void;
|
|
3
3
|
//# sourceMappingURL=wgpuEnvironmentSkybox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuEnvironmentSkybox.d.ts","sourceRoot":"","sources":["../src/wgpuEnvironmentSkybox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"wgpuEnvironmentSkybox.d.ts","sourceRoot":"","sources":["../src/wgpuEnvironmentSkybox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAmB,MAAM,0BAA0B,CAAC;AAavG,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAClC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,MAAM,GACb,IAAI,CAyCN"}
|
|
@@ -7,15 +7,16 @@ import { getWgpuScene3DRuntime } from './wgpuScene3DRuntime';
|
|
|
7
7
|
// ray from the inverse view-projection and samples the cube. The pipeline writes no depth and compares
|
|
8
8
|
// 'always', so it fills every pixel with the backdrop; call it once, inside the open scene render pass and
|
|
9
9
|
// BEFORE drawWgpuScene3D, so opaque geometry (depth-test LESS) draws over it. A no-op when the environment
|
|
10
|
-
// has no complete source cube
|
|
10
|
+
// has no complete source cube. `aspect` is the viewport width / height (matches
|
|
11
11
|
// the camera aspect drawWgpuScene3D uses). The ray reconstruction uses GL-convention clip Z (near -1, far
|
|
12
12
|
// +1) to match the camera's projection matrices — the same convention the mesh/shadow paths assume.
|
|
13
|
-
export function drawWgpuEnvironmentSkybox(
|
|
13
|
+
export function drawWgpuEnvironmentSkybox(renderPass, environment, camera, aspect) {
|
|
14
|
+
const state = renderPass.state;
|
|
14
15
|
const cubeView = ensureWgpuEnvironmentSourceCube(state, environment);
|
|
15
16
|
if (cubeView === null)
|
|
16
17
|
return;
|
|
17
18
|
const stateRuntime = getWgpuRenderStateRuntime(state);
|
|
18
|
-
const pass =
|
|
19
|
+
const pass = renderPass.encoder;
|
|
19
20
|
if (pass === null)
|
|
20
21
|
return;
|
|
21
22
|
const scene = getWgpuScene3DRuntime(state);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuEnvironmentSkybox.js","sourceRoot":"","sources":["../src/wgpuEnvironmentSkybox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,iGAAiG;AACjG,wGAAwG;AACxG,uGAAuG;AACvG,2GAA2G;AAC3G,2GAA2G;AAC3G,
|
|
1
|
+
{"version":3,"file":"wgpuEnvironmentSkybox.js","sourceRoot":"","sources":["../src/wgpuEnvironmentSkybox.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuMeshPipeline.js
CHANGED
|
@@ -790,7 +790,7 @@ function overwriteIdentityCache(binding, key, values) {
|
|
|
790
790
|
// mat4x4f + normal mat3x3f padded to std140) into it, records the slot's byte offset on the scene
|
|
791
791
|
// runtime (the draw path passes it as the bind group's dynamic offset), and returns the shared
|
|
792
792
|
// dynamic-offset Draw bind group. Reusing the render-state ring keeps each subset draw to one ring
|
|
793
|
-
// slot, not a fresh buffer;
|
|
793
|
+
// slot, not a fresh buffer; submitWgpuFrame uploads the used ring region before submit. Mirrors
|
|
794
794
|
// the per-draw model/normal upload in scene-gl's drawGlMeshSubset.
|
|
795
795
|
export function writeWgpuDrawUniform(state, proxy) {
|
|
796
796
|
const scene = getWgpuScene3DRuntime(state);
|
|
@@ -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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WgpuPipeline,
|
|
1
|
+
import type { WgpuPipeline, WgpuRenderPass, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
import type { WgpuSkinningAdapter } from '@flighthq/types/contract';
|
|
3
3
|
export interface FakeWgpu {
|
|
4
4
|
calls: {
|
|
@@ -8,7 +8,8 @@ export interface FakeWgpu {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function makeWgpuScene3DState(pipeline?: Readonly<WgpuPipeline>): {
|
|
10
10
|
fake: FakeWgpu;
|
|
11
|
-
|
|
11
|
+
pass: WgpuRenderPass;
|
|
12
|
+
state: WgpuRenderState;
|
|
12
13
|
};
|
|
13
14
|
export declare function makeWgpuSkinningAdapter(): WgpuSkinningAdapter;
|
|
14
15
|
//# sourceMappingURL=wgpuScene3DTestHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuScene3DTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuScene3DTestHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wgpuScene3DTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuScene3DTestHelper.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EAGhB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAWpE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,CAAC;CAC5C;AAmCD,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,QAAQ,CAAC,YAAY,CAAmD,GACjF;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAoKlE;AAED,wBAAgB,uBAAuB,IAAI,mBAAmB,CAI7D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
1
2
|
import { createEmptyWgpuRegistries, createWgpuDeviceState, createWgpuPipeline, createWgpuRenderStateRuntime, } from '@flighthq/render-wgpu/contract';
|
|
2
3
|
import { createRenderState } from '@flighthq/render/contract';
|
|
3
4
|
import { EntityRuntimeKey } from '@flighthq/types/contract';
|
|
@@ -122,22 +123,18 @@ export function makeWgpuScene3DState(pipeline = createWgpuPipeline(createEmptyWg
|
|
|
122
123
|
};
|
|
123
124
|
},
|
|
124
125
|
};
|
|
125
|
-
const
|
|
126
|
-
const state = createRenderState({
|
|
127
|
-
allowSmoothing: true,
|
|
128
|
-
backgroundColorRgba: [0, 0, 0, 0],
|
|
129
|
-
});
|
|
126
|
+
const state = createRenderState({ allowSmoothing: true });
|
|
130
127
|
const deviceState = createWgpuDeviceState(device);
|
|
131
128
|
Object.assign(state, {
|
|
132
129
|
applyBlendMode: null,
|
|
133
|
-
canvas,
|
|
134
|
-
context: {},
|
|
135
130
|
device,
|
|
136
131
|
deviceState,
|
|
137
132
|
format: 'bgra8unorm',
|
|
138
133
|
pipeline,
|
|
139
|
-
surface: { height: canvas.height, width: canvas.width },
|
|
140
134
|
});
|
|
135
|
+
// The target the fake pass is bound to: a 256x256 texture target, which is what the recorded draws are
|
|
136
|
+
// projected into.
|
|
137
|
+
const target = { colorAttachments: 1, context: null, height: 256, width: 256 };
|
|
141
138
|
const runtime = createWgpuRenderStateRuntime(deviceState, pipeline);
|
|
142
139
|
Object.assign(runtime, {
|
|
143
140
|
commandEncoder,
|
|
@@ -154,8 +151,10 @@ export function makeWgpuScene3DState(pipeline = createWgpuPipeline(createEmptyWg
|
|
|
154
151
|
nearestSampler: {},
|
|
155
152
|
samplerCache: new Map(),
|
|
156
153
|
textureCache: new WeakMap(),
|
|
154
|
+
currentRenderTarget: target,
|
|
157
155
|
renderPass,
|
|
158
|
-
|
|
156
|
+
// The fake stands in for a pass over a 256x256 surface: every draw reads this for its projection.
|
|
157
|
+
renderTargetViewport: { height: 256, width: 256 },
|
|
159
158
|
uniformBuffer: { destroy: () => { } },
|
|
160
159
|
uniformBindGroupLayout: {},
|
|
161
160
|
uniformData: new Float32Array(256 * 64),
|
|
@@ -164,7 +163,27 @@ export function makeWgpuScene3DState(pipeline = createWgpuPipeline(createEmptyWg
|
|
|
164
163
|
uniformStride: 256,
|
|
165
164
|
});
|
|
166
165
|
state[EntityRuntimeKey] = runtime;
|
|
167
|
-
|
|
166
|
+
// The fake pass the draw entry points take. It is bound to the same fake encoder the runtime carries,
|
|
167
|
+
// so a test can assert on recorded calls exactly as before while the API says where the draw lands.
|
|
168
|
+
const pass = allocateEntity();
|
|
169
|
+
pass.colorView = {};
|
|
170
|
+
pass.encoder = renderPass;
|
|
171
|
+
pass.ownsFrame = false;
|
|
172
|
+
pass.saved = {
|
|
173
|
+
clipForms: [],
|
|
174
|
+
colorFormat: 'bgra8unorm',
|
|
175
|
+
currentMaskDepth: 0,
|
|
176
|
+
currentScissorRect: null,
|
|
177
|
+
maskWriteMode: false,
|
|
178
|
+
renderTarget: null,
|
|
179
|
+
renderTargetViewport: null,
|
|
180
|
+
renderTransform2D: null,
|
|
181
|
+
scissorStack: [],
|
|
182
|
+
};
|
|
183
|
+
pass.state = state;
|
|
184
|
+
pass.target = target;
|
|
185
|
+
pass.viewport = { height: 256, width: 256 };
|
|
186
|
+
return { fake: { calls }, pass: finishEntity(pass), state };
|
|
168
187
|
}
|
|
169
188
|
export function makeWgpuSkinningAdapter() {
|
|
170
189
|
const { state } = makeWgpuScene3DState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuScene3DTestHelper.js","sourceRoot":"","sources":["../src/wgpuScene3DTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAY5D,sGAAsG;AACtG,gGAAgG;AAChG,SAAS,oBAAoB;IAC3B,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,gBAAgB,CAAC,GAAG;YACpB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;YACb,aAAa,EAAE,GAAG;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1B,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,qGAAqG;AACrG,kGAAkG;AAClG,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAClC,WAAmC,kBAAkB,CAAC,yBAAyB,EAAE,CAAC;IAElF,oBAAoB,EAAE,CAAC;IACvB,MAAM,KAAK,GAAwC,EAAE,CAAC;IACtD,MAAM,MAAM,GACV,CAAC,IAAY,EAAE,MAAgB,EAAE,EAAE,CACnC,CAAC,GAAG,IAAe,EAAW,EAAE;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACJ,MAAM,WAAW,GAAG,CAAC,GAAG,IAAe,EAAQ,EAAE;QAC/C,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;QACxD,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAuB,EAAE,IAAI,CAAC,CAAC,CAAuB,CAAC,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CACnB,WAAoC,EACpC,IAAgC,EAChC,UAAoC,EACpC,IAAiB,EACX,EAAE;QACR,oCAAoC,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,MAAiB,EAAE,WAA2B,EAAE,MAAM,GAAG,CAAC,EAAE,IAAa,EAAQ,EAAE;QACzG,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,MAAwB,EAAE,MAAM,GAAG,CAAC,EAAE,IAAa,EAAQ,EAAE;QAClG,IAAI,MAAM,KAAK,IAAI;YAAE,yBAAyB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;QAClC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC;QACpC,cAAc;QACd,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;QAClC,eAAe;QACf,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;KACA,CAAC;IAErC,oGAAoG;IACpG,2GAA2G;IAC3G,mEAAmE;IACnE,MAAM,cAAc,GAAG;QACrB,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;QACtD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;KACG,CAAC;IAElC,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,EAAE,+BAA+B,EAAE,GAAG,EAAE;QAChD,KAAK,EAAE;YACL,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;YAChE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;YACxB,WAAW;YACX,YAAY;SACb;QACD,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC9C,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC1D,oBAAoB,EAAE,GAAG,EAAE;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,YAAY,EAAE,CAAC,UAA+B,EAAE,EAAE;YAChD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAA0B,CAAC;QAC9E,CAAC;QACD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACxD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACxD,aAAa,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,kBAAkB,EAAE,CAAC,UAAmB,EAAE,EAAE;YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAqB,CAAC;QAC/B,CAAC;QACD,aAAa,EAAE,CAAC,UAAgC,EAAE,EAAE;YAClD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClF,OAAO;gBACL,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB;gBACxC,kBAAkB;gBAClB,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;gBACvC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;gBACjB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM;gBACN,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,CAAC;gBAC5C,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,CAAC;gBACxC,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,KAAK;aACmB,CAAC;QAC7B,CAAC;KACsB,CAAC;IAE1B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAuB,CAAC;IAChE,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAC9B,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAClC,CAAgC,CAAC;IAElC,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,cAAc,EAAE,IAAI;QACpB,MAAM;QACN,OAAO,EAAE,EAAsB;QAC/B,MAAM;QACN,WAAW;QACX,MAAM,EAAE,YAAY;QACpB,QAAQ;QACR,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;KACxD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,4BAA4B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,cAAc;QACd,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,YAAY;QAChC,sCAAsC,EAAE,IAAI,OAAO,EAAE;QACrD,0CAA0C,EAAE,IAAI,OAAO,EAAE;QACzD,iCAAiC,EAAE,IAAI,OAAO,EAAE;QAChD,qCAAqC,EAAE,IAAI,OAAO,EAAE;QACpD,mBAAmB,EAAE,IAAI,GAAG,EAAE;QAC9B,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,sBAAsB,EAAE,EAAwB;QAChD,aAAa,EAAE,EAAgB;QAC/B,cAAc,EAAE,EAAgB;QAChC,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,YAAY,EAAE,IAAI,OAAO,EAAE;QAC3B,UAAU;QACV,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAA0B;QAC5D,sBAAsB,EAAE,EAAwB;QAChD,WAAW,EAAE,IAAI,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC;QACvC,cAAc,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC;QAClC,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,GAAG;KACuB,CAAC,CAAC;IAC7C,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAElC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,EAAE,KAAK,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACzC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,sBAAsB,CAAC,KAAK,CAAE,CAAC;AACxC,CAAC;AAED,oGAAoG;AACpG,qGAAqG;AACrG,qGAAqG;AACrG,SAAS,uBAAuB,CAAC,IAAa,EAAE,UAAU,GAAG,CAAC,EAAE,IAAa;IAC3E,MAAM,aAAa,GAAG,IAAI,YAAY,WAAW,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,KAAK,WAAW,IAAI,IAAI,YAAY,iBAAiB,CAAC;IAC1G,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;IAC9D,MAAM,oBAAoB,GAAG,IAAI,IAAI,iBAAiB,GAAG,UAAU,CAAC;IACpE,IAAI,oBAAoB,GAAG,CAAC,IAAI,UAAU,GAAG,oBAAoB,GAAG,iBAAiB,EAAE,CAAC;QACtF,MAAM,IAAI,YAAY,CAAC,mDAAmD,EAAE,gBAAgB,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,YAAY,CAAC,mEAAmE,EAAE,gBAAgB,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAqB;IAC3D,OAAQ,IAAiE,CAAC,iBAAiB,CAAC;AAC9F,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAwB;IAC5D,IACE,MAAM,KAAK,YAAY;QACvB,MAAM,KAAK,iBAAiB;QAC5B,MAAM,KAAK,YAAY;QACvB,MAAM,KAAK,iBAAiB,EAC5B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAiB;IAC7C,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,UAAU,GAAG,IAAuB,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,UAAU,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,6FAA6F;AAC7F,qFAAqF;AACrF,SAAS,oCAAoC,CAC3C,WAAoC,EACpC,IAAgC,EAChC,UAAoC,EACpC,IAAiB;IAEjB,MAAM,aAAa,GAAG,IAAI,YAAY,WAAW,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,KAAK,WAAW,IAAI,IAAI,YAAY,iBAAiB,CAAC;IAC1G,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO;IACnC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC;QAAE,OAAO;IACpE,MAAM,cAAc,GAAG,KAAK,GAAG,aAAa,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACzE,MAAM,kBAAkB,GACtB,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;QACxB,WAAW,GAAG,YAAY,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACrD,WAAW,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,cAAc,CAAC;IACjB,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,IAAI,YAAY,CACpB,2CAA2C,IAAI,CAAC,UAAU,wBAAwB,kBAAkB,6BAA6B,EACjI,gBAAgB,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,mGAAmG;AACnG,SAAS,yBAAyB,CAChC,IAA0C,EAC1C,MAAiB,EACjB,MAAc,EACd,IAAwB,EACxB,eAAuB;IAEvB,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,uCAAuC,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,MAAM,GAAG,eAAe,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,8BAA8B,eAAe,QAAQ,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO;IAC3C,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,SAAS,GAAG,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,gCAAgC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,oCAAoC,CAAC,YAAoB;IAChE,IAAI,YAAY,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC7G,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"wgpuScene3DTestHelper.js","sourceRoot":"","sources":["../src/wgpuScene3DTestHelper.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.1201.9b49dee",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,23 +38,23 @@
|
|
|
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/scene2d-wgpu": "0.5.1-next.
|
|
54
|
-
"@flighthq/scene3d": "0.5.1-next.
|
|
55
|
-
"@flighthq/shading": "0.5.1-next.
|
|
56
|
-
"@flighthq/texture": "0.5.1-next.
|
|
57
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/camera": "0.5.1-next.1201.9b49dee",
|
|
42
|
+
"@flighthq/color": "0.5.1-next.1201.9b49dee",
|
|
43
|
+
"@flighthq/entity": "0.5.1-next.1201.9b49dee",
|
|
44
|
+
"@flighthq/geometry": "0.5.1-next.1201.9b49dee",
|
|
45
|
+
"@flighthq/image": "0.5.1-next.1201.9b49dee",
|
|
46
|
+
"@flighthq/lighting": "0.5.1-next.1201.9b49dee",
|
|
47
|
+
"@flighthq/log": "0.5.1-next.1201.9b49dee",
|
|
48
|
+
"@flighthq/materials": "0.5.1-next.1201.9b49dee",
|
|
49
|
+
"@flighthq/node": "0.5.1-next.1201.9b49dee",
|
|
50
|
+
"@flighthq/registry": "0.5.1-next.1201.9b49dee",
|
|
51
|
+
"@flighthq/render": "0.5.1-next.1201.9b49dee",
|
|
52
|
+
"@flighthq/render-wgpu": "0.5.1-next.1201.9b49dee",
|
|
53
|
+
"@flighthq/scene2d-wgpu": "0.5.1-next.1201.9b49dee",
|
|
54
|
+
"@flighthq/scene3d": "0.5.1-next.1201.9b49dee",
|
|
55
|
+
"@flighthq/shading": "0.5.1-next.1201.9b49dee",
|
|
56
|
+
"@flighthq/texture": "0.5.1-next.1201.9b49dee",
|
|
57
|
+
"@flighthq/types": "0.5.1-next.1201.9b49dee"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"@webgpu/types": "^0.1.70"
|
|
@@ -60,7 +60,7 @@ const LIGHTS: Scene3DLightsLike = {
|
|
|
60
60
|
|
|
61
61
|
describe('drawWgpuScene3D', () => {
|
|
62
62
|
it('uploads one shared geometry once across a primary and derived state on the same device', () => {
|
|
63
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
63
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
64
64
|
registerWgpuStandardPbrMaterial(state);
|
|
65
65
|
const derived = createWgpuOffscreenRenderState(
|
|
66
66
|
state.deviceState,
|
|
@@ -71,46 +71,48 @@ describe('drawWgpuScene3D', () => {
|
|
|
71
71
|
const derivedRuntime = getWgpuRenderStateRuntime(derived);
|
|
72
72
|
derivedRuntime.commandEncoder = stateRuntime.commandEncoder;
|
|
73
73
|
derivedRuntime.renderPass = stateRuntime.renderPass;
|
|
74
|
+
derivedRuntime.renderTargetViewport = stateRuntime.renderTargetViewport;
|
|
75
|
+
const derivedPass = { ...pass, state: derived } as typeof pass;
|
|
74
76
|
|
|
75
77
|
const geometry = createBoxMeshGeometry();
|
|
76
78
|
const scene = createNode3D(Node3DKind);
|
|
77
79
|
addNodeChild(scene, createMesh(geometry, [createStandardPbrMaterial()]));
|
|
78
80
|
const meshBuffersBefore = countMeshBuffers(fake.calls);
|
|
79
81
|
|
|
80
|
-
drawWgpuScene3D(
|
|
81
|
-
drawWgpuScene3D(
|
|
82
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
83
|
+
drawWgpuScene3D(derivedPass, scene, makeCamera(), LIGHTS);
|
|
82
84
|
|
|
83
85
|
// 2 geometry buffers (vertex + index, shared across states) + 2 per-state instance buffers.
|
|
84
86
|
expect(countMeshBuffers(fake.calls)).toBe(meshBuffersBefore + 4);
|
|
85
87
|
});
|
|
86
88
|
|
|
87
89
|
it('draws each visible mesh subset with its registered material renderer', () => {
|
|
88
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
90
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
89
91
|
registerWgpuStandardPbrMaterial(state);
|
|
90
92
|
|
|
91
93
|
const scene = createNode3D(Node3DKind);
|
|
92
94
|
const mesh = createMesh(createBoxMeshGeometry(), [createStandardPbrMaterial()]);
|
|
93
95
|
addNodeChild(scene, mesh);
|
|
94
96
|
|
|
95
|
-
drawWgpuScene3D(
|
|
97
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
96
98
|
|
|
97
99
|
expect(fake.calls.some((c) => c.name === 'setPipeline')).toBe(true);
|
|
98
100
|
expect(fake.calls.some((c) => c.name === 'drawIndexed')).toBe(true);
|
|
99
101
|
});
|
|
100
102
|
|
|
101
103
|
it('skips a subset whose material has no registered renderer (no fallback)', () => {
|
|
102
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
104
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
103
105
|
// No registerWgpuStandardPbrMaterial: nothing resolves.
|
|
104
106
|
const scene = createNode3D(Node3DKind);
|
|
105
107
|
const mesh = createMesh(createBoxMeshGeometry(), [createStandardPbrMaterial()]);
|
|
106
108
|
addNodeChild(scene, mesh);
|
|
107
109
|
|
|
108
|
-
drawWgpuScene3D(
|
|
110
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
109
111
|
expect(fake.calls.some((c) => c.name === 'drawIndexed')).toBe(false);
|
|
110
112
|
});
|
|
111
113
|
|
|
112
114
|
it('binds once for a run of subsets sharing a material', () => {
|
|
113
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
115
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
114
116
|
registerWgpuStandardPbrMaterial(state);
|
|
115
117
|
|
|
116
118
|
const scene = createNode3D(Node3DKind);
|
|
@@ -120,7 +122,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
120
122
|
addNodeChild(scene, meshA);
|
|
121
123
|
addNodeChild(scene, meshB);
|
|
122
124
|
|
|
123
|
-
drawWgpuScene3D(
|
|
125
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
124
126
|
|
|
125
127
|
// Same material across both meshes: pipeline bound once, drawn twice.
|
|
126
128
|
expect(fake.calls.filter((c) => c.name === 'setPipeline').length).toBe(1);
|
|
@@ -128,7 +130,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
128
130
|
});
|
|
129
131
|
|
|
130
132
|
it('does not draw a disabled mesh', () => {
|
|
131
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
133
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
132
134
|
registerWgpuStandardPbrMaterial(state);
|
|
133
135
|
|
|
134
136
|
const scene = createNode3D(Node3DKind);
|
|
@@ -136,12 +138,12 @@ describe('drawWgpuScene3D', () => {
|
|
|
136
138
|
mesh.enabled = false;
|
|
137
139
|
addNodeChild(scene, mesh);
|
|
138
140
|
|
|
139
|
-
drawWgpuScene3D(
|
|
141
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
140
142
|
expect(fake.calls.some((c) => c.name === 'drawIndexed')).toBe(false);
|
|
141
143
|
});
|
|
142
144
|
|
|
143
145
|
it('partitions opaque and blended subsets into distinct pipeline runs', () => {
|
|
144
|
-
const { state } = makeWgpuScene3DState();
|
|
146
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
145
147
|
registerWgpuStandardPbrMaterial(state);
|
|
146
148
|
const scene = createNode3D(Node3DKind);
|
|
147
149
|
const blendedMaterial = createStandardPbrMaterial();
|
|
@@ -151,7 +153,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
151
153
|
addNodeChild(scene, blended);
|
|
152
154
|
addNodeChild(scene, opaque);
|
|
153
155
|
|
|
154
|
-
drawWgpuScene3D(
|
|
156
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
155
157
|
|
|
156
158
|
const runtime = getWgpuScene3DRuntime(state);
|
|
157
159
|
expect(runtime.opaqueDrawList.map((entry) => entry.mesh)).toEqual([opaque]);
|
|
@@ -161,13 +163,13 @@ describe('drawWgpuScene3D', () => {
|
|
|
161
163
|
});
|
|
162
164
|
|
|
163
165
|
it('selects a pipeline variant keyed by the surface material blendMode', () => {
|
|
164
|
-
const { state } = makeWgpuScene3DState();
|
|
166
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
165
167
|
registerWgpuStandardPbrMaterial(state);
|
|
166
168
|
const scene = createNode3D(Node3DKind);
|
|
167
169
|
const material = createStandardPbrMaterial({ alphaMode: 'blend', blendMode: BlendMode.Add });
|
|
168
170
|
addNodeChild(scene, createMesh(createBoxMeshGeometry(), [material]));
|
|
169
171
|
|
|
170
|
-
drawWgpuScene3D(
|
|
172
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
171
173
|
|
|
172
174
|
expect(
|
|
173
175
|
Array.from(getWgpuScene3DRuntime(state).pipelineCache.keys()).some((key) => key.endsWith('|blend:Add|rigid')),
|
|
@@ -177,13 +179,13 @@ describe('drawWgpuScene3D', () => {
|
|
|
177
179
|
// Pipeline identity is the blend mode alone. It used to carry an alpha-convention segment too, which
|
|
178
180
|
// is gone with the fork: one premultiplied blend state per mode, so the same mode is the same pipeline.
|
|
179
181
|
it('keys a blended pipeline variant by blend mode alone', () => {
|
|
180
|
-
const { state } = makeWgpuScene3DState();
|
|
182
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
181
183
|
registerWgpuStandardPbrMaterial(state);
|
|
182
184
|
const scene = createNode3D(Node3DKind);
|
|
183
185
|
const material = createStandardPbrMaterial({ alphaMode: 'blend' });
|
|
184
186
|
addNodeChild(scene, createMesh(createBoxMeshGeometry(), [material]));
|
|
185
187
|
|
|
186
|
-
drawWgpuScene3D(
|
|
188
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
187
189
|
|
|
188
190
|
const keys = Array.from(getWgpuScene3DRuntime(state).pipelineCache.keys());
|
|
189
191
|
expect(keys.some((key) => key.endsWith('|blend:Normal|rigid'))).toBe(true);
|
|
@@ -191,14 +193,14 @@ describe('drawWgpuScene3D', () => {
|
|
|
191
193
|
});
|
|
192
194
|
|
|
193
195
|
it('routes resolved node alpha through the blended pass and draw proxy', () => {
|
|
194
|
-
const { state } = makeWgpuScene3DState();
|
|
196
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
195
197
|
registerWgpuStandardPbrMaterial(state);
|
|
196
198
|
const scene = createNode3D(Node3DKind);
|
|
197
199
|
const mesh = createMesh(createBoxMeshGeometry(), [createStandardPbrMaterial()]);
|
|
198
200
|
mesh.alpha = 0.5;
|
|
199
201
|
addNodeChild(scene, mesh);
|
|
200
202
|
|
|
201
|
-
drawWgpuScene3D(
|
|
203
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
202
204
|
|
|
203
205
|
const runtime = getWgpuScene3DRuntime(state);
|
|
204
206
|
expect(runtime.opaqueDrawList).toHaveLength(0);
|
|
@@ -207,7 +209,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
207
209
|
});
|
|
208
210
|
|
|
209
211
|
it('sorts blended subsets back-to-front by projected depth', () => {
|
|
210
|
-
const { state } = makeWgpuScene3DState();
|
|
212
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
211
213
|
registerWgpuStandardPbrMaterial(state);
|
|
212
214
|
const scene = createNode3D(Node3DKind);
|
|
213
215
|
const material = createStandardPbrMaterial();
|
|
@@ -221,13 +223,13 @@ describe('drawWgpuScene3D', () => {
|
|
|
221
223
|
addNodeChild(scene, near);
|
|
222
224
|
addNodeChild(scene, far);
|
|
223
225
|
|
|
224
|
-
drawWgpuScene3D(
|
|
226
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
225
227
|
|
|
226
228
|
expect(getWgpuScene3DRuntime(state).blendedDrawList.map((entry) => entry.mesh)).toEqual([far, near]);
|
|
227
229
|
});
|
|
228
230
|
|
|
229
231
|
it('sorts blended subsets back-to-front with an orthographic camera', () => {
|
|
230
|
-
const { state } = makeWgpuScene3DState();
|
|
232
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
231
233
|
registerWgpuStandardPbrMaterial(state);
|
|
232
234
|
const scene = createNode3D(Node3DKind);
|
|
233
235
|
const material = createStandardPbrMaterial();
|
|
@@ -246,12 +248,12 @@ describe('drawWgpuScene3D', () => {
|
|
|
246
248
|
projection: createOrthographicProjection({ halfHeight: 1, halfWidth: 1 }),
|
|
247
249
|
});
|
|
248
250
|
setCamera3DViewMatrix4FromLookAt(camera, { x: 0, y: 0, z: 5 }, { x: 0, y: 0, z: 0 }, { x: 0, y: 1, z: 0 });
|
|
249
|
-
drawWgpuScene3D(
|
|
251
|
+
drawWgpuScene3D(pass, scene, camera, LIGHTS);
|
|
250
252
|
expect(getWgpuScene3DRuntime(state).blendedDrawList.map((entry) => entry.mesh)).toEqual([far, near]);
|
|
251
253
|
});
|
|
252
254
|
|
|
253
255
|
it('reuses opaque and blended draw records across frames', () => {
|
|
254
|
-
const { state } = makeWgpuScene3DState();
|
|
256
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
255
257
|
registerWgpuStandardPbrMaterial(state);
|
|
256
258
|
const scene = createNode3D(Node3DKind);
|
|
257
259
|
const opaque = createMesh(createBoxMeshGeometry(), [createStandardPbrMaterial()]);
|
|
@@ -262,11 +264,11 @@ describe('drawWgpuScene3D', () => {
|
|
|
262
264
|
addNodeChild(scene, blended);
|
|
263
265
|
const camera = makeCamera();
|
|
264
266
|
|
|
265
|
-
drawWgpuScene3D(
|
|
267
|
+
drawWgpuScene3D(pass, scene, camera, LIGHTS);
|
|
266
268
|
const runtime = getWgpuScene3DRuntime(state);
|
|
267
269
|
const opaqueEntry = runtime.opaqueDrawList[0];
|
|
268
270
|
const blendedEntry = runtime.blendedDrawList[0];
|
|
269
|
-
drawWgpuScene3D(
|
|
271
|
+
drawWgpuScene3D(pass, scene, camera, LIGHTS);
|
|
270
272
|
|
|
271
273
|
expect(runtime.opaqueDrawList[0]).toBe(opaqueEntry);
|
|
272
274
|
expect(runtime.blendedDrawList[0]).toBe(blendedEntry);
|
|
@@ -275,12 +277,12 @@ describe('drawWgpuScene3D', () => {
|
|
|
275
277
|
});
|
|
276
278
|
|
|
277
279
|
it('draws a scene ParticleEmitter3D as a final pass without a manual emitter call', () => {
|
|
278
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
280
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
279
281
|
const scene = createNode3D(Node3DKind);
|
|
280
282
|
addNodeChild(scene, makeParticleEmitter2D(3));
|
|
281
283
|
// No mesh and no manual drawWgpuScene3DParticleEmitter3Ds — drawWgpuScene3D must render the emitter itself
|
|
282
284
|
// (a 6-index instanced quad draw), mirroring drawGlScene3D's automatic emitter pass.
|
|
283
|
-
drawWgpuScene3D(
|
|
285
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
284
286
|
const draw = fake.calls.find((c) => c.name === 'drawIndexed');
|
|
285
287
|
expect(draw).toBeDefined();
|
|
286
288
|
expect(draw!.args[0]).toBe(6);
|
|
@@ -294,7 +296,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
294
296
|
// in the tail of each record, and one WITHOUT must upload opaque white there — the shader multiplies
|
|
295
297
|
// unconditionally, so a zeroed tail would render every uncoloured batch black.
|
|
296
298
|
it('packs each instance colour into the tail of its instance record', () => {
|
|
297
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
299
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
298
300
|
registerWgpuStandardPbrMaterial(state);
|
|
299
301
|
const scene = createNode3D(Node3DKind);
|
|
300
302
|
const mesh = createInstancedMesh(createBoxMeshGeometry(), [createStandardPbrMaterial()], 8);
|
|
@@ -304,7 +306,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
304
306
|
setInstancedMeshInstanceColor(mesh, 0, 0xff0000ff);
|
|
305
307
|
addNodeChild(scene, mesh);
|
|
306
308
|
|
|
307
|
-
drawWgpuScene3D(
|
|
309
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
308
310
|
|
|
309
311
|
// Select the instance upload by its exact byte size: two 80-byte records. Picking "the largest
|
|
310
312
|
// write" would just as happily return the frame uniform buffer.
|
|
@@ -318,7 +320,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
318
320
|
});
|
|
319
321
|
|
|
320
322
|
it('gives each instanced mesh in a frame its own instance buffer', () => {
|
|
321
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
323
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
322
324
|
registerWgpuStandardPbrMaterial(state);
|
|
323
325
|
const scene = createNode3D(Node3DKind);
|
|
324
326
|
for (const x of [0, 0.5]) {
|
|
@@ -328,7 +330,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
328
330
|
addNodeChild(scene, mesh);
|
|
329
331
|
}
|
|
330
332
|
|
|
331
|
-
drawWgpuScene3D(
|
|
333
|
+
drawWgpuScene3D(pass, scene, makeCamera(), LIGHTS);
|
|
332
334
|
|
|
333
335
|
const bound = fake.calls
|
|
334
336
|
.filter((call) => call.name === 'setVertexBuffer' && call.args[0] === 1)
|
|
@@ -340,7 +342,7 @@ describe('drawWgpuScene3D', () => {
|
|
|
340
342
|
|
|
341
343
|
describe('isWgpuMeshGpuSkinned', () => {
|
|
342
344
|
it('selects GPU skinning only for a skin plus joints0 and weights0 geometry', () => {
|
|
343
|
-
const { state } = makeWgpuScene3DState();
|
|
345
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
344
346
|
registerWgpuGpuSkinning(state);
|
|
345
347
|
const rigid = createMesh(createBoxMeshGeometry(), [createStandardPbrMaterial()]);
|
|
346
348
|
expect(isWgpuMeshGpuSkinned(state, rigid)).toBe(false);
|
|
@@ -38,19 +38,19 @@ function completeEnvironment(): Environment {
|
|
|
38
38
|
|
|
39
39
|
describe('drawWgpuEnvironmentSkybox', () => {
|
|
40
40
|
it('is a no-op when the environment has no complete source cube', () => {
|
|
41
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
41
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
42
42
|
const before = fake.calls.length;
|
|
43
43
|
expect(() =>
|
|
44
|
-
drawWgpuEnvironmentSkybox(
|
|
44
|
+
drawWgpuEnvironmentSkybox(pass, { environment: null, intensity: 1 } as Environment, makeCamera(), 1),
|
|
45
45
|
).not.toThrow();
|
|
46
46
|
expect(fake.calls.length).toBe(before);
|
|
47
47
|
});
|
|
48
48
|
|
|
49
49
|
it('binds the cube + uniform and draws the fullscreen backdrop', () => {
|
|
50
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
50
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
51
51
|
const camera = makeCamera();
|
|
52
52
|
camera.inverseViewProjection.m[0] = 42;
|
|
53
|
-
drawWgpuEnvironmentSkybox(
|
|
53
|
+
drawWgpuEnvironmentSkybox(pass, completeEnvironment(), camera, 1);
|
|
54
54
|
|
|
55
55
|
expect(camera.inverseViewProjection.m[0]).not.toBe(42);
|
|
56
56
|
expect(fake.calls.some((c) => c.name === 'setPipeline')).toBe(true);
|
|
@@ -59,8 +59,8 @@ describe('drawWgpuEnvironmentSkybox', () => {
|
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
it('compiles skybox WGSL that reconstructs the ray from the inverse view-projection', () => {
|
|
62
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
63
|
-
drawWgpuEnvironmentSkybox(
|
|
62
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
63
|
+
drawWgpuEnvironmentSkybox(pass, completeEnvironment(), makeCamera(), 1);
|
|
64
64
|
|
|
65
65
|
const shader = fake.calls.find(
|
|
66
66
|
(c) =>
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { createCamera3D, createPerspectiveProjection } from '@flighthq/camera/contract';
|
|
2
2
|
import { createMatrix4, setVector3 } from '@flighthq/geometry/contract';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
createImageResource,
|
|
5
|
+
registerTestImageDimensionResolver,
|
|
6
|
+
unregisterTestImageDimensionResolver,
|
|
7
|
+
} from '@flighthq/image/contract';
|
|
4
8
|
import { addNodeChild, invalidateNodeLocalTransform } from '@flighthq/node/contract';
|
|
5
9
|
import { createParticleEmitter3D, reserveParticleEmitter3D } from '@flighthq/particleemitter/contract';
|
|
6
10
|
import { createReadyImageElementForTest, registerWgpuImageTextureResolver } from '@flighthq/render-wgpu/contract';
|
|
@@ -19,6 +23,16 @@ import { describe, expect, it } from 'vitest';
|
|
|
19
23
|
import { destroyWgpuParticleEmitter3DResources, drawWgpuScene3DParticleEmitter3Ds } from './wgpuParticleEmitter3D';
|
|
20
24
|
import { makeWgpuScene3DState } from './wgpuScene3DTestHelper';
|
|
21
25
|
|
|
26
|
+
// A test that wraps a host handle supplies the host: the resource measures through the registered
|
|
27
|
+
// resolver, and clearing after each test keeps this file from covering for another's missing one.
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
registerTestImageDimensionResolver();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
afterEach(() => {
|
|
33
|
+
unregisterTestImageDimensionResolver();
|
|
34
|
+
});
|
|
35
|
+
|
|
22
36
|
function makeCamera(): Camera3D {
|
|
23
37
|
const cam = createCamera3D({
|
|
24
38
|
far: 100,
|
|
@@ -73,7 +73,7 @@ function makeShadowScene3D(): Node3D {
|
|
|
73
73
|
|
|
74
74
|
describe('destroyWgpuScene3DShadow', () => {
|
|
75
75
|
it('destroys the shadow depth texture and clears the slot', () => {
|
|
76
|
-
const { state } = makeWgpuScene3DState();
|
|
76
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
77
77
|
drawWgpuScene3DShadowMap(state, makeShadowScene3D(), makeShadowCamera(), SHADOW_LIGHT);
|
|
78
78
|
|
|
79
79
|
const runtime = getWgpuScene3DRuntime(state);
|
|
@@ -90,14 +90,14 @@ describe('destroyWgpuScene3DShadow', () => {
|
|
|
90
90
|
});
|
|
91
91
|
|
|
92
92
|
it('is a no-op when no shadow was drawn', () => {
|
|
93
|
-
const { state } = makeWgpuScene3DState();
|
|
93
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
94
94
|
expect(() => destroyWgpuScene3DShadow(state)).not.toThrow();
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
describe('drawWgpuScene3DShadowMap', () => {
|
|
99
99
|
it('does not allocate or render when the directional light has shadows disabled', () => {
|
|
100
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
100
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
101
101
|
|
|
102
102
|
drawWgpuScene3DShadowMap(
|
|
103
103
|
state,
|
|
@@ -116,7 +116,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
116
116
|
});
|
|
117
117
|
|
|
118
118
|
it('treats an absent directional light as disabled and invalidates a retained shadow', () => {
|
|
119
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
119
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
120
120
|
const scene = makeShadowScene3D();
|
|
121
121
|
const camera = makeShadowCamera();
|
|
122
122
|
drawWgpuScene3DShadowMap(state, scene, camera, SHADOW_LIGHT);
|
|
@@ -129,7 +129,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
129
129
|
});
|
|
130
130
|
|
|
131
131
|
it('creates a sampleable depth32float shadow map and stores it on the runtime', () => {
|
|
132
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
132
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
133
133
|
drawWgpuScene3DShadowMap(state, makeShadowScene3D(), makeShadowCamera(), SHADOW_LIGHT);
|
|
134
134
|
|
|
135
135
|
const depthCreate = fake.calls.find(
|
|
@@ -143,7 +143,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
143
143
|
});
|
|
144
144
|
|
|
145
145
|
it('records normalized PCF and receiver-bias configuration on the runtime', () => {
|
|
146
|
-
const { state } = makeWgpuScene3DState();
|
|
146
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
147
147
|
const light = createDirectionalLight({
|
|
148
148
|
castsShadow: true,
|
|
149
149
|
normalBias: 0.02,
|
|
@@ -193,7 +193,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
193
193
|
});
|
|
194
194
|
|
|
195
195
|
it('rejects a perspective directional shadow camera', () => {
|
|
196
|
-
const { state } = makeWgpuScene3DState();
|
|
196
|
+
const { pass, state } = makeWgpuScene3DState();
|
|
197
197
|
const camera = createCamera3D({
|
|
198
198
|
far: 100,
|
|
199
199
|
near: 0.1,
|
|
@@ -207,7 +207,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
207
207
|
});
|
|
208
208
|
|
|
209
209
|
it('handles false -> true -> false without allocating or sampling a stale shadow', () => {
|
|
210
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
210
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
211
211
|
const scene = makeShadowScene3D();
|
|
212
212
|
const camera = makeShadowCamera();
|
|
213
213
|
|
|
@@ -232,7 +232,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
232
232
|
// drawIndexed unconditionally, so a non-indexed caster rendered (once the forward path was fixed)
|
|
233
233
|
// but cast no shadow. glShadowMap has always branched to drawArrays for this case.
|
|
234
234
|
it('issues a non-indexed draw for a caster without indices', () => {
|
|
235
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
235
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
236
236
|
const scene = createNode3D(Node3DKind);
|
|
237
237
|
addNodeChild(
|
|
238
238
|
scene,
|
|
@@ -259,7 +259,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
259
259
|
});
|
|
260
260
|
|
|
261
261
|
it('opens a depth-only pass and renders each caster mesh depth', () => {
|
|
262
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
262
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
263
263
|
drawWgpuScene3DShadowMap(state, makeShadowScene3D(), makeShadowCamera(), SHADOW_LIGHT);
|
|
264
264
|
|
|
265
265
|
expect(fake.calls.some((c) => c.name === 'beginRenderPass')).toBe(true);
|
|
@@ -275,7 +275,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
275
275
|
});
|
|
276
276
|
|
|
277
277
|
it('draws a GPU-skinned caster through a palette-backed depth variant', () => {
|
|
278
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
278
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
279
279
|
registerWgpuGpuSkinning(state);
|
|
280
280
|
const scene = createNode3D(Node3DKind);
|
|
281
281
|
const mesh = createMesh(
|
|
@@ -306,7 +306,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
306
306
|
});
|
|
307
307
|
|
|
308
308
|
it('compiles a vertex-only depth module with the GL->WebGPU depth remap', () => {
|
|
309
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
309
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
310
310
|
drawWgpuScene3DShadowMap(state, makeShadowScene3D(), makeShadowCamera(), SHADOW_LIGHT);
|
|
311
311
|
|
|
312
312
|
const shaderCall = fake.calls.find(
|
|
@@ -319,7 +319,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
319
319
|
});
|
|
320
320
|
|
|
321
321
|
it('reuses the shadow depth texture across frames', () => {
|
|
322
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
322
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
323
323
|
const scene = makeShadowScene3D();
|
|
324
324
|
const camera = makeShadowCamera();
|
|
325
325
|
drawWgpuScene3DShadowMap(state, scene, camera, SHADOW_LIGHT);
|
|
@@ -331,7 +331,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
331
331
|
});
|
|
332
332
|
|
|
333
333
|
it('is a no-op when no command encoder is active', () => {
|
|
334
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
334
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
335
335
|
getWgpuRenderStateRuntime(state).commandEncoder = null;
|
|
336
336
|
drawWgpuScene3DShadowMap(state, makeShadowScene3D(), makeShadowCamera(), SHADOW_LIGHT);
|
|
337
337
|
expect(fake.calls.some((c) => c.name === 'beginRenderPass')).toBe(false);
|
|
@@ -339,7 +339,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
339
339
|
});
|
|
340
340
|
|
|
341
341
|
it('binds a group(3) shadow group on the lit PBR draw that follows', () => {
|
|
342
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
342
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
343
343
|
registerWgpuStandardPbrMaterial(state);
|
|
344
344
|
drawWgpuScene3DShadowMap(state, makeShadowScene3D(), makeShadowCamera(), SHADOW_LIGHT);
|
|
345
345
|
|
|
@@ -350,7 +350,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
350
350
|
near: 0.1,
|
|
351
351
|
projection: createPerspectiveProjection({ aspect: 1, fovY: Math.PI / 3 }),
|
|
352
352
|
});
|
|
353
|
-
drawWgpuScene3D(
|
|
353
|
+
drawWgpuScene3D(pass, scene, camera, LIGHTS);
|
|
354
354
|
|
|
355
355
|
expect(fake.calls.some((c) => c.name === 'setBindGroup' && c.args[0] === 3)).toBe(true);
|
|
356
356
|
});
|
|
@@ -359,7 +359,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
359
359
|
// at the node's world matrix loses every instance's shadow, and because the per-instance matrix routinely
|
|
360
360
|
// carries the model's authoring scale it can stamp a wildly mis-sized silhouette over the map.
|
|
361
361
|
it('instances an instanced caster rather than drawing one copy at the node world matrix', () => {
|
|
362
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
362
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
363
363
|
const scene = createNode3D(Node3DKind);
|
|
364
364
|
const mesh = createInstancedMesh(createBoxMeshGeometry(), [], 8);
|
|
365
365
|
setInstancedMeshInstanceCount(mesh, 3);
|
|
@@ -377,7 +377,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
377
377
|
});
|
|
378
378
|
|
|
379
379
|
it('casts nothing for an instanced caster with no live instances', () => {
|
|
380
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
380
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
381
381
|
const scene = createNode3D(Node3DKind);
|
|
382
382
|
addNodeChild(scene, createInstancedMesh(createBoxMeshGeometry(), [], 8));
|
|
383
383
|
|
|
@@ -389,7 +389,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
389
389
|
// Two instanced casters in one depth pass must not share an instance buffer: the pass is submitted once,
|
|
390
390
|
// so a shared buffer would leave both reading whichever batch was written last.
|
|
391
391
|
it('gives each instanced caster in a pass its own instance buffer', () => {
|
|
392
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
392
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
393
393
|
const scene = createNode3D(Node3DKind);
|
|
394
394
|
for (const x of [0, 0.5]) {
|
|
395
395
|
const mesh = createInstancedMesh(createBoxMeshGeometry(), [], 8);
|
|
@@ -408,7 +408,7 @@ describe('drawWgpuScene3DShadowMap', () => {
|
|
|
408
408
|
});
|
|
409
409
|
|
|
410
410
|
it('still draws an ordinary rigid caster with a single non-instanced draw', () => {
|
|
411
|
-
const { fake, state } = makeWgpuScene3DState();
|
|
411
|
+
const { fake, pass, state } = makeWgpuScene3DState();
|
|
412
412
|
|
|
413
413
|
drawWgpuScene3DShadowMap(state, makeShadowScene3D(), makeShadowCamera(), SHADOW_LIGHT);
|
|
414
414
|
|