@drawcall/lod 0.0.0-stage → 0.1.2
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/LICENSE +21 -0
- package/README.md +83 -2
- package/dist/baked/codec.d.ts +10 -0
- package/dist/baked/codec.js +291 -0
- package/dist/baked/codec.js.map +1 -0
- package/dist/baked/coverage.d.ts +3 -0
- package/dist/baked/coverage.js +45 -0
- package/dist/baked/coverage.js.map +1 -0
- package/dist/baked/index.d.ts +51 -0
- package/dist/baked/index.js +151 -0
- package/dist/baked/index.js.map +1 -0
- package/dist/baked/interior/faces.d.ts +26 -0
- package/dist/baked/interior/faces.js +105 -0
- package/dist/baked/interior/faces.js.map +1 -0
- package/dist/baked/interior/material.d.ts +31 -0
- package/dist/baked/interior/material.js +157 -0
- package/dist/baked/interior/material.js.map +1 -0
- package/dist/baked/interior/rooms.d.ts +22 -0
- package/dist/baked/interior/rooms.js +78 -0
- package/dist/baked/interior/rooms.js.map +1 -0
- package/dist/baked/low.d.ts +20 -0
- package/dist/baked/low.js +75 -0
- package/dist/baked/low.js.map +1 -0
- package/dist/baked/raster.d.ts +20 -0
- package/dist/baked/raster.js +71 -0
- package/dist/baked/raster.js.map +1 -0
- package/dist/baked/transfer.d.ts +36 -0
- package/dist/baked/transfer.js +243 -0
- package/dist/baked/transfer.js.map +1 -0
- package/dist/baked/unwrap.d.ts +9 -0
- package/dist/baked/unwrap.js +167 -0
- package/dist/baked/unwrap.js.map +1 -0
- package/dist/baked/xatlas.d.ts +2 -0
- package/dist/baked/xatlas.js +31 -0
- package/dist/baked/xatlas.js.map +1 -0
- package/dist/bounds.d.ts +33 -0
- package/dist/bounds.js +127 -0
- package/dist/bounds.js.map +1 -0
- package/dist/dispose.d.ts +5 -0
- package/dist/dispose.js +28 -0
- package/dist/dispose.js.map +1 -0
- package/dist/fade.d.ts +44 -0
- package/dist/fade.js +78 -0
- package/dist/fade.js.map +1 -0
- package/dist/impostor/bake/atlas.d.ts +51 -0
- package/dist/impostor/bake/atlas.js +190 -0
- package/dist/impostor/bake/atlas.js.map +1 -0
- package/dist/impostor/bake/index.d.ts +50 -0
- package/dist/impostor/bake/index.js +221 -0
- package/dist/impostor/bake/index.js.map +1 -0
- package/dist/impostor/bake/materials.d.ts +29 -0
- package/dist/impostor/bake/materials.js +156 -0
- package/dist/impostor/bake/materials.js.map +1 -0
- package/dist/impostor/bake/source.d.ts +3 -0
- package/dist/impostor/bake/source.js +23 -0
- package/dist/impostor/bake/source.js.map +1 -0
- package/dist/impostor/cache.d.ts +15 -0
- package/dist/impostor/cache.js +44 -0
- package/dist/impostor/cache.js.map +1 -0
- package/dist/impostor/codec.d.ts +14 -0
- package/dist/impostor/codec.js +137 -0
- package/dist/impostor/codec.js.map +1 -0
- package/dist/impostor/impostor.d.ts +67 -0
- package/dist/impostor/impostor.js +79 -0
- package/dist/impostor/impostor.js.map +1 -0
- package/dist/impostor/mesh/card.d.ts +38 -0
- package/dist/impostor/mesh/card.js +79 -0
- package/dist/impostor/mesh/card.js.map +1 -0
- package/dist/impostor/mesh/index.d.ts +66 -0
- package/dist/impostor/mesh/index.js +174 -0
- package/dist/impostor/mesh/index.js.map +1 -0
- package/dist/impostor/mesh/material.d.ts +63 -0
- package/dist/impostor/mesh/material.js +199 -0
- package/dist/impostor/mesh/material.js.map +1 -0
- package/dist/impostor/mesh/surface.d.ts +63 -0
- package/dist/impostor/mesh/surface.js +162 -0
- package/dist/impostor/mesh/surface.js.map +1 -0
- package/dist/impostor/mesh/textures.d.ts +4 -0
- package/dist/impostor/mesh/textures.js +37 -0
- package/dist/impostor/mesh/textures.js.map +1 -0
- package/dist/impostor/octahedral.d.ts +29 -0
- package/dist/impostor/octahedral.js +83 -0
- package/dist/impostor/octahedral.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/instanced/args.d.ts +20 -0
- package/dist/instanced/args.js +77 -0
- package/dist/instanced/args.js.map +1 -0
- package/dist/instanced/bounds.d.ts +50 -0
- package/dist/instanced/bounds.js +271 -0
- package/dist/instanced/bounds.js.map +1 -0
- package/dist/instanced/dirty.d.ts +12 -0
- package/dist/instanced/dirty.js +61 -0
- package/dist/instanced/dirty.js.map +1 -0
- package/dist/instanced/index.d.ts +116 -0
- package/dist/instanced/index.js +573 -0
- package/dist/instanced/index.js.map +1 -0
- package/dist/instanced/meshes.d.ts +14 -0
- package/dist/instanced/meshes.js +54 -0
- package/dist/instanced/meshes.js.map +1 -0
- package/dist/instanced/select.d.ts +84 -0
- package/dist/instanced/select.js +264 -0
- package/dist/instanced/select.js.map +1 -0
- package/dist/lazy.d.ts +64 -0
- package/dist/lazy.js +187 -0
- package/dist/lazy.js.map +1 -0
- package/dist/levels.d.ts +72 -0
- package/dist/levels.js +146 -0
- package/dist/levels.js.map +1 -0
- package/dist/loader/cache.d.ts +15 -0
- package/dist/loader/cache.js +37 -0
- package/dist/loader/cache.js.map +1 -0
- package/dist/loader/dispose.d.ts +3 -0
- package/dist/loader/dispose.js +25 -0
- package/dist/loader/dispose.js.map +1 -0
- package/dist/loader.d.ts +99 -0
- package/dist/loader.js +234 -0
- package/dist/loader.js.map +1 -0
- package/dist/lod.d.ts +78 -0
- package/dist/lod.js +211 -0
- package/dist/lod.js.map +1 -0
- package/dist/material.d.ts +12 -0
- package/dist/material.js +52 -0
- package/dist/material.js.map +1 -0
- package/dist/pause.d.ts +6 -0
- package/dist/pause.js +20 -0
- package/dist/pause.js.map +1 -0
- package/dist/renderer.d.ts +21 -0
- package/dist/renderer.js +83 -0
- package/dist/renderer.js.map +1 -0
- package/dist/simplify.d.ts +24 -0
- package/dist/simplify.js +148 -0
- package/dist/simplify.js.map +1 -0
- package/dist/source/error.d.ts +14 -0
- package/dist/source/error.js +94 -0
- package/dist/source/error.js.map +1 -0
- package/dist/source/frame.d.ts +11 -0
- package/dist/source/frame.js +25 -0
- package/dist/source/frame.js.map +1 -0
- package/dist/source/shading.d.ts +96 -0
- package/dist/source/shading.js +224 -0
- package/dist/source/shading.js.map +1 -0
- package/dist/source/source.d.ts +23 -0
- package/dist/source/source.js +50 -0
- package/dist/source/source.js.map +1 -0
- package/dist/source/surface.d.ts +31 -0
- package/dist/source/surface.js +110 -0
- package/dist/source/surface.js.map +1 -0
- package/dist/source/texels.d.ts +45 -0
- package/dist/source/texels.js +191 -0
- package/dist/source/texels.js.map +1 -0
- package/dist/source/trace.d.ts +42 -0
- package/dist/source/trace.js +153 -0
- package/dist/source/trace.js.map +1 -0
- package/dist/three.d.ts +55 -0
- package/dist/three.js +103 -0
- package/dist/three.js.map +1 -0
- package/dist/tsl.d.ts +45 -0
- package/dist/tsl.js +99 -0
- package/dist/tsl.js.map +1 -0
- package/dist/view.d.ts +30 -0
- package/dist/view.js +75 -0
- package/dist/view.js.map +1 -0
- package/dist/wind/bounds.d.ts +3 -0
- package/dist/wind/bounds.js +47 -0
- package/dist/wind/bounds.js.map +1 -0
- package/dist/wind/hooks.d.ts +5 -0
- package/dist/wind/hooks.js +3 -0
- package/dist/wind/hooks.js.map +1 -0
- package/dist/wind/index.d.ts +57 -0
- package/dist/wind/index.js +196 -0
- package/dist/wind/index.js.map +1 -0
- package/dist/wind/sway.d.ts +29 -0
- package/dist/wind/sway.js +71 -0
- package/dist/wind/sway.js.map +1 -0
- package/package.json +69 -3
- package/skills/lod/SKILL.md +137 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Generated by scripts/xatlas.ts from xatlas-wasm 0.1.3; do not edit.
|
|
2
|
+
//
|
|
3
|
+
// xatlas, https://github.com/jpcy/xatlas
|
|
4
|
+
// Copyright (c) 2018-2020 Jonathan Young
|
|
5
|
+
// Copyright (c) 2013 Thekla, Inc
|
|
6
|
+
// Copyright NVIDIA Corporation 2006 -- Ignacio Castano <icastano@nvidia.com>
|
|
7
|
+
// Copyright (c) 2012 Brandon Pelfrey
|
|
8
|
+
// xatlas-wasm, https://github.com/mode777/xatlas-wasm
|
|
9
|
+
// Copyright (c) Alexander Klingenbeck (MIT, per its package.json)
|
|
10
|
+
//
|
|
11
|
+
// MIT License
|
|
12
|
+
//
|
|
13
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
|
14
|
+
// software and associated documentation files (the "Software"), to deal in the Software
|
|
15
|
+
// without restriction, including without limitation the rights to use, copy, modify,
|
|
16
|
+
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
|
17
|
+
// permit persons to whom the Software is furnished to do so, subject to the following
|
|
18
|
+
// conditions:
|
|
19
|
+
//
|
|
20
|
+
// The above copyright notice and this permission notice shall be included in all copies
|
|
21
|
+
// or substantial portions of the Software.
|
|
22
|
+
//
|
|
23
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
24
|
+
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
25
|
+
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
26
|
+
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
27
|
+
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
|
28
|
+
// THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
29
|
+
/** The xatlas WebAssembly binary, deflated, as base64. */
|
|
30
|
+
export const XATLAS_WASM = "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";
|
|
31
|
+
//# sourceMappingURL=xatlas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xatlas.js","sourceRoot":"","sources":["../../src/baked/xatlas.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,yCAAyC;AACzC,2CAA2C;AAC3C,mCAAmC;AACnC,+EAA+E;AAC/E,uCAAuC;AACvC,sDAAsD;AACtD,oEAAoE;AACpE,EAAE;AACF,cAAc;AACd,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,qFAAqF;AACrF,qFAAqF;AACrF,sFAAsF;AACtF,cAAc;AACd,EAAE;AACF,wFAAwF;AACxF,2CAA2C;AAC3C,EAAE;AACF,sFAAsF;AACtF,gFAAgF;AAChF,qFAAqF;AACrF,uFAAuF;AACvF,0FAA0F;AAC1F,6CAA6C;AAE7C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,WAAW,GAAG,0p+FAA0p+F,CAAC"}
|
package/dist/bounds.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Box3, Matrix4, Sphere, Vector3, type Mesh, type Object3D } from "three/webgpu";
|
|
2
|
+
/**
|
|
3
|
+
* Call `visit` with every mesh of `root` drawn at full detail, and the matrix that places
|
|
4
|
+
* it in `root`'s own space (`root`'s own transform not applied): `root` itself and its
|
|
5
|
+
* visible descendants; of a nested LOD only its level 0, whatever it shows; and once per
|
|
6
|
+
* instance, the meshes of an InstancedMesh or ImpostorMesh and of an InstancedLod's
|
|
7
|
+
* level 0. `placement` is only valid during the call. Local matrices are
|
|
8
|
+
* brought up to date on the way.
|
|
9
|
+
*/
|
|
10
|
+
export declare function forEachMesh(root: Object3D, visit: (mesh: Mesh, placement: Matrix4) => void): void;
|
|
11
|
+
/** The children of `node` drawn at full detail: of a LOD its level 0, whatever it shows, else the visible ones. */
|
|
12
|
+
export declare function detailed(node: Object3D): Object3D[];
|
|
13
|
+
/** Show level 0 of every LOD under `root` and stop them switching: a bake sees full detail. */
|
|
14
|
+
export declare function showDetail(root: Object3D): void;
|
|
15
|
+
/**
|
|
16
|
+
* Call `visit` with every vertex drawn at full detail (see `forEachMesh`), in `root`'s own
|
|
17
|
+
* space: of meshes with a drawn material, skinned and morphed as rendered; the bounds of
|
|
18
|
+
* an ImpostorMesh. `visit` gets one reused vector.
|
|
19
|
+
*/
|
|
20
|
+
export declare function forEachVertex(root: Object3D, visit: (p: Vector3) => void): void;
|
|
21
|
+
/** Bounds of every vertex that draws at full detail, in `root`'s own space. */
|
|
22
|
+
export declare function boundingBox(root: Object3D): Box3;
|
|
23
|
+
/** The centre and half diagonal of `boundingBox(root)`: an impostor baked from `root` has the same box. */
|
|
24
|
+
export declare function boundingSphere(root: Object3D): Sphere;
|
|
25
|
+
/**
|
|
26
|
+
* The sphere fades measure for a Lod's levels (see `boundingSphere`): level 0's, or the
|
|
27
|
+
* first level's that draws anything when level 0 draws nothing; `own` in that level's
|
|
28
|
+
* own space, `placed` in its parent's (the Lod's). `who` names the caller in the error.
|
|
29
|
+
*/
|
|
30
|
+
export declare function measureLevels(levels: readonly Object3D[], who: string): {
|
|
31
|
+
own: Sphere;
|
|
32
|
+
placed: Sphere;
|
|
33
|
+
};
|
package/dist/bounds.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Box3, Matrix4, Sphere, Vector3 } from "three/webgpu";
|
|
2
|
+
import { isBatchedMesh, isImpostorMesh, isInstancedLod, isInstancedMesh, isLOD, isMesh } from "./three.js";
|
|
3
|
+
// What an object is at full detail: its meshes, where they sit and the vertices they draw.
|
|
4
|
+
/**
|
|
5
|
+
* Call `visit` with every mesh of `root` drawn at full detail, and the matrix that places
|
|
6
|
+
* it in `root`'s own space (`root`'s own transform not applied): `root` itself and its
|
|
7
|
+
* visible descendants; of a nested LOD only its level 0, whatever it shows; and once per
|
|
8
|
+
* instance, the meshes of an InstancedMesh or ImpostorMesh and of an InstancedLod's
|
|
9
|
+
* level 0. `placement` is only valid during the call. Local matrices are
|
|
10
|
+
* brought up to date on the way.
|
|
11
|
+
*/
|
|
12
|
+
export function forEachMesh(root, visit) {
|
|
13
|
+
walk(root, new Matrix4(), visit);
|
|
14
|
+
}
|
|
15
|
+
/** `forEachMesh` from `node`, which `placement` places in the root's space. */
|
|
16
|
+
function walk(node, placement, visit) {
|
|
17
|
+
if (isInstancedLod(node)) {
|
|
18
|
+
// Its level 0 is a template, not in the scene: it stands once per instance.
|
|
19
|
+
const source = node.levels[0]?.object;
|
|
20
|
+
if (!source)
|
|
21
|
+
return;
|
|
22
|
+
const instance = new Matrix4();
|
|
23
|
+
for (let i = 0; i < node.count; i++)
|
|
24
|
+
walk(source, local(source).premultiply(node.getMatrixAt(i, instance)).premultiply(placement), visit);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (isInstancedMesh(node) || isImpostorMesh(node)) {
|
|
28
|
+
const instance = new Matrix4();
|
|
29
|
+
for (let i = 0; i < node.count; i++)
|
|
30
|
+
visit(node, node.getMatrixAt(i, instance).premultiply(placement));
|
|
31
|
+
}
|
|
32
|
+
else if (isMesh(node))
|
|
33
|
+
visit(node, placement);
|
|
34
|
+
for (const child of detailed(node))
|
|
35
|
+
walk(child, local(child).premultiply(placement), visit);
|
|
36
|
+
}
|
|
37
|
+
/** The children of `node` drawn at full detail: of a LOD its level 0, whatever it shows, else the visible ones. */
|
|
38
|
+
export function detailed(node) {
|
|
39
|
+
if (!isLOD(node))
|
|
40
|
+
return node.children.filter((child) => child.visible);
|
|
41
|
+
const source = node.levels[0];
|
|
42
|
+
return source ? [source.object] : [];
|
|
43
|
+
}
|
|
44
|
+
/** `node`'s matrix in its parent's space, up to date. */
|
|
45
|
+
function local(node) {
|
|
46
|
+
if (node.matrixAutoUpdate)
|
|
47
|
+
node.updateMatrix();
|
|
48
|
+
return node.matrix.clone();
|
|
49
|
+
}
|
|
50
|
+
/** Show level 0 of every LOD under `root` and stop them switching: a bake sees full detail. */
|
|
51
|
+
export function showDetail(root) {
|
|
52
|
+
if (isInstancedLod(root)) {
|
|
53
|
+
root.forceLevel = 0;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (isLOD(root)) {
|
|
57
|
+
root.autoUpdate = false;
|
|
58
|
+
root.levels.forEach((level, i) => (level.object.visible = i === 0));
|
|
59
|
+
}
|
|
60
|
+
for (const child of detailed(root))
|
|
61
|
+
showDetail(child);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Call `visit` with every vertex drawn at full detail (see `forEachMesh`), in `root`'s own
|
|
65
|
+
* space: of meshes with a drawn material, skinned and morphed as rendered; the bounds of
|
|
66
|
+
* an ImpostorMesh. `visit` gets one reused vector.
|
|
67
|
+
*/
|
|
68
|
+
export function forEachVertex(root, visit) {
|
|
69
|
+
const point = new Vector3();
|
|
70
|
+
const corners = (box, placement) => {
|
|
71
|
+
if (!box || box.isEmpty())
|
|
72
|
+
return;
|
|
73
|
+
const { min, max } = box;
|
|
74
|
+
for (let i = 0; i < 8; i++)
|
|
75
|
+
visit(point.set(i & 1 ? max.x : min.x, i & 2 ? max.y : min.y, i & 4 ? max.z : min.z).applyMatrix4(placement));
|
|
76
|
+
};
|
|
77
|
+
forEachMesh(root, (mesh, placement) => {
|
|
78
|
+
const drawn = [mesh.material].flat().some((m) => m.visible && m.colorWrite);
|
|
79
|
+
if (!drawn)
|
|
80
|
+
return;
|
|
81
|
+
if (isBatchedMesh(mesh)) {
|
|
82
|
+
// Its instance list is private; the corners of its instances' union box are close enough.
|
|
83
|
+
mesh.computeBoundingBox();
|
|
84
|
+
return corners(mesh.boundingBox, placement);
|
|
85
|
+
}
|
|
86
|
+
// Its geometry is a card built in the shader; its box is the baked object's.
|
|
87
|
+
if (isImpostorMesh(mesh))
|
|
88
|
+
return corners(mesh.geometry.boundingBox, placement);
|
|
89
|
+
const position = mesh.geometry.getAttribute("position");
|
|
90
|
+
if (!position)
|
|
91
|
+
return;
|
|
92
|
+
// getVertexPosition applies morphs and, on a SkinnedMesh, the bones.
|
|
93
|
+
for (let i = 0; i < position.count; i++)
|
|
94
|
+
visit(mesh.getVertexPosition(i, point).applyMatrix4(placement));
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/** Bounds of every vertex that draws at full detail, in `root`'s own space. */
|
|
98
|
+
export function boundingBox(root) {
|
|
99
|
+
const box = new Box3();
|
|
100
|
+
forEachVertex(root, (p) => box.expandByPoint(p));
|
|
101
|
+
return box;
|
|
102
|
+
}
|
|
103
|
+
/** The centre and half diagonal of `boundingBox(root)`: an impostor baked from `root` has the same box. */
|
|
104
|
+
export function boundingSphere(root) {
|
|
105
|
+
const sphere = sphereOf(boundingBox(root));
|
|
106
|
+
if (!sphere)
|
|
107
|
+
throw new Error("@drawcall/lod: object has no visible geometry to measure");
|
|
108
|
+
return sphere;
|
|
109
|
+
}
|
|
110
|
+
const sphereOf = (box) => (box.isEmpty() ? null : new Sphere(box.getCenter(new Vector3()), box.getSize(new Vector3()).length() / 2));
|
|
111
|
+
/**
|
|
112
|
+
* The sphere fades measure for a Lod's levels (see `boundingSphere`): level 0's, or the
|
|
113
|
+
* first level's that draws anything when level 0 draws nothing; `own` in that level's
|
|
114
|
+
* own space, `placed` in its parent's (the Lod's). `who` names the caller in the error.
|
|
115
|
+
*/
|
|
116
|
+
export function measureLevels(levels, who) {
|
|
117
|
+
for (const level of levels) {
|
|
118
|
+
const own = sphereOf(boundingBox(level));
|
|
119
|
+
if (!own)
|
|
120
|
+
continue;
|
|
121
|
+
if (level.matrixAutoUpdate)
|
|
122
|
+
level.updateMatrix();
|
|
123
|
+
return { own, placed: own.clone().applyMatrix4(level.matrix) };
|
|
124
|
+
}
|
|
125
|
+
throw new Error(`${who}: no level has visible geometry to measure`);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=bounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounds.js","sourceRoot":"","sources":["../src/bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAA4B,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3G,2FAA2F;AAE3F;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,KAA+C;IACzF,IAAI,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,SAAS,IAAI,CAAC,IAAc,EAAE,SAAkB,EAAE,KAA+C;IAC/F,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,4EAA4E;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1I,OAAO;IACT,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9F,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,yDAAyD;AACzD,SAAS,KAAK,CAAC,IAAc;IAC3B,IAAI,IAAI,CAAC,gBAAgB;QAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC;QAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,KAA2B;IACvE,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAE,SAAkB,EAAE,EAAE;QACvD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;YAAE,OAAO;QAClC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5I,CAAC,CAAC;IACF,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,0FAA0F;YAC1F,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,6EAA6E;QAC7E,IAAI,cAAc,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,qEAAqE;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACzF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,GAAS,EAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1J;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B,EAAE,GAAW;IACpE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,KAAK,CAAC,gBAAgB;YAAE,KAAK,CAAC,YAAY,EAAE,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,4CAA4C,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Mesh, Object3D } from "three/webgpu";
|
|
2
|
+
/** Free what `node` and its descendants hold; a nested LOD or an ImpostorMesh frees itself. */
|
|
3
|
+
export declare function disposeTree(node: Object3D): void;
|
|
4
|
+
/** Free `mesh`'s materials and their textures: the originals of level copies, which free their copies (see `levelMaterial`). */
|
|
5
|
+
export declare function disposeMaterials(mesh: Mesh): void;
|
package/dist/dispose.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { originalOf } from "./material.js";
|
|
2
|
+
import { isImpostorMesh, isLOD, isMesh, isTexture } from "./three.js";
|
|
3
|
+
/** Free what `node` and its descendants hold; a nested LOD or an ImpostorMesh frees itself. */
|
|
4
|
+
export function disposeTree(node) {
|
|
5
|
+
// ImpostorMesh, InstancedMesh, a nested Lod, a GLTS scene.
|
|
6
|
+
if ("dispose" in node && typeof node.dispose === "function") {
|
|
7
|
+
node.dispose();
|
|
8
|
+
if (isImpostorMesh(node) || isLOD(node))
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (isMesh(node)) {
|
|
12
|
+
node.geometry.dispose();
|
|
13
|
+
disposeMaterials(node);
|
|
14
|
+
}
|
|
15
|
+
for (const child of node.children)
|
|
16
|
+
disposeTree(child);
|
|
17
|
+
}
|
|
18
|
+
/** Free `mesh`'s materials and their textures: the originals of level copies, which free their copies (see `levelMaterial`). */
|
|
19
|
+
export function disposeMaterials(mesh) {
|
|
20
|
+
for (const material of new Set([mesh.material].flat().map(originalOf))) {
|
|
21
|
+
const values = Object.values(material);
|
|
22
|
+
for (const value of values)
|
|
23
|
+
if (isTexture(value))
|
|
24
|
+
value.dispose();
|
|
25
|
+
material.dispose();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=dispose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispose.js","sourceRoot":"","sources":["../src/dispose.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE,+FAA+F;AAC/F,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,2DAA2D;IAC3D,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;QAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,gIAAgI;AAChI,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,MAAM,GAAc,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
|
package/dist/fade.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Color, type Node, type Object3D, type StorageBufferAttribute } from "three/webgpu";
|
|
2
|
+
/** How a mesh of a level is drawn, which says where its fade and shadow size come from. */
|
|
3
|
+
export type Draw = {
|
|
4
|
+
kind: "object";
|
|
5
|
+
/** the signed fade */
|
|
6
|
+
fade: number;
|
|
7
|
+
/** the whole object's bounding diameter, world units */
|
|
8
|
+
diameter: number;
|
|
9
|
+
/** debug tint, white when off */
|
|
10
|
+
tint: Color;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "instances";
|
|
13
|
+
/** one signed fade per instance slot; null for none (an ImpostorMesh of its own) */
|
|
14
|
+
fades: StorageBufferAttribute | null;
|
|
15
|
+
/** one instance's bounding radius in its own space */
|
|
16
|
+
radius: number;
|
|
17
|
+
tint: Color;
|
|
18
|
+
};
|
|
19
|
+
/** Draw `mesh` as `draw` says: its materials read it while it renders. */
|
|
20
|
+
export declare const setDraw: (mesh: Object3D, draw: Draw) => void;
|
|
21
|
+
export declare const drawOf: (mesh: Object3D) => Draw | undefined;
|
|
22
|
+
/** This draw's debug tint (see `Lod.debug`). */
|
|
23
|
+
export declare const tint: import("three/webgpu").UniformNode<"color", Color>;
|
|
24
|
+
/** Interleaved gradient noise over the pixels of the target being drawn. */
|
|
25
|
+
export declare const dither: (pixel: Node<"vec2">) => Node<"float">;
|
|
26
|
+
/**
|
|
27
|
+
* Whether `object` is an ImpostorMesh of one instance, which reads it per object: more,
|
|
28
|
+
* or slots the GPU writes (an InstancedLod's indirect draws), come from its storage buffer.
|
|
29
|
+
*/
|
|
30
|
+
export declare const isSingle: (object: Object3D) => boolean;
|
|
31
|
+
/** The instance matrix of this draw, for an InstancedMesh or ImpostorMesh with its matrices in a storage buffer; else null. */
|
|
32
|
+
export declare function instanceMatrixOf(object: Object3D): Node<"mat4"> | null;
|
|
33
|
+
/** This draw's signed fade. */
|
|
34
|
+
export declare const fade: import("three/src/nodes/TSL.js").FnNode<[], Node<"float">>;
|
|
35
|
+
/** Whether this pixel is this draw's, by its fade: false on the other level's pixels. */
|
|
36
|
+
export declare const keepsPixel: import("three/src/nodes/TSL.js").FnNode<[], Node<"bool">>;
|
|
37
|
+
/**
|
|
38
|
+
* Whether this draw is too small for the shadow map being drawn: narrower than a texel
|
|
39
|
+
* of an orthographic (directional light's) map, it would cover a texel centre only by
|
|
40
|
+
* chance, flickering as it or the map moves. Only valid in shadow passes.
|
|
41
|
+
*/
|
|
42
|
+
export declare const tooSmallToCast: import("three/src/nodes/TSL.js").FnNode<[], Node<"bool">>;
|
|
43
|
+
/** `position` in shadow passes, or nothing (a point) when the draw is too small to cast. */
|
|
44
|
+
export declare const castPosition: (position: Node<"vec3">) => Node<"vec3">;
|
package/dist/fade.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Color, Matrix4 } from "three/webgpu";
|
|
2
|
+
import { Fn, cameraProjectionMatrix, dot, float, fract, instanceIndex, modelWorldMatrix, screenCoordinate, screenSize, select, uniform, varying, vec2, vec3, } from "three/tsl";
|
|
3
|
+
import { isImpostorMesh, storageMatrices } from "./three.js";
|
|
4
|
+
import { column, instanceFades, instanceMatrices, isOrthographic, maxScale } from "./tsl.js";
|
|
5
|
+
const draws = new WeakMap();
|
|
6
|
+
/** Draw `mesh` as `draw` says: its materials read it while it renders. */
|
|
7
|
+
export const setDraw = (mesh, draw) => void draws.set(mesh, draw);
|
|
8
|
+
export const drawOf = (mesh) => draws.get(mesh);
|
|
9
|
+
const WHITE = new Color(1, 1, 1);
|
|
10
|
+
const of = (object) => (object ? draws.get(object) : undefined);
|
|
11
|
+
// Per-object values, shared by every material: each draw reads its own.
|
|
12
|
+
const objectFade = uniform(0).onObjectUpdate(({ object }) => {
|
|
13
|
+
const draw = of(object);
|
|
14
|
+
return draw?.kind === "object" ? draw.fade : 0;
|
|
15
|
+
});
|
|
16
|
+
const placement = new Matrix4();
|
|
17
|
+
// A mesh no level draws is never too small to cast. An ImpostorMesh of one instance
|
|
18
|
+
// reads its own here too, however it is drawn: such meshes share one shader.
|
|
19
|
+
const objectDiameter = uniform(0).onObjectUpdate(({ object }) => {
|
|
20
|
+
const draw = of(object);
|
|
21
|
+
if (draw?.kind === "object")
|
|
22
|
+
return draw.diameter;
|
|
23
|
+
if (draw?.kind !== "instances" || !object || !isImpostorMesh(object) || !isSingle(object))
|
|
24
|
+
return 3.4e38;
|
|
25
|
+
return 2 * draw.radius * placement.fromArray(object.instanceMatrix.array).premultiply(object.matrixWorld).getMaxScaleOnAxis();
|
|
26
|
+
});
|
|
27
|
+
const instanceRadius = uniform(0).onObjectUpdate(({ object }) => {
|
|
28
|
+
const draw = of(object);
|
|
29
|
+
return draw?.kind === "instances" ? draw.radius : 0;
|
|
30
|
+
});
|
|
31
|
+
/** This draw's debug tint (see `Lod.debug`). */
|
|
32
|
+
export const tint = uniform(new Color(1, 1, 1)).onObjectUpdate(({ object }) => of(object)?.tint ?? WHITE);
|
|
33
|
+
/** Interleaved gradient noise over the pixels of the target being drawn. */
|
|
34
|
+
export const dither = (pixel) => fract(float(52.9829189).mul(fract(dot(pixel, vec2(0.06711056, 0.00583715)))));
|
|
35
|
+
/** The matrix of an ImpostorMesh of one instance, read per object: such meshes share one shader. */
|
|
36
|
+
const singleMatrix = uniform(new Matrix4()).onObjectUpdate(({ object }, self) => object && isImpostorMesh(object) ? self.value.fromArray(object.instanceMatrix.array) : undefined);
|
|
37
|
+
/**
|
|
38
|
+
* Whether `object` is an ImpostorMesh of one instance, which reads it per object: more,
|
|
39
|
+
* or slots the GPU writes (an InstancedLod's indirect draws), come from its storage buffer.
|
|
40
|
+
*/
|
|
41
|
+
export const isSingle = (object) => isImpostorMesh(object) && object.count === 1 && object.geometry.getIndirect() === null;
|
|
42
|
+
/** The instance matrix of this draw, for an InstancedMesh or ImpostorMesh with its matrices in a storage buffer; else null. */
|
|
43
|
+
export function instanceMatrixOf(object) {
|
|
44
|
+
if (isSingle(object))
|
|
45
|
+
return singleMatrix;
|
|
46
|
+
const attribute = storageMatrices(object);
|
|
47
|
+
return attribute && instanceMatrices(attribute).element(instanceIndex);
|
|
48
|
+
}
|
|
49
|
+
/** This draw's signed fade. */
|
|
50
|
+
export const fade = Fn((builder) => {
|
|
51
|
+
const draw = draws.get(builder.object);
|
|
52
|
+
if (draw?.kind !== "instances" || !draw.fades)
|
|
53
|
+
return objectFade;
|
|
54
|
+
// Constant across the primitive: keep compute-written slots out of fragment bindings.
|
|
55
|
+
return varying(instanceFades(draw.fades).element(instanceIndex)).setInterpolation("flat");
|
|
56
|
+
});
|
|
57
|
+
/** Whether this pixel is this draw's, by its fade: false on the other level's pixels. */
|
|
58
|
+
export const keepsPixel = Fn(() => {
|
|
59
|
+
const f = fade();
|
|
60
|
+
const d = dither(screenCoordinate.xy);
|
|
61
|
+
return select(f.greaterThanEqual(0), d.greaterThanEqual(f), d.lessThan(f.negate()));
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Whether this draw is too small for the shadow map being drawn: narrower than a texel
|
|
65
|
+
* of an orthographic (directional light's) map, it would cover a texel centre only by
|
|
66
|
+
* chance, flickering as it or the map moves. Only valid in shadow passes.
|
|
67
|
+
*/
|
|
68
|
+
export const tooSmallToCast = Fn((builder) => {
|
|
69
|
+
const object = builder.object;
|
|
70
|
+
const instance = draws.get(object)?.kind === "instances" && !isSingle(object) ? instanceMatrixOf(object) : null;
|
|
71
|
+
const diameter = instance ? maxScale(modelWorldMatrix.mul(instance)).mul(instanceRadius).mul(2) : objectDiameter;
|
|
72
|
+
// projection[1][1] is 2 × zoom / (top - bottom)
|
|
73
|
+
const texel = float(2).div(column(cameraProjectionMatrix, 1).y.mul(screenSize.y));
|
|
74
|
+
return isOrthographic(cameraProjectionMatrix).and(diameter.lessThan(texel));
|
|
75
|
+
});
|
|
76
|
+
/** `position` in shadow passes, or nothing (a point) when the draw is too small to cast. */
|
|
77
|
+
export const castPosition = (position) => select(tooSmallToCast(), vec3(0), position);
|
|
78
|
+
//# sourceMappingURL=fade.js.map
|