@flighthq/scene3d-wgpu 0.3.0-next.906.07cea63 → 0.3.1-next.1041.35b950c
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/dist/blinnPhongWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/blinnPhongWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/blinnPhongWgpuMeshMaterialRenderer.js +5 -3
- package/dist/blinnPhongWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/contract.d.ts +2 -8
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +2 -8
- package/dist/contract.js.map +1 -1
- package/dist/customShaderWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/customShaderWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/customShaderWgpuMeshMaterialRenderer.js +19 -15
- package/dist/customShaderWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/depthWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/depthWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/depthWgpuMeshMaterialRenderer.js +3 -3
- package/dist/depthWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/drawWgpuScene3D.d.ts.map +1 -1
- package/dist/drawWgpuScene3D.js +17 -4
- package/dist/drawWgpuScene3D.js.map +1 -1
- package/dist/emissiveWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/emissiveWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/emissiveWgpuMeshMaterialRenderer.js +5 -3
- package/dist/emissiveWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/explainWgpuScene3DCoverage.d.ts +4 -0
- package/dist/explainWgpuScene3DCoverage.d.ts.map +1 -0
- package/dist/explainWgpuScene3DCoverage.js +117 -0
- package/dist/explainWgpuScene3DCoverage.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lambertWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/lambertWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/lambertWgpuMeshMaterialRenderer.js +5 -3
- package/dist/lambertWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/matcapWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/matcapWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/matcapWgpuMeshMaterialRenderer.js +5 -3
- package/dist/matcapWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/normalWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/normalWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/normalWgpuMeshMaterialRenderer.js +6 -4
- package/dist/normalWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/phongWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/phongWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/phongWgpuMeshMaterialRenderer.js +5 -3
- package/dist/phongWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/registerWgpuStandardPbrMaterial.d.ts +3 -0
- package/dist/registerWgpuStandardPbrMaterial.d.ts.map +1 -0
- package/dist/{registerStandardPbrWgpuMaterial.js → registerWgpuStandardPbrMaterial.js} +5 -2
- package/dist/registerWgpuStandardPbrMaterial.js.map +1 -0
- package/dist/shadedWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/shadedWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/shadedWgpuMeshMaterialRenderer.js +4 -2
- package/dist/shadedWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.js +5 -3
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/standardPbrWgpuMeshMaterialRenderer.js +1 -1
- package/dist/toonWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/toonWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/toonWgpuMeshMaterialRenderer.js +5 -3
- package/dist/toonWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/unlitWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/unlitWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/unlitWgpuMeshMaterialRenderer.js +9 -19
- package/dist/unlitWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/vertexColorWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/vertexColorWgpuMeshMaterialRenderer.js +2 -2
- package/dist/wgpuClassicPrelude.d.ts.map +1 -1
- package/dist/wgpuClassicPrelude.js +17 -50
- package/dist/wgpuClassicPrelude.js.map +1 -1
- package/dist/wgpuDebugPrelude.d.ts +2 -2
- package/dist/wgpuDebugPrelude.d.ts.map +1 -1
- package/dist/wgpuDebugPrelude.js +12 -13
- package/dist/wgpuDebugPrelude.js.map +1 -1
- package/dist/wgpuEnvironmentCube.d.ts +2 -2
- package/dist/wgpuEnvironmentCube.d.ts.map +1 -1
- package/dist/wgpuEnvironmentCube.js +28 -17
- package/dist/wgpuEnvironmentCube.js.map +1 -1
- package/dist/wgpuEnvironmentIblBake.js +5 -11
- package/dist/wgpuEnvironmentIblBake.js.map +1 -1
- package/dist/wgpuEnvironmentSkybox.d.ts.map +1 -1
- package/dist/wgpuEnvironmentSkybox.js +5 -12
- package/dist/wgpuEnvironmentSkybox.js.map +1 -1
- package/dist/wgpuMatcapPrelude.d.ts.map +1 -1
- package/dist/wgpuMatcapPrelude.js +9 -5
- package/dist/wgpuMatcapPrelude.js.map +1 -1
- package/dist/wgpuMeshFragmentTail.d.ts +2 -0
- package/dist/wgpuMeshFragmentTail.d.ts.map +1 -0
- package/dist/wgpuMeshFragmentTail.js +27 -0
- package/dist/wgpuMeshFragmentTail.js.map +1 -0
- package/dist/wgpuMeshMaterialRegistry.d.ts.map +1 -1
- package/dist/wgpuMeshMaterialRegistry.js +16 -12
- package/dist/wgpuMeshMaterialRegistry.js.map +1 -1
- package/dist/wgpuMeshPipeline.d.ts +3 -2
- package/dist/wgpuMeshPipeline.d.ts.map +1 -1
- package/dist/wgpuMeshPipeline.js +163 -98
- package/dist/wgpuMeshPipeline.js.map +1 -1
- package/dist/wgpuMeshUpload.d.ts +1 -1
- package/dist/wgpuMeshUpload.d.ts.map +1 -1
- package/dist/wgpuMeshUpload.js +37 -12
- package/dist/wgpuMeshUpload.js.map +1 -1
- package/dist/wgpuParticleEmitter3D.d.ts.map +1 -1
- package/dist/wgpuParticleEmitter3D.js +34 -35
- package/dist/wgpuParticleEmitter3D.js.map +1 -1
- package/dist/wgpuPbrPipelineCache.d.ts.map +1 -1
- package/dist/wgpuPbrPipelineCache.js +2 -2
- package/dist/wgpuPbrPipelineCache.js.map +1 -1
- package/dist/wgpuPbrPrelude.d.ts.map +1 -1
- package/dist/wgpuPbrPrelude.js +14 -55
- package/dist/wgpuPbrPrelude.js.map +1 -1
- package/dist/wgpuScene3DRuntime.d.ts.map +1 -1
- package/dist/wgpuScene3DRuntime.js +20 -10
- package/dist/wgpuScene3DRuntime.js.map +1 -1
- package/dist/wgpuScene3DTestHelper.d.ts.map +1 -1
- package/dist/wgpuScene3DTestHelper.js +131 -8
- package/dist/wgpuScene3DTestHelper.js.map +1 -1
- package/dist/wgpuShadedModifierSnippet.d.ts.map +1 -1
- package/dist/wgpuShadedModifierSnippet.js +8 -11
- package/dist/wgpuShadedModifierSnippet.js.map +1 -1
- package/dist/wgpuShadedPrelude.d.ts +5 -3
- package/dist/wgpuShadedPrelude.d.ts.map +1 -1
- package/dist/wgpuShadedPrelude.js +40 -19
- package/dist/wgpuShadedPrelude.js.map +1 -1
- package/dist/wgpuShadowMap.d.ts +2 -2
- package/dist/wgpuShadowMap.d.ts.map +1 -1
- package/dist/wgpuShadowMap.js +102 -27
- package/dist/wgpuShadowMap.js.map +1 -1
- package/dist/wgpuSkinPalette.d.ts +4 -1
- package/dist/wgpuSkinPalette.d.ts.map +1 -1
- package/dist/wgpuSkinPalette.js +261 -38
- package/dist/wgpuSkinPalette.js.map +1 -1
- package/dist/wgpuToonPrelude.d.ts.map +1 -1
- package/dist/wgpuToonPrelude.js +11 -42
- package/dist/wgpuToonPrelude.js.map +1 -1
- package/dist/wgpuUnlitPrelude.d.ts.map +1 -1
- package/dist/wgpuUnlitPrelude.js +11 -16
- package/dist/wgpuUnlitPrelude.js.map +1 -1
- package/dist/wgpuWireframePrelude.d.ts +4 -4
- package/dist/wgpuWireframePrelude.d.ts.map +1 -1
- package/dist/wgpuWireframePrelude.js +23 -14
- package/dist/wgpuWireframePrelude.js.map +1 -1
- package/dist/wgpuWireframeUpload.d.ts.map +1 -1
- package/dist/wgpuWireframeUpload.js +12 -6
- package/dist/wgpuWireframeUpload.js.map +1 -1
- package/dist/wireframeWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/wireframeWgpuMeshMaterialRenderer.js +4 -4
- package/dist/wireframeWgpuMeshMaterialRenderer.js.map +1 -1
- package/package.json +22 -15
- package/src/blinnPhongWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/customShaderWgpuMeshMaterialRenderer.test.ts +48 -20
- package/src/depthWgpuMeshMaterialRenderer.test.ts +10 -3
- package/src/drawWgpuScene3D.test.ts +43 -12
- package/src/emissiveWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/explainWgpuScene3DCoverage.test.ts +171 -0
- package/src/lambertWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/matcapWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/normalWgpuMeshMaterialRenderer.test.ts +10 -3
- package/src/phongWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/{registerStandardPbrWgpuMaterial.test.ts → registerWgpuStandardPbrMaterial.test.ts} +3 -3
- package/src/shadedWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/specularGlossinessPbrWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/standardPbrWgpuMeshMaterialRenderer.test.ts +5 -1
- package/src/toonWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/unlitWgpuMeshMaterialRenderer.test.ts +13 -4
- package/src/vertexColorWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/wgpuClassicPrelude.test.ts +6 -4
- package/src/wgpuDebugPrelude.test.ts +20 -2
- package/src/wgpuEnvironmentCube.test.ts +38 -9
- package/src/wgpuEnvironmentIblBake.test.ts +14 -4
- package/src/wgpuEnvironmentSkybox.test.ts +18 -5
- package/src/wgpuMeshFragmentTail.test.ts +13 -0
- package/src/wgpuMeshMaterialRegistry.test.ts +22 -0
- package/src/wgpuMeshPipeline.test.ts +235 -30
- package/src/wgpuMeshUpload.test.ts +68 -5
- package/src/wgpuParticleEmitter3D.test.ts +47 -9
- package/src/wgpuPbrPrelude.test.ts +2 -1
- package/src/wgpuScene3DRuntime.test.ts +9 -4
- package/src/wgpuScene3DTestHelper.test.ts +84 -0
- package/src/wgpuShadedModifierSnippet.test.ts +20 -6
- package/src/wgpuShadedPrelude.test.ts +38 -24
- package/src/wgpuShadowMap.test.ts +238 -16
- package/src/wgpuSkinPalette.test.ts +134 -19
- package/src/wgpuToonPrelude.test.ts +3 -2
- package/src/wgpuUnlitPrelude.test.ts +10 -1
- package/src/wgpuWireframePrelude.test.ts +17 -0
- package/src/wgpuWireframeUpload.test.ts +29 -1
- package/src/wireframeWgpuMeshMaterialRenderer.test.ts +11 -3
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.js +0 -52
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.js +0 -52
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.js +0 -60
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/registerStandardPbrWgpuMaterial.d.ts +0 -3
- package/dist/registerStandardPbrWgpuMaterial.d.ts.map +0 -1
- package/dist/registerStandardPbrWgpuMaterial.js.map +0 -1
- package/dist/sheenPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/sheenPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/sheenPbrWgpuMeshMaterialRenderer.js +0 -58
- package/dist/sheenPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/specularPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/specularPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/specularPbrWgpuMeshMaterialRenderer.js +0 -65
- package/dist/specularPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.js +0 -68
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.js +0 -74
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/src/anisotropyPbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/clearcoatPbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/iridescencePbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/sheenPbrWgpuMeshMaterialRenderer.test.ts +0 -87
- package/src/specularPbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/subsurfacePbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/transmissionVolumePbrWgpuMeshMaterialRenderer.test.ts +0 -97
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WgpuMeshMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const blinnPhongWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerWgpuBlinnPhongMaterial(state: WgpuRenderState): void;
|
|
4
4
|
//# sourceMappingURL=blinnPhongWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAQV,wBAAwB,EACxB,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAelC,eAAO,MAAM,kCAAkC,EAAE,wBA4ChD,CAAC;AAKF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAI3E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { unpackColorToLinear } from '@flighthq/color/contract';
|
|
2
|
-
import { getWgpuRenderStateRuntime } from '@flighthq/render-wgpu/contract';
|
|
2
|
+
import { getWgpuRenderStateRuntime, registerWgpuBitmapTextureResolver, registerWgpuImageTextureResolver, } from '@flighthq/render-wgpu/contract';
|
|
3
3
|
import { BlinnPhongMaterialKind } from '@flighthq/types/contract';
|
|
4
4
|
import { bindWgpuClassicSurface, ensureWgpuClassicPipeline } from './wgpuClassicPrelude';
|
|
5
5
|
import { registerWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
@@ -11,7 +11,7 @@ import { beginWgpuMeshDraw, drawWgpuMeshSubset, isWgpuTextureReady, writeWgpuFra
|
|
|
11
11
|
// the shared Frame uniform (camera position AND view-projection, since the specular term is view-
|
|
12
12
|
// dependent, plus the packed light block), binds the pipeline + Frame group (beginWgpuMeshDraw), then
|
|
13
13
|
// binds the material's linear diffuse + specular colors and shininess at group(2). draw issues the
|
|
14
|
-
// indexed draw. See
|
|
14
|
+
// indexed draw. See registerWgpuBlinnPhongMaterial to install it.
|
|
15
15
|
export const blinnPhongWgpuMeshMaterialRenderer = {
|
|
16
16
|
bind(state, material, lights, camera) {
|
|
17
17
|
const stateRuntime = getWgpuRenderStateRuntime(state);
|
|
@@ -41,7 +41,9 @@ export const blinnPhongWgpuMeshMaterialRenderer = {
|
|
|
41
41
|
// Registers the built-in BlinnPhong renderer for BlinnPhongMaterialKind on this state. Opt-in (no
|
|
42
42
|
// top-level side effect); call once per WgpuRenderState before drawWgpuScene3D so meshes with BlinnPhong
|
|
43
43
|
// materials draw.
|
|
44
|
-
export function
|
|
44
|
+
export function registerWgpuBlinnPhongMaterial(state) {
|
|
45
|
+
registerWgpuBitmapTextureResolver(state);
|
|
46
|
+
registerWgpuImageTextureResolver(state);
|
|
45
47
|
registerWgpuMeshMaterialRenderer(state, BlinnPhongMaterialKind, blinnPhongWgpuMeshMaterialRenderer);
|
|
46
48
|
}
|
|
47
49
|
// The feature define key for a BlinnPhong material: the fixed `blinnphong` lighting model plus the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './explainWgpuScene3DCoverage';
|
|
2
2
|
export * from './blinnPhongWgpuMeshMaterialRenderer';
|
|
3
|
-
export * from './clearcoatPbrWgpuMeshMaterialRenderer';
|
|
4
3
|
export * from './customShaderWgpuMeshMaterialRenderer';
|
|
5
4
|
export * from './depthWgpuMeshMaterialRenderer';
|
|
6
5
|
export * from './drawWgpuScene3D';
|
|
@@ -11,21 +10,16 @@ export * from './emissiveWgpuMeshMaterialRenderer';
|
|
|
11
10
|
export * from './wgpuEnvironmentCube';
|
|
12
11
|
export * from './wgpuEnvironmentIblBake';
|
|
13
12
|
export * from './wgpuEnvironmentSkybox';
|
|
14
|
-
export * from './iridescencePbrWgpuMeshMaterialRenderer';
|
|
15
13
|
export * from './lambertWgpuMeshMaterialRenderer';
|
|
16
14
|
export * from './matcapWgpuMeshMaterialRenderer';
|
|
17
15
|
export * from './normalWgpuMeshMaterialRenderer';
|
|
18
16
|
export * from './phongWgpuMeshMaterialRenderer';
|
|
19
17
|
export * from './prepareWgpuScene3DForwardLights';
|
|
20
|
-
export * from './
|
|
21
|
-
export * from './sheenPbrWgpuMeshMaterialRenderer';
|
|
18
|
+
export * from './registerWgpuStandardPbrMaterial';
|
|
22
19
|
export * from './shadedWgpuMeshMaterialRenderer';
|
|
23
20
|
export * from './specularGlossinessPbrWgpuMeshMaterialRenderer';
|
|
24
|
-
export * from './specularPbrWgpuMeshMaterialRenderer';
|
|
25
21
|
export * from './standardPbrWgpuMeshMaterialRenderer';
|
|
26
|
-
export * from './subsurfacePbrWgpuMeshMaterialRenderer';
|
|
27
22
|
export * from './toonWgpuMeshMaterialRenderer';
|
|
28
|
-
export * from './transmissionVolumePbrWgpuMeshMaterialRenderer';
|
|
29
23
|
export * from './unlitWgpuMeshMaterialRenderer';
|
|
30
24
|
export * from './vertexColorWgpuMeshMaterialRenderer';
|
|
31
25
|
export * from './wgpuClassicPrelude';
|
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,
|
|
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"}
|
package/dist/contract.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './explainWgpuScene3DCoverage';
|
|
2
2
|
export * from './blinnPhongWgpuMeshMaterialRenderer';
|
|
3
|
-
export * from './clearcoatPbrWgpuMeshMaterialRenderer';
|
|
4
3
|
export * from './customShaderWgpuMeshMaterialRenderer';
|
|
5
4
|
export * from './depthWgpuMeshMaterialRenderer';
|
|
6
5
|
export * from './drawWgpuScene3D';
|
|
@@ -11,21 +10,16 @@ export * from './emissiveWgpuMeshMaterialRenderer';
|
|
|
11
10
|
export * from './wgpuEnvironmentCube';
|
|
12
11
|
export * from './wgpuEnvironmentIblBake';
|
|
13
12
|
export * from './wgpuEnvironmentSkybox';
|
|
14
|
-
export * from './iridescencePbrWgpuMeshMaterialRenderer';
|
|
15
13
|
export * from './lambertWgpuMeshMaterialRenderer';
|
|
16
14
|
export * from './matcapWgpuMeshMaterialRenderer';
|
|
17
15
|
export * from './normalWgpuMeshMaterialRenderer';
|
|
18
16
|
export * from './phongWgpuMeshMaterialRenderer';
|
|
19
17
|
export * from './prepareWgpuScene3DForwardLights';
|
|
20
|
-
export * from './
|
|
21
|
-
export * from './sheenPbrWgpuMeshMaterialRenderer';
|
|
18
|
+
export * from './registerWgpuStandardPbrMaterial';
|
|
22
19
|
export * from './shadedWgpuMeshMaterialRenderer';
|
|
23
20
|
export * from './specularGlossinessPbrWgpuMeshMaterialRenderer';
|
|
24
|
-
export * from './specularPbrWgpuMeshMaterialRenderer';
|
|
25
21
|
export * from './standardPbrWgpuMeshMaterialRenderer';
|
|
26
|
-
export * from './subsurfacePbrWgpuMeshMaterialRenderer';
|
|
27
22
|
export * from './toonWgpuMeshMaterialRenderer';
|
|
28
|
-
export * from './transmissionVolumePbrWgpuMeshMaterialRenderer';
|
|
29
23
|
export * from './unlitWgpuMeshMaterialRenderer';
|
|
30
24
|
export * from './vertexColorWgpuMeshMaterialRenderer';
|
|
31
25
|
export * from './wgpuClassicPrelude';
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,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"}
|
|
@@ -2,6 +2,6 @@ import type { WgpuCustomMaterialShaderSource, WgpuMeshMaterialRenderer, WgpuRend
|
|
|
2
2
|
export { WGPU_CUSTOM_SHADER_TEXTURE_CAPACITY, WGPU_CUSTOM_SHADER_USER_VEC4_CAPACITY } from './wgpuCustomMaterialAbi';
|
|
3
3
|
export declare const customShaderWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
4
4
|
export declare function getWgpuCustomMaterialShaderSource(state: WgpuRenderState, shaderKey: string): WgpuCustomMaterialShaderSource | null;
|
|
5
|
-
export declare function registerCustomShaderWgpuMaterial(state: WgpuRenderState): void;
|
|
6
5
|
export declare function registerWgpuCustomMaterialShader(state: WgpuRenderState, shaderKey: string, wgslSource: WgpuCustomMaterialShaderSource): void;
|
|
6
|
+
export declare function registerWgpuCustomShaderMaterial(state: WgpuRenderState): void;
|
|
7
7
|
//# sourceMappingURL=customShaderWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAOV,8BAA8B,EAC9B,wBAAwB,EAExB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAmBlC,OAAO,EAAE,mCAAmC,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAmBrH,eAAO,MAAM,oCAAoC,EAAE,wBAuDlD,CAAC;AAGF,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,GAChB,8BAA8B,GAAG,IAAI,CAGvC;AAqBD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,8BAA8B,GACzC,IAAI,CAON;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAI7E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { withRegistryTableEntry } from '@flighthq/registry/contract';
|
|
2
|
+
import { getWgpuRenderStateRuntime, registerWgpuBitmapTextureResolver, registerWgpuImageTextureResolver, } from '@flighthq/render-wgpu/contract';
|
|
3
|
+
import { CustomShaderMaterialKind, RegistryEntryState } from '@flighthq/types/contract';
|
|
3
4
|
import { WGPU_CUSTOM_SHADER_TEXTURE_CAPACITY, WGPU_CUSTOM_SHADER_USER_VEC4_CAPACITY } from './wgpuCustomMaterialAbi';
|
|
4
5
|
import { registerWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
5
6
|
import { beginWgpuMeshDraw, createWgpuMeshPipeline, drawWgpuMeshSubset, ensureWgpuPlaceholderTextureView, ensureWgpuScene3DPipeline, getWgpuMaterialSampler, isWgpuTextureReady, resolveWgpuMaterialTextureView, stashWgpuUvTransform, writeWgpuFrameUniform, } from './wgpuMeshPipeline';
|
|
@@ -50,11 +51,8 @@ export const customShaderWgpuMeshMaterialRenderer = {
|
|
|
50
51
|
};
|
|
51
52
|
// Returns the WGSL module registered under `shaderKey`, or null when the material should skip drawing.
|
|
52
53
|
export function getWgpuCustomMaterialShaderSource(state, shaderKey) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// Installs CustomShaderMaterialKind in this state's WGPU mesh-material registry.
|
|
56
|
-
export function registerCustomShaderWgpuMaterial(state) {
|
|
57
|
-
registerWgpuMeshMaterialRenderer(state, CustomShaderMaterialKind, customShaderWgpuMeshMaterialRenderer);
|
|
54
|
+
const entry = getWgpuRenderStateRuntime(state).registries.customMaterialShaders.entries.get(shaderKey);
|
|
55
|
+
return entry?.state === RegistryEntryState.Bound ? entry.value : null;
|
|
58
56
|
}
|
|
59
57
|
// Registers a complete WGSL module for a CustomShaderMaterial shaderKey.
|
|
60
58
|
//
|
|
@@ -67,16 +65,23 @@ export function registerCustomShaderWgpuMaterial(state) {
|
|
|
67
65
|
// binding 2*N and texture_2d<f32> at binding 2*N+1.
|
|
68
66
|
//
|
|
69
67
|
// Entry points are `vs_main` and `fs_main`; attributes use locations 0 position, 1 normal, 2 tangent,
|
|
70
|
-
// and 3 uv.
|
|
68
|
+
// and 3 uv. Fragment outputs are linear scene color; alpha-blended materials must return PREMULTIPLIED
|
|
69
|
+
// color (rgb already scaled by the coverage returned in a) — every blend state is premultiplied, and
|
|
70
|
+
// Flight compiles caller-authored WGSL verbatim, so it cannot append the fixup the built-in tails get
|
|
71
|
+
// from WGPU_MESH_FRAGMENT_TAIL. Return `vec4f(rgb * a, a)`. Texture slots sample according to each Texture.colorSpace GPU realization;
|
|
72
|
+
// caller WGSL must not decode an sRGB texture again. For alphaMode 'mask', the complete native module owns the cutoff discard
|
|
73
|
+
// (pass alphaCutoff through the custom uniforms bag when needed); the fixed ABI cannot inject it. The
|
|
71
74
|
// registry follows the GL lifetime rule: last source write wins before compilation, while an already
|
|
72
75
|
// compiled shaderKey remains cached; use a new key to compile edited WGSL.
|
|
73
76
|
export function registerWgpuCustomMaterialShader(state, shaderKey, wgslSource) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
const runtime = getWgpuRenderStateRuntime(state);
|
|
78
|
+
runtime.registries.customMaterialShaders = withRegistryTableEntry(runtime.registries.customMaterialShaders, shaderKey, wgslSource);
|
|
79
|
+
}
|
|
80
|
+
// Installs CustomShaderMaterialKind in this state's WGPU mesh-material registry.
|
|
81
|
+
export function registerWgpuCustomShaderMaterial(state) {
|
|
82
|
+
registerWgpuBitmapTextureResolver(state);
|
|
83
|
+
registerWgpuImageTextureResolver(state);
|
|
84
|
+
registerWgpuMeshMaterialRenderer(state, CustomShaderMaterialKind, customShaderWgpuMeshMaterialRenderer);
|
|
80
85
|
}
|
|
81
86
|
function compileCustomMaterialPipeline(state, source, format, doubleSided, blended, skinned, layouts) {
|
|
82
87
|
return createWgpuMeshPipeline(state, {
|
|
@@ -215,7 +220,6 @@ function overwriteCache(cache, source) {
|
|
|
215
220
|
for (let i = 0; i < source.length; i++)
|
|
216
221
|
cache[i] = source[i];
|
|
217
222
|
}
|
|
218
|
-
const _customMaterialShaders = new WeakMap();
|
|
219
223
|
const _customMaterialLayouts = new WeakMap();
|
|
220
224
|
const _customMaterialBindings = new WeakMap();
|
|
221
225
|
const _uniformScratch = new Float32Array(WGPU_CUSTOM_SHADER_USER_VEC4_CAPACITY * 4);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,mCAAmC,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AACrH,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,mCAAmC,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAgBrH,qGAAqG;AACrG,qGAAqG;AACrG,sGAAsG;AACtG,MAAM,CAAC,MAAM,oCAAoC,GAA6B;IAC5E,IAAI,CACF,KAAsB,EACtB,QAAmC,EACnC,MAAmC,EACnC,MAA0B;QAE1B,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,QAAiD,CAAC;QACjE,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;YAChE,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAChC,OAAO;QACT,CAAC;QACD,KAAK,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,IACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,qCAAqC;YACjF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,mCAAmC,EAC/E,CAAC;YACD,yFAAyF;YACzF,4FAA4F;YAC5F,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,MAAM,QAAQ,GAAG,yBAAyB,CACxC,KAAK,EACL,UAAU,MAAM,CAAC,SAAS,IAAI,MAAM,IAAI,OAAO,EAAE,EACjD,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CACnB,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CACtG,CAAC;QACF,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/F,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,KAAsB,EAAE,KAAmC,EAAE,QAAgC;QAChG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,uGAAuG;AACvG,MAAM,UAAU,iCAAiC,CAC/C,KAAsB,EACtB,SAAiB;IAEjB,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvG,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,yEAAyE;AACzE,EAAE;AACF,aAAa;AACb,uEAAuE;AACvE,gGAAgG;AAChG,oGAAoG;AACpG,0GAA0G;AAC1G,kGAAkG;AAClG,sDAAsD;AACtD,EAAE;AACF,sGAAsG;AACtG,uGAAuG;AACvG,qGAAqG;AACrG,sGAAsG;AACtG,uIAAuI;AACvI,8HAA8H;AAC9H,sGAAsG;AACtG,qGAAqG;AACrG,2EAA2E;AAC3E,MAAM,UAAU,gCAAgC,CAC9C,KAAsB,EACtB,SAAiB,EACjB,UAA0C;IAE1C,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,qBAAqB,GAAG,sBAAsB,CAC/D,OAAO,CAAC,UAAU,CAAC,qBAAqB,EACxC,SAAS,EACT,UAAU,CACX,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,gCAAgC,CAAC,KAAsB;IACrE,iCAAiC,CAAC,KAAK,CAAC,CAAC;IACzC,gCAAgC,CAAC,KAAK,CAAC,CAAC;IACxC,gCAAgC,CAAC,KAAK,EAAE,wBAAwB,EAAE,oCAAoC,CAAC,CAAC;AAC1G,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAsB,EACtB,MAAsC,EACtC,MAAwB,EACxB,WAAoB,EACpB,OAAgB,EAChB,OAAgB,EAChB,OAAwC;IAExC,OAAO,sBAAsB,CAAC,KAAK,EAAE;QACnC,OAAO;QACP,WAAW;QACX,oBAAoB,EAAE,OAAO,CAAC,OAAO;QACrC,MAAM;QACN,uBAAuB,EAAE,OAAO,CAAC,IAAI;QACrC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzD,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAsB;IACzD,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAE1C,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC;IACnE,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,mCAAmC,EAAE,IAAI,EAAE,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,IAAI,GAAG,CAAC;YACjB,UAAU;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC/B,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;YACrB,UAAU;YACV,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG;QACR,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC;QACxD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACvC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;SACnE,CAAC;KACH,CAAC;IACF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAsB,EACtB,QAAwC,EACxC,MAA0B;IAE1B,IAAI,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAE1C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE,qCAAqC,GAAG,EAAE;QAChD,KAAK,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ;KACxD,CAAC,CAAC;IACH,OAAO,GAAG;QACR,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;YAC7C,MAAM;YACN,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;SAC/D,CAAC;QACF,aAAa;KACd,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAsB,EACtB,MAAiB,EACjB,QAAwC;IAExC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;IAC5E,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC;YAChE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAsB,EACtB,QAAwC,EACxC,MAA0B,EAC1B,OAA8B;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YAAE,SAAS;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,kBAAkB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QACxC,sBAAsB,CAAC,YAAY,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9E,mBAAmB,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC7D,CAAC,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC;YAChD,CAAC,CAAC,WAAW,CAAC;QAChB,YAAY,EAAE,CAAC;IACjB,CAAC;IACD,kBAAkB,CAAC,MAAM,GAAG,YAAY,CAAC;IACzC,KAAK,IAAI,IAAI,GAAG,YAAY,EAAE,IAAI,GAAG,mCAAmC,EAAE,IAAI,EAAE,EAAE,CAAC;QACjF,sBAAsB,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnE,mBAAmB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,YAAY,CAAC;QAAE,OAAO,OAAO,CAAC,gBAAiB,CAAC;IAE/F,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,mCAAmC,EAAE,IAAI,EAAE,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACxD,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAChE,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,gBAAgB,CAAC;AAClC,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAwC,EAAE,YAAoB;IACtG,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAClG,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1E,CAAC;IACD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,mCAAmC,EAAE,IAAI,EAAE,EAAE,CAAC;QACtE,IACE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,IAAI,CAAC;YAC9D,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,EACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAI,KAAU,EAAE,MAAoB;IACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAA0C,CAAC;AACrF,MAAM,uBAAuB,GAAG,IAAI,OAAO,EAA2D,CAAC;AACvG,MAAM,eAAe,GAAG,IAAI,YAAY,CAAC,qCAAqC,GAAG,CAAC,CAAC,CAAC;AACpF,MAAM,kBAAkB,GAAa,EAAE,CAAC;AACxC,MAAM,sBAAsB,GAAiB,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AAC5F,MAAM,mBAAmB,GAAqB,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WgpuMeshMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const depthWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerWgpuDepthMaterial(state: WgpuRenderState): void;
|
|
4
4
|
//# sourceMappingURL=depthWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depthWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAOV,wBAAwB,EACxB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAalC,eAAO,MAAM,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"depthWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAOV,wBAAwB,EACxB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAalC,eAAO,MAAM,6BAA6B,EAAE,wBAmC3C,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEtE"}
|
|
@@ -8,7 +8,7 @@ import { beginWgpuMeshDraw, drawWgpuMeshSubset, writeWgpuFrameUniform } from './
|
|
|
8
8
|
// debug pipeline in depth mode for the color format, writes the shared Frame uniform (lights ignored),
|
|
9
9
|
// and binds the material's [near, far] linearization range; draw issues the indexed draw. The fragment
|
|
10
10
|
// scene2d linearizes window-space depth into eye space and writes it as grayscale LINEAR color. See
|
|
11
|
-
//
|
|
11
|
+
// registerWgpuDepthMaterial to install it.
|
|
12
12
|
export const depthWgpuMeshMaterialRenderer = {
|
|
13
13
|
bind(state, material, _lights, camera) {
|
|
14
14
|
const stateRuntime = getWgpuRenderStateRuntime(state);
|
|
@@ -17,7 +17,7 @@ export const depthWgpuMeshMaterialRenderer = {
|
|
|
17
17
|
return;
|
|
18
18
|
const depth = material;
|
|
19
19
|
const format = stateRuntime.currentColorFormat ?? state.format;
|
|
20
|
-
const pipeline = ensureWgpuDebugPipeline(state, { hasNormalMap: false, mode: 'depth' }, format);
|
|
20
|
+
const pipeline = ensureWgpuDebugPipeline(state, { hasNormalMap: false, mode: 'depth' }, format, depth?.doubleSided ?? false);
|
|
21
21
|
writeWgpuFrameUniform(state, camera, _lights);
|
|
22
22
|
let group;
|
|
23
23
|
if (depth === null) {
|
|
@@ -35,7 +35,7 @@ export const depthWgpuMeshMaterialRenderer = {
|
|
|
35
35
|
};
|
|
36
36
|
// Registers the built-in Depth renderer for DepthMaterialKind on this state. Opt-in (no top-level side
|
|
37
37
|
// effect); call once per WgpuRenderState before drawWgpuScene3D so meshes with DepthMaterials draw.
|
|
38
|
-
export function
|
|
38
|
+
export function registerWgpuDepthMaterial(state) {
|
|
39
39
|
registerWgpuMeshMaterialRenderer(state, DepthMaterialKind, depthWgpuMeshMaterialRenderer);
|
|
40
40
|
}
|
|
41
41
|
const FALLBACK_MATERIAL = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depthWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElG,yGAAyG;AACzG,uGAAuG;AACvG,uGAAuG;AACvG,uGAAuG;AACvG,oGAAoG;AACpG,2CAA2C;AAC3C,MAAM,CAAC,MAAM,6BAA6B,GAA6B;IACrE,IAAI,CACF,KAAsB,EACtB,QAAmC,EACnC,OAAoC,EACpC,MAA0B;QAE1B,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAG,QAA0C,CAAC;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"depthWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElG,yGAAyG;AACzG,uGAAuG;AACvG,uGAAuG;AACvG,uGAAuG;AACvG,oGAAoG;AACpG,2CAA2C;AAC3C,MAAM,CAAC,MAAM,6BAA6B,GAA6B;IACrE,IAAI,CACF,KAAsB,EACtB,QAAmC,EACnC,OAAoC,EACpC,MAA0B;QAE1B,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAG,QAA0C,CAAC;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,uBAAuB,CACtC,KAAK,EACL,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EACtC,MAAM,EACN,KAAK,EAAE,WAAW,IAAI,KAAK,CAC5B,CAAC;QACF,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9C,IAAI,KAAmB,CAAC;QACxB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,KAAsB,EAAE,KAAmC,EAAE,QAAgC;QAChG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,uGAAuG;AACvG,oGAAoG;AACpG,MAAM,UAAU,yBAAyB,CAAC,KAAsB;IAC9D,gCAAgC,CAAC,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,iBAAiB,GAAG,EAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawWgpuScene3D.d.ts","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"drawWgpuScene3D.d.ts","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,QAAQ,EAKR,IAAI,EAGJ,iBAAiB,EACjB,MAAM,EAIN,eAAe,EAEf,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AA0BlC,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,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,CAoEN;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAG1F"}
|
package/dist/drawWgpuScene3D.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createMatrix3, createMatrix4, setMatrix3NormalFromMatrix4 } from '@flighthq/geometry/contract';
|
|
2
2
|
import { getNodeWorldMatrix4 } from '@flighthq/node/contract';
|
|
3
|
-
import { declareWgpuRenderTargetColorSpace,
|
|
3
|
+
import { declareWgpuRenderTargetColorSpace, getWgpuColorAdjustmentMaterialFeature, } from '@flighthq/render-wgpu/contract';
|
|
4
4
|
import { prepareScene3DRender } from '@flighthq/render/contract';
|
|
5
5
|
import { getNode3DRuntime, getNode3DWorldAlpha } from '@flighthq/scene3d/contract';
|
|
6
|
-
import { StandardMaterialKind, MAX_FORWARD_LIGHTS } from '@flighthq/types/contract';
|
|
6
|
+
import { BlendMode, StandardMaterialKind, MAX_FORWARD_LIGHTS } from '@flighthq/types/contract';
|
|
7
7
|
import { resolveWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
8
8
|
import { drawWgpuScene3DParticleEmitter3Ds } from './wgpuParticleEmitter3D';
|
|
9
9
|
import { getWgpuScene3DRuntime } from './wgpuScene3DRuntime';
|
|
@@ -16,7 +16,8 @@ import { getWgpuScene3DRuntime } from './wgpuScene3DRuntime';
|
|
|
16
16
|
//
|
|
17
17
|
// The draw is two-phased for correct alpha compositing: opaque/masked subsets first in scene order,
|
|
18
18
|
// then blended-material or faded-object subsets back-to-front. The second pass selects immutable
|
|
19
|
-
//
|
|
19
|
+
// blend-mode pipeline variants (material equation, depth test on, depth writes off); a faded opaque
|
|
20
|
+
// material uses the ordinary Normal equation.
|
|
20
21
|
//
|
|
21
22
|
// Subsets sharing the same resolved renderer + material are drawn under a single bind (the seam's
|
|
22
23
|
// "contiguous run" contract): bind uploads the shared camera + light + material state once, then draw
|
|
@@ -84,6 +85,7 @@ export function drawWgpuScene3D(state, scene, camera, lights, forwardLights) {
|
|
|
84
85
|
// it early-returns when the scene has no emitters, so the mesh-only path is unaffected. Runs inside
|
|
85
86
|
// this still-open render pass (it reads the pass off the render-state runtime).
|
|
86
87
|
drawWgpuScene3DParticleEmitter3Ds(state, scene, camera, lights);
|
|
88
|
+
runtime.activeBlendMode = null;
|
|
87
89
|
runtime.activeBlendedRun = false;
|
|
88
90
|
runtime.activeColorAdjustmentRun = false;
|
|
89
91
|
runtime.activeColorMatrixRun = false;
|
|
@@ -102,9 +104,10 @@ function drawEntries(state, entries, camera, blended) {
|
|
|
102
104
|
let boundSkinned;
|
|
103
105
|
let boundColorAdjustment;
|
|
104
106
|
let boundColorMatrix;
|
|
105
|
-
const colorAdjustmentFeatureEnabled =
|
|
107
|
+
const colorAdjustmentFeatureEnabled = getWgpuColorAdjustmentMaterialFeature(state) !== null;
|
|
106
108
|
for (let i = 0; i < entries.length; i++) {
|
|
107
109
|
const entry = entries[i];
|
|
110
|
+
runtime.activeBlendMode = blended ? getMaterialBlendMode(entry.material) : null;
|
|
108
111
|
const worldMatrix = entry.worldMatrix;
|
|
109
112
|
setMatrix3NormalFromMatrix4(scratchNormalMatrix, worldMatrix);
|
|
110
113
|
const skinned = isWgpuMeshGpuSkinned(state, entry.mesh);
|
|
@@ -131,6 +134,7 @@ function drawEntries(state, entries, camera, blended) {
|
|
|
131
134
|
proxy.colorScaleBias = colorAdjusted ? entry.colorScaleBias : null;
|
|
132
135
|
proxy.colorMatrix = colorAdjusted ? entry.colorMatrix : null;
|
|
133
136
|
proxy.jointMatrices = skinned ? entry.mesh.skin.skeleton.jointMatrices : null;
|
|
137
|
+
proxy.normalMatrices = skinned ? entry.mesh.skin.skeleton.normalMatrices : null;
|
|
134
138
|
proxy.material = entry.material;
|
|
135
139
|
proxy.normalMatrix = scratchNormalMatrix;
|
|
136
140
|
proxy.subset = entry.subset;
|
|
@@ -141,6 +145,14 @@ function drawEntries(state, entries, camera, blended) {
|
|
|
141
145
|
function isBlendedMaterial(material) {
|
|
142
146
|
return material.alphaMode === 'blend';
|
|
143
147
|
}
|
|
148
|
+
// A material-authored blend equation applies only when alphaMode itself requests blending. A node fade
|
|
149
|
+
// still enters the transparent pass for an opaque/masked material, but retains ordinary Normal over.
|
|
150
|
+
// Unknown material kinds routed through a registered renderer also degrade to Normal rather than
|
|
151
|
+
// leaking an undefined string into WebGPU's immutable pipeline cache.
|
|
152
|
+
function getMaterialBlendMode(material) {
|
|
153
|
+
const surface = material;
|
|
154
|
+
return surface.alphaMode === 'blend' && typeof surface.blendMode === 'string' ? surface.blendMode : BlendMode.Normal;
|
|
155
|
+
}
|
|
144
156
|
function hasExcessForwardLights(lights) {
|
|
145
157
|
return (lights.point?.length ?? 0) > MAX_FORWARD_LIGHTS || (lights.spot?.length ?? 0) > MAX_FORWARD_LIGHTS;
|
|
146
158
|
}
|
|
@@ -183,6 +195,7 @@ const proxy = {
|
|
|
183
195
|
colorMatrix: null,
|
|
184
196
|
colorScaleBias: null,
|
|
185
197
|
jointMatrices: null,
|
|
198
|
+
normalMatrices: null,
|
|
186
199
|
material: { kind: StandardMaterialKind },
|
|
187
200
|
normalMatrix: createMatrix3(),
|
|
188
201
|
subset: { indexCount: 0, indexOffset: 0 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawWgpuScene3D.js","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"drawWgpuScene3D.js","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,iCAAiC,EACjC,qCAAqC,GACtC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAmBnF,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,uGAAuG;AACvG,sGAAsG;AACtG,sGAAsG;AACtG,8GAA8G;AAC9G,kGAAkG;AAClG,qCAAqC;AACrC,EAAE;AACF,oGAAoG;AACpG,iGAAiG;AACjG,oGAAoG;AACpG,8CAA8C;AAC9C,EAAE;AACF,kGAAkG;AAClG,sGAAsG;AACtG,8FAA8F;AAC9F,qGAAqG;AACrG,oGAAoG;AACpG,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAC7B,KAAsB,EACtB,KAAuB,EACvB,MAA0B,EAC1B,MAAmC,EACnC,aAAqD;IAErD,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,iCAAiC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,wBAAwB,GAAG,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC;IAC3G,IAAI,CAAC,wBAAwB,IAAI,sBAAsB,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,0BAA0B,EAAE,CAAC,MAAM,CAAC,CAAC;IAC9G,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAChD,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAY,CAAC;QACzD,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,WAAW,CAAC,sBAAsB,CAAC;QAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,mBAAmB,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,+BAA+B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,IAAI;gBAAE,SAAS;YAEhC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,gBAAgB,CAAC;YACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnF,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;YAC5B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;YAChC,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;YACtC,KAAK,CAAC,UAAU,GAAG,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC5F,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;YAChC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,eAAe,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACtD,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,gGAAgG;IAChG,2FAA2F;IAC3F,oGAAoG;IACpG,2GAA2G;IAC3G,oGAAoG;IACpG,gFAAgF;IAChF,iCAAiC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACzC,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACrC,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB,EAAE,IAAoB;IAC/E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,eAA6C,CAAC;IAC5F,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAClB,KAAsB,EACtB,OAAyC,EACzC,MAA0B,EAC1B,OAAgB;IAEhB,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC;IACnC,IAAI,aAA6C,CAAC;IAClD,IAAI,eAAe,GAAuC,IAAI,CAAC;IAC/D,IAAI,aAAa,GAAoC,IAAI,CAAC;IAC1D,IAAI,YAAiC,CAAC;IACtC,IAAI,oBAAyC,CAAC;IAC9C,IAAI,gBAAqC,CAAC;IAC1C,MAAM,6BAA6B,GAAG,qCAAqC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAE5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAc,CAAC;QACtC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAsB,CAAC;QACjD,2BAA2B,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,aAAa,GACjB,6BAA6B,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;QACjG,MAAM,WAAW,GAAG,aAAa,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;QAEhE,IACE,KAAK,CAAC,QAAQ,KAAK,aAAa;YAChC,KAAK,CAAC,QAAQ,KAAK,aAAa;YAChC,KAAK,CAAC,UAAU,KAAK,eAAe;YACpC,OAAO,KAAK,YAAY;YACxB,aAAa,KAAK,oBAAoB;YACtC,WAAW,KAAK,gBAAgB,EAChC,CAAC;YACD,OAAO,CAAC,wBAAwB,GAAG,aAAa,CAAC;YACjD,OAAO,CAAC,oBAAoB,GAAG,WAAW,CAAC;YAC3C,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC;YACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACrE,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/B,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/B,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;YACnC,YAAY,GAAG,OAAO,CAAC;YACvB,oBAAoB,GAAG,aAAa,CAAC;YACrC,gBAAgB,GAAG,WAAW,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC;QACzC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA4B;IACrD,OAAQ,QAAsC,CAAC,SAAS,KAAK,OAAO,CAAC;AACvE,CAAC;AAED,uGAAuG;AACvG,qGAAqG;AACrG,iGAAiG;AACjG,sEAAsE;AACtE,SAAS,oBAAoB,CAAC,QAA4B;IACxD,MAAM,OAAO,GAAG,QAAqC,CAAC;IACtD,OAAO,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;AACvH,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAmC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,kBAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,kBAAkB,CAAC;AAC7G,CAAC;AAED,gGAAgG;AAChG,mGAAmG;AACnG,SAAS,qBAAqB,CAAC,IAAoB,EAAE,WAAmB;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,SAAS,+BAA+B,CAAC,CAAuB,EAAE,CAAuB;IACvF,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAeD,SAAS,gBAAgB,CAAC,IAA4B;IACpD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,EAAG,CAAC;IACxC,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA+B,EAAE,IAA4B;IACvF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,IAAK;QACjB,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,IAAK;QACX,QAAQ,EAAE,IAAK;QACf,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;QACzC,WAAW,EAAE,aAAa,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,2EAA2E;AAC3E,MAAM,KAAK,GAAuB;IAChC,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAc;IACpD,YAAY,EAAE,aAAa,EAAa;IACxC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;IACzC,WAAW,EAAE,aAAa,EAAa;CACxC,CAAC;AAEF,mGAAmG;AACnG,gGAAgG;AAChG,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAc,CAAC;AAEpE,MAAM,mBAAmB,GAAG,aAAa,EAAa,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WgpuMeshMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const emissiveWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerWgpuEmissiveMaterial(state: WgpuRenderState): void;
|
|
4
4
|
//# sourceMappingURL=emissiveWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAQV,wBAAwB,EACxB,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAWlC,eAAO,MAAM,gCAAgC,EAAE,wBAuC9C,CAAC;AAIF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAIzE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { unpackColorToLinear } from '@flighthq/color/contract';
|
|
2
|
-
import { getWgpuRenderStateRuntime } from '@flighthq/render-wgpu/contract';
|
|
2
|
+
import { getWgpuRenderStateRuntime, registerWgpuBitmapTextureResolver, registerWgpuImageTextureResolver, } from '@flighthq/render-wgpu/contract';
|
|
3
3
|
import { EmissiveMaterialKind } from '@flighthq/types/contract';
|
|
4
4
|
import { registerWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
5
5
|
import { beginWgpuMeshDraw, drawWgpuMeshSubset, isWgpuTextureReady, writeWgpuFrameUniform } from './wgpuMeshPipeline';
|
|
@@ -7,7 +7,7 @@ import { bindWgpuUnlitSurface, ensureWgpuUnlitPipeline } from './wgpuUnlitPrelud
|
|
|
7
7
|
// The built-in Emissive forward renderer (WgpuMeshMaterialRenderer for EmissiveMaterialKind) — the WGSL
|
|
8
8
|
// mirror of emissiveGlMeshMaterialRenderer. Self-illuminating, lighting-independent: binds the linear
|
|
9
9
|
// emissive color scaled by emissiveStrength through the shared unlit pipeline (values > 1 drive bloom
|
|
10
|
-
// over the rgba16float scene target). See
|
|
10
|
+
// over the rgba16float scene target). See registerWgpuEmissiveMaterial.
|
|
11
11
|
export const emissiveWgpuMeshMaterialRenderer = {
|
|
12
12
|
bind(state, material, _lights, camera) {
|
|
13
13
|
const stateRuntime = getWgpuRenderStateRuntime(state);
|
|
@@ -35,7 +35,9 @@ export const emissiveWgpuMeshMaterialRenderer = {
|
|
|
35
35
|
};
|
|
36
36
|
// Registers the built-in Emissive renderer for EmissiveMaterialKind on this state. Opt-in (no top-level
|
|
37
37
|
// side effect); call once per WgpuRenderState before drawWgpuScene3D so meshes with EmissiveMaterials draw.
|
|
38
|
-
export function
|
|
38
|
+
export function registerWgpuEmissiveMaterial(state) {
|
|
39
|
+
registerWgpuBitmapTextureResolver(state);
|
|
40
|
+
registerWgpuImageTextureResolver(state);
|
|
39
41
|
registerWgpuMeshMaterialRenderer(state, EmissiveMaterialKind, emissiveWgpuMeshMaterialRenderer);
|
|
40
42
|
}
|
|
41
43
|
function defineKeyForMaterial(material) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Scene3DKindUsage, SceneCoverageCatalog, SceneCoverageEntry, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
+
export declare function explainWgpuScene3DCoverage(out: SceneCoverageEntry[], state: WgpuRenderState, usage: Readonly<Scene3DKindUsage>, catalog: SceneCoverageCatalog): void;
|
|
3
|
+
export declare function hasWgpuScene3DCoverage(state: WgpuRenderState, usage: Readonly<Scene3DKindUsage>): boolean;
|
|
4
|
+
//# sourceMappingURL=explainWgpuScene3DCoverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainWgpuScene3DCoverage.d.ts","sourceRoot":"","sources":["../src/explainWgpuScene3DCoverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAkBlC,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACjC,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAGN;AAID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAEzG"}
|