@headless-three/renderer 0.1.10 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/gpu-output.d.ts +81 -0
- package/dist/gpu-output.d.ts.map +1 -0
- package/dist/gpu-output.js +53 -0
- package/dist/gpu-output.js.map +1 -0
- package/dist/index.d.ts +26 -770
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -6226
- package/dist/index.js.map +1 -1
- package/dist/index.part-001.d.ts +95 -0
- package/dist/index.part-001.d.ts.map +1 -0
- package/dist/index.part-001.js +273 -0
- package/dist/index.part-001.js.map +1 -0
- package/dist/index.part-002.d.ts +69 -0
- package/dist/index.part-002.d.ts.map +1 -0
- package/dist/index.part-002.js +211 -0
- package/dist/index.part-002.js.map +1 -0
- package/dist/index.part-003.d.ts +105 -0
- package/dist/index.part-003.d.ts.map +1 -0
- package/dist/index.part-003.js +270 -0
- package/dist/index.part-003.js.map +1 -0
- package/dist/index.part-004.d.ts +78 -0
- package/dist/index.part-004.d.ts.map +1 -0
- package/dist/index.part-004.js +390 -0
- package/dist/index.part-004.js.map +1 -0
- package/dist/index.part-005.d.ts +75 -0
- package/dist/index.part-005.d.ts.map +1 -0
- package/dist/index.part-005.js +236 -0
- package/dist/index.part-005.js.map +1 -0
- package/dist/index.part-006.d.ts +105 -0
- package/dist/index.part-006.d.ts.map +1 -0
- package/dist/index.part-006.js +262 -0
- package/dist/index.part-006.js.map +1 -0
- package/dist/index.part-007.d.ts +112 -0
- package/dist/index.part-007.d.ts.map +1 -0
- package/dist/index.part-007.js +358 -0
- package/dist/index.part-007.js.map +1 -0
- package/dist/index.part-008.d.ts +238 -0
- package/dist/index.part-008.d.ts.map +1 -0
- package/dist/index.part-008.js +454 -0
- package/dist/index.part-008.js.map +1 -0
- package/dist/index.part-009.d.ts +46 -0
- package/dist/index.part-009.d.ts.map +1 -0
- package/dist/index.part-009.js +379 -0
- package/dist/index.part-009.js.map +1 -0
- package/dist/index.part-010.d.ts +23 -0
- package/dist/index.part-010.d.ts.map +1 -0
- package/dist/index.part-010.js +245 -0
- package/dist/index.part-010.js.map +1 -0
- package/dist/index.part-011.d.ts +21 -0
- package/dist/index.part-011.d.ts.map +1 -0
- package/dist/index.part-011.js +361 -0
- package/dist/index.part-011.js.map +1 -0
- package/dist/index.part-012.d.ts +115 -0
- package/dist/index.part-012.d.ts.map +1 -0
- package/dist/index.part-012.js +298 -0
- package/dist/index.part-012.js.map +1 -0
- package/dist/index.part-013.d.ts +37 -0
- package/dist/index.part-013.d.ts.map +1 -0
- package/dist/index.part-013.js +341 -0
- package/dist/index.part-013.js.map +1 -0
- package/dist/index.part-014.d.ts +43 -0
- package/dist/index.part-014.d.ts.map +1 -0
- package/dist/index.part-014.js +441 -0
- package/dist/index.part-014.js.map +1 -0
- package/dist/index.part-015.d.ts +45 -0
- package/dist/index.part-015.d.ts.map +1 -0
- package/dist/index.part-015.js +432 -0
- package/dist/index.part-015.js.map +1 -0
- package/dist/index.part-016.d.ts +55 -0
- package/dist/index.part-016.d.ts.map +1 -0
- package/dist/index.part-016.js +382 -0
- package/dist/index.part-016.js.map +1 -0
- package/dist/index.part-017.d.ts +55 -0
- package/dist/index.part-017.d.ts.map +1 -0
- package/dist/index.part-017.js +436 -0
- package/dist/index.part-017.js.map +1 -0
- package/dist/index.part-018.d.ts +34 -0
- package/dist/index.part-018.d.ts.map +1 -0
- package/dist/index.part-018.js +365 -0
- package/dist/index.part-018.js.map +1 -0
- package/dist/index.part-019.d.ts +29 -0
- package/dist/index.part-019.d.ts.map +1 -0
- package/dist/index.part-019.js +261 -0
- package/dist/index.part-019.js.map +1 -0
- package/dist/index.part-020.d.ts +37 -0
- package/dist/index.part-020.d.ts.map +1 -0
- package/dist/index.part-020.js +388 -0
- package/dist/index.part-020.js.map +1 -0
- package/dist/index.part-021.d.ts +10 -0
- package/dist/index.part-021.d.ts.map +1 -0
- package/dist/index.part-021.js +142 -0
- package/dist/index.part-021.js.map +1 -0
- package/dist/loaders.d.ts +27 -91
- package/dist/loaders.d.ts.map +1 -1
- package/dist/loaders.js +22 -855
- package/dist/loaders.js.map +1 -1
- package/dist/loaders.part-001.d.ts +163 -0
- package/dist/loaders.part-001.d.ts.map +1 -0
- package/dist/loaders.part-001.js +277 -0
- package/dist/loaders.part-001.js.map +1 -0
- package/dist/loaders.part-002.d.ts +33 -0
- package/dist/loaders.part-002.d.ts.map +1 -0
- package/dist/loaders.part-002.js +511 -0
- package/dist/loaders.part-002.js.map +1 -0
- package/dist/loaders.part-003.d.ts +23 -0
- package/dist/loaders.part-003.d.ts.map +1 -0
- package/dist/loaders.part-003.js +138 -0
- package/dist/loaders.part-003.js.map +1 -0
- package/dist/materials.d.ts +33 -49
- package/dist/materials.d.ts.map +1 -1
- package/dist/materials.js +39 -4339
- package/dist/materials.js.map +1 -1
- package/dist/materials.part-001.d.ts +153 -0
- package/dist/materials.part-001.d.ts.map +1 -0
- package/dist/materials.part-001.js +347 -0
- package/dist/materials.part-001.js.map +1 -0
- package/dist/materials.part-002.d.ts +46 -0
- package/dist/materials.part-002.d.ts.map +1 -0
- package/dist/materials.part-002.js +299 -0
- package/dist/materials.part-002.js.map +1 -0
- package/dist/materials.part-003.d.ts +14 -0
- package/dist/materials.part-003.d.ts.map +1 -0
- package/dist/materials.part-003.js +438 -0
- package/dist/materials.part-003.js.map +1 -0
- package/dist/materials.part-004.d.ts +30 -0
- package/dist/materials.part-004.d.ts.map +1 -0
- package/dist/materials.part-004.js +464 -0
- package/dist/materials.part-004.js.map +1 -0
- package/dist/materials.part-005.d.ts +38 -0
- package/dist/materials.part-005.d.ts.map +1 -0
- package/dist/materials.part-005.js +366 -0
- package/dist/materials.part-005.js.map +1 -0
- package/dist/materials.part-006.d.ts +18 -0
- package/dist/materials.part-006.d.ts.map +1 -0
- package/dist/materials.part-006.js +391 -0
- package/dist/materials.part-006.js.map +1 -0
- package/dist/materials.part-007.d.ts +24 -0
- package/dist/materials.part-007.d.ts.map +1 -0
- package/dist/materials.part-007.js +467 -0
- package/dist/materials.part-007.js.map +1 -0
- package/dist/materials.part-008.d.ts +95 -0
- package/dist/materials.part-008.d.ts.map +1 -0
- package/dist/materials.part-008.js +404 -0
- package/dist/materials.part-008.js.map +1 -0
- package/dist/materials.part-009.d.ts +89 -0
- package/dist/materials.part-009.d.ts.map +1 -0
- package/dist/materials.part-009.js +412 -0
- package/dist/materials.part-009.js.map +1 -0
- package/dist/materials.part-010.d.ts +46 -0
- package/dist/materials.part-010.d.ts.map +1 -0
- package/dist/materials.part-010.js +375 -0
- package/dist/materials.part-010.js.map +1 -0
- package/dist/materials.part-011.d.ts +25 -0
- package/dist/materials.part-011.d.ts.map +1 -0
- package/dist/materials.part-011.js +435 -0
- package/dist/materials.part-011.js.map +1 -0
- package/dist/materials.part-012.d.ts +15 -0
- package/dist/materials.part-012.d.ts.map +1 -0
- package/dist/materials.part-012.js +229 -0
- package/dist/materials.part-012.js.map +1 -0
- package/dist/scene.d.ts +19 -279
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +21 -3931
- package/dist/scene.js.map +1 -1
- package/dist/scene.part-001.d.ts +375 -0
- package/dist/scene.part-001.d.ts.map +1 -0
- package/dist/scene.part-001.js +20 -0
- package/dist/scene.part-001.js.map +1 -0
- package/dist/scene.part-002.d.ts +28 -0
- package/dist/scene.part-002.d.ts.map +1 -0
- package/dist/scene.part-002.js +311 -0
- package/dist/scene.part-002.js.map +1 -0
- package/dist/scene.part-003.d.ts +26 -0
- package/dist/scene.part-003.d.ts.map +1 -0
- package/dist/scene.part-003.js +384 -0
- package/dist/scene.part-003.js.map +1 -0
- package/dist/scene.part-004.d.ts +24 -0
- package/dist/scene.part-004.d.ts.map +1 -0
- package/dist/scene.part-004.js +287 -0
- package/dist/scene.part-004.js.map +1 -0
- package/dist/scene.part-005.d.ts +37 -0
- package/dist/scene.part-005.d.ts.map +1 -0
- package/dist/scene.part-005.js +350 -0
- package/dist/scene.part-005.js.map +1 -0
- package/dist/scene.part-006.d.ts +25 -0
- package/dist/scene.part-006.d.ts.map +1 -0
- package/dist/scene.part-006.js +362 -0
- package/dist/scene.part-006.js.map +1 -0
- package/dist/scene.part-007.d.ts +36 -0
- package/dist/scene.part-007.d.ts.map +1 -0
- package/dist/scene.part-007.js +417 -0
- package/dist/scene.part-007.js.map +1 -0
- package/dist/scene.part-008.d.ts +78 -0
- package/dist/scene.part-008.d.ts.map +1 -0
- package/dist/scene.part-008.js +416 -0
- package/dist/scene.part-008.js.map +1 -0
- package/dist/scene.part-009.d.ts +25 -0
- package/dist/scene.part-009.d.ts.map +1 -0
- package/dist/scene.part-009.js +330 -0
- package/dist/scene.part-009.js.map +1 -0
- package/dist/scene.part-010.d.ts +32 -0
- package/dist/scene.part-010.d.ts.map +1 -0
- package/dist/scene.part-010.js +336 -0
- package/dist/scene.part-010.js.map +1 -0
- package/dist/scene.part-011.d.ts +100 -0
- package/dist/scene.part-011.d.ts.map +1 -0
- package/dist/scene.part-011.js +262 -0
- package/dist/scene.part-011.js.map +1 -0
- package/dist/scene.part-012.d.ts +48 -0
- package/dist/scene.part-012.d.ts.map +1 -0
- package/dist/scene.part-012.js +357 -0
- package/dist/scene.part-012.js.map +1 -0
- package/dist/scene.part-013.d.ts +51 -0
- package/dist/scene.part-013.d.ts.map +1 -0
- package/dist/scene.part-013.js +368 -0
- package/dist/scene.part-013.js.map +1 -0
- package/dist/scene.part-014.d.ts +16 -0
- package/dist/scene.part-014.d.ts.map +1 -0
- package/dist/scene.part-014.js +112 -0
- package/dist/scene.part-014.js.map +1 -0
- package/dist/types.d.ts +53 -1564
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/dist/types.part-001.d.ts +386 -0
- package/dist/types.part-001.d.ts.map +1 -0
- package/dist/types.part-001.js +4 -0
- package/dist/types.part-001.js.map +1 -0
- package/dist/types.part-002.d.ts +407 -0
- package/dist/types.part-002.d.ts.map +1 -0
- package/dist/types.part-002.js +3 -0
- package/dist/types.part-002.js.map +1 -0
- package/dist/types.part-003.d.ts +427 -0
- package/dist/types.part-003.d.ts.map +1 -0
- package/dist/types.part-003.js +3 -0
- package/dist/types.part-003.js.map +1 -0
- package/dist/types.part-004.d.ts +351 -0
- package/dist/types.part-004.d.ts.map +1 -0
- package/dist/types.part-004.js +3 -0
- package/dist/types.part-004.js.map +1 -0
- package/native.d.ts +40 -0
- package/native.js +53 -52
- package/package.json +10 -8
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { ThreeSceneRootLike, ThreeMaterialLike, ThreeObject3DLike } from './types';
|
|
2
|
+
import { RendererLightingNodeState, RendererLightingState } from './index.part-004';
|
|
3
|
+
import { RendererRenderListItem, RendererRenderListSort } from './index.part-006';
|
|
4
|
+
export declare class RendererRenderList {
|
|
5
|
+
readonly scene: unknown;
|
|
6
|
+
readonly camera: unknown;
|
|
7
|
+
readonly renderItems: RendererRenderListItem[];
|
|
8
|
+
renderItemsIndex: number;
|
|
9
|
+
readonly opaque: RendererRenderListItem[];
|
|
10
|
+
readonly transmissive: RendererRenderListItem[];
|
|
11
|
+
readonly transparentDoublePass: RendererRenderListItem[];
|
|
12
|
+
readonly transparent: RendererRenderListItem[];
|
|
13
|
+
readonly bundles: unknown[];
|
|
14
|
+
readonly lightsArray: unknown[];
|
|
15
|
+
readonly lightsNode: RendererLightingNodeState;
|
|
16
|
+
occlusionQueryCount: number;
|
|
17
|
+
constructor(lighting?: RendererLightingState | null, scene?: unknown, camera?: unknown);
|
|
18
|
+
init(): void;
|
|
19
|
+
begin(): this;
|
|
20
|
+
push(object: unknown, geometry: unknown, material: unknown, groupOrder?: number, z?: number, group?: unknown, clippingContext?: unknown): void;
|
|
21
|
+
unshift(object: unknown, geometry: unknown, material: unknown, groupOrder?: number, z?: number, group?: unknown, clippingContext?: unknown): void;
|
|
22
|
+
pushBundle(group: unknown): void;
|
|
23
|
+
pushLight(light: unknown): void;
|
|
24
|
+
sort(customOpaqueSort?: RendererRenderListSort | null, customTransparentSort?: RendererRenderListSort | null): void;
|
|
25
|
+
finish(): void;
|
|
26
|
+
private getNextRenderItem;
|
|
27
|
+
private pushRenderItem;
|
|
28
|
+
private pushInto;
|
|
29
|
+
}
|
|
30
|
+
export declare class RendererChainMapState {
|
|
31
|
+
weakMap: WeakMap<object, WeakMap<object, unknown>>;
|
|
32
|
+
get(keys: unknown): unknown;
|
|
33
|
+
set(keys: unknown, value: unknown): this;
|
|
34
|
+
delete(keys: unknown): boolean;
|
|
35
|
+
clear(): void;
|
|
36
|
+
}
|
|
37
|
+
export declare class RendererRenderListsState {
|
|
38
|
+
readonly lighting: RendererLightingState;
|
|
39
|
+
readonly lists: RendererChainMapState;
|
|
40
|
+
private depthLists;
|
|
41
|
+
constructor(lighting: RendererLightingState);
|
|
42
|
+
get(scene: object, renderCallDepthOrCamera?: unknown): RendererRenderList;
|
|
43
|
+
dispose(): void;
|
|
44
|
+
}
|
|
45
|
+
export declare class RendererRenderLightsState {
|
|
46
|
+
readonly state: {
|
|
47
|
+
version: number;
|
|
48
|
+
hash: {
|
|
49
|
+
directionalLength: number;
|
|
50
|
+
pointLength: number;
|
|
51
|
+
spotLength: number;
|
|
52
|
+
rectAreaLength: number;
|
|
53
|
+
hemiLength: number;
|
|
54
|
+
numDirectionalShadows: number;
|
|
55
|
+
numPointShadows: number;
|
|
56
|
+
numSpotShadows: number;
|
|
57
|
+
numSpotMaps: number;
|
|
58
|
+
numLightProbes: number;
|
|
59
|
+
};
|
|
60
|
+
ambient: number[];
|
|
61
|
+
probe: {
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
z: number;
|
|
65
|
+
}[];
|
|
66
|
+
directional: never[];
|
|
67
|
+
directionalShadow: never[];
|
|
68
|
+
directionalShadowMap: never[];
|
|
69
|
+
directionalShadowMatrix: never[];
|
|
70
|
+
spot: never[];
|
|
71
|
+
spotLightMap: never[];
|
|
72
|
+
spotShadow: never[];
|
|
73
|
+
spotShadowMap: never[];
|
|
74
|
+
spotLightMatrix: never[];
|
|
75
|
+
rectArea: never[];
|
|
76
|
+
rectAreaLTC1: null;
|
|
77
|
+
rectAreaLTC2: null;
|
|
78
|
+
point: never[];
|
|
79
|
+
pointShadow: never[];
|
|
80
|
+
pointShadowMap: never[];
|
|
81
|
+
pointShadowMatrix: never[];
|
|
82
|
+
hemi: never[];
|
|
83
|
+
numSpotLightShadowsWithMaps: number;
|
|
84
|
+
numLightProbes: number;
|
|
85
|
+
};
|
|
86
|
+
setup(_lights?: unknown[]): void;
|
|
87
|
+
setupView(_lights?: unknown[], _camera?: unknown): void;
|
|
88
|
+
}
|
|
89
|
+
export declare class RendererRenderState {
|
|
90
|
+
readonly state: {
|
|
91
|
+
lightsArray: unknown[];
|
|
92
|
+
shadowsArray: unknown[];
|
|
93
|
+
camera: unknown;
|
|
94
|
+
lights: RendererRenderLightsState;
|
|
95
|
+
transmissionRenderTarget: Record<PropertyKey, unknown>;
|
|
96
|
+
};
|
|
97
|
+
init(camera: unknown): void;
|
|
98
|
+
pushLight(light: unknown): void;
|
|
99
|
+
pushShadow(shadowLight: unknown): void;
|
|
100
|
+
setupLights(): void;
|
|
101
|
+
setupLightsView(camera: unknown): void;
|
|
102
|
+
}
|
|
103
|
+
export declare class RendererRenderStatesState {
|
|
104
|
+
private states;
|
|
105
|
+
get(scene: object, renderCallDepth?: number): RendererRenderState;
|
|
106
|
+
dispose(): void;
|
|
107
|
+
}
|
|
108
|
+
export declare function collectCompileMaterials(scene: ThreeSceneRootLike): Set<ThreeMaterialLike>;
|
|
109
|
+
export declare function collectObjectCompileMaterials(object: ThreeObject3DLike, materials: Set<ThreeMaterialLike>, label: string): void;
|
|
110
|
+
export declare function isCompileRenderableObject(object: ThreeObject3DLike): boolean;
|
|
111
|
+
export declare function addCompileMaterial(material: unknown, materials: Set<ThreeMaterialLike>, label: string): void;
|
|
112
|
+
//# sourceMappingURL=index.part-007.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.part-007.d.ts","sourceRoot":"","sources":["../api/index.part-007.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RendererRenderStatesState = exports.RendererRenderState = exports.RendererRenderLightsState = exports.RendererRenderListsState = exports.RendererChainMapState = exports.RendererRenderList = void 0;
|
|
4
|
+
exports.collectCompileMaterials = collectCompileMaterials;
|
|
5
|
+
exports.collectObjectCompileMaterials = collectObjectCompileMaterials;
|
|
6
|
+
exports.isCompileRenderableObject = isCompileRenderableObject;
|
|
7
|
+
exports.addCompileMaterial = addCompileMaterial;
|
|
8
|
+
const index_part_004_1 = require("./index.part-004");
|
|
9
|
+
const index_part_017_1 = require("./index.part-017");
|
|
10
|
+
const index_part_018_1 = require("./index.part-018");
|
|
11
|
+
class RendererRenderList {
|
|
12
|
+
constructor(lighting = null, scene = null, camera = null) {
|
|
13
|
+
this.scene = scene;
|
|
14
|
+
this.camera = camera;
|
|
15
|
+
this.renderItems = [];
|
|
16
|
+
this.renderItemsIndex = 0;
|
|
17
|
+
this.opaque = [];
|
|
18
|
+
this.transmissive = [];
|
|
19
|
+
this.transparentDoublePass = [];
|
|
20
|
+
this.transparent = [];
|
|
21
|
+
this.bundles = [];
|
|
22
|
+
this.lightsArray = [];
|
|
23
|
+
this.occlusionQueryCount = 0;
|
|
24
|
+
this.lightsNode = lighting && scene && typeof scene === 'object' && camera && typeof camera === 'object'
|
|
25
|
+
? lighting.getNode(scene, camera)
|
|
26
|
+
: new index_part_004_1.RendererLightingNodeState();
|
|
27
|
+
}
|
|
28
|
+
init() {
|
|
29
|
+
this.begin();
|
|
30
|
+
}
|
|
31
|
+
begin() {
|
|
32
|
+
this.renderItemsIndex = 0;
|
|
33
|
+
this.opaque.length = 0;
|
|
34
|
+
this.transmissive.length = 0;
|
|
35
|
+
this.transparentDoublePass.length = 0;
|
|
36
|
+
this.transparent.length = 0;
|
|
37
|
+
this.bundles.length = 0;
|
|
38
|
+
this.lightsArray.length = 0;
|
|
39
|
+
this.occlusionQueryCount = 0;
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
push(object, geometry, material, groupOrder = 0, z = 0, group = null, clippingContext = null) {
|
|
43
|
+
const renderItem = this.getNextRenderItem(object, geometry, material, groupOrder, z, group, clippingContext);
|
|
44
|
+
if (object?.occlusionTest === true) {
|
|
45
|
+
this.occlusionQueryCount += 1;
|
|
46
|
+
}
|
|
47
|
+
this.pushRenderItem(renderItem, material, false);
|
|
48
|
+
}
|
|
49
|
+
unshift(object, geometry, material, groupOrder = 0, z = 0, group = null, clippingContext = null) {
|
|
50
|
+
const renderItem = this.getNextRenderItem(object, geometry, material, groupOrder, z, group, clippingContext);
|
|
51
|
+
this.pushRenderItem(renderItem, material, true);
|
|
52
|
+
}
|
|
53
|
+
pushBundle(group) {
|
|
54
|
+
this.bundles.push(group);
|
|
55
|
+
}
|
|
56
|
+
pushLight(light) {
|
|
57
|
+
this.lightsArray.push(light);
|
|
58
|
+
}
|
|
59
|
+
sort(customOpaqueSort, customTransparentSort) {
|
|
60
|
+
if (customOpaqueSort !== undefined && customOpaqueSort !== null && typeof customOpaqueSort !== 'function') {
|
|
61
|
+
throw new TypeError('Renderer.renderLists list opaque sort must be a function or null.');
|
|
62
|
+
}
|
|
63
|
+
if (customTransparentSort !== undefined && customTransparentSort !== null && typeof customTransparentSort !== 'function') {
|
|
64
|
+
throw new TypeError('Renderer.renderLists list transparent sort must be a function or null.');
|
|
65
|
+
}
|
|
66
|
+
this.opaque.sort(customOpaqueSort ?? index_part_017_1.rendererRenderListOpaqueSort);
|
|
67
|
+
this.transmissive.sort(customTransparentSort ?? index_part_017_1.rendererRenderListTransparentSort);
|
|
68
|
+
this.transparentDoublePass.sort(customTransparentSort ?? index_part_017_1.rendererRenderListTransparentSort);
|
|
69
|
+
this.transparent.sort(customTransparentSort ?? index_part_017_1.rendererRenderListTransparentSort);
|
|
70
|
+
}
|
|
71
|
+
finish() {
|
|
72
|
+
this.lightsNode.setLights(this.lightsArray);
|
|
73
|
+
for (let i = this.renderItemsIndex; i < this.renderItems.length; i += 1) {
|
|
74
|
+
this.renderItems[i].id = null;
|
|
75
|
+
this.renderItems[i].object = null;
|
|
76
|
+
this.renderItems[i].geometry = null;
|
|
77
|
+
this.renderItems[i].material = null;
|
|
78
|
+
this.renderItems[i].materialVariant = null;
|
|
79
|
+
this.renderItems[i].groupOrder = null;
|
|
80
|
+
this.renderItems[i].renderOrder = null;
|
|
81
|
+
this.renderItems[i].z = null;
|
|
82
|
+
this.renderItems[i].group = null;
|
|
83
|
+
this.renderItems[i].clippingContext = null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
getNextRenderItem(object, geometry, material, groupOrder, z, group, clippingContext) {
|
|
87
|
+
(0, index_part_018_1.assertFiniteNumberOption)(groupOrder, 'Renderer.renderLists list groupOrder');
|
|
88
|
+
(0, index_part_018_1.assertFiniteNumberOption)(z, 'Renderer.renderLists list z');
|
|
89
|
+
let renderItem = this.renderItems[this.renderItemsIndex];
|
|
90
|
+
if (renderItem === undefined) {
|
|
91
|
+
renderItem = {
|
|
92
|
+
id: (0, index_part_017_1.rendererRenderListId)(object),
|
|
93
|
+
object,
|
|
94
|
+
geometry,
|
|
95
|
+
material,
|
|
96
|
+
materialVariant: (0, index_part_017_1.rendererRenderListMaterialVariant)(object),
|
|
97
|
+
groupOrder,
|
|
98
|
+
renderOrder: (0, index_part_017_1.rendererRenderListRenderOrder)(object),
|
|
99
|
+
z,
|
|
100
|
+
group,
|
|
101
|
+
clippingContext,
|
|
102
|
+
};
|
|
103
|
+
this.renderItems[this.renderItemsIndex] = renderItem;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
renderItem.id = (0, index_part_017_1.rendererRenderListId)(object);
|
|
107
|
+
renderItem.object = object;
|
|
108
|
+
renderItem.geometry = geometry;
|
|
109
|
+
renderItem.material = material;
|
|
110
|
+
renderItem.materialVariant = (0, index_part_017_1.rendererRenderListMaterialVariant)(object);
|
|
111
|
+
renderItem.groupOrder = groupOrder;
|
|
112
|
+
renderItem.renderOrder = (0, index_part_017_1.rendererRenderListRenderOrder)(object);
|
|
113
|
+
renderItem.z = z;
|
|
114
|
+
renderItem.group = group;
|
|
115
|
+
renderItem.clippingContext = clippingContext;
|
|
116
|
+
}
|
|
117
|
+
this.renderItemsIndex += 1;
|
|
118
|
+
return renderItem;
|
|
119
|
+
}
|
|
120
|
+
pushRenderItem(renderItem, material, unshift) {
|
|
121
|
+
const record = material && typeof material === 'object' ? material : undefined;
|
|
122
|
+
const hasTransmission = typeof record?.transmission === 'number' && record.transmission > 0;
|
|
123
|
+
const transparent = record?.transparent === true || hasTransmission;
|
|
124
|
+
if (hasTransmission) {
|
|
125
|
+
this.pushInto(this.transmissive, renderItem, unshift);
|
|
126
|
+
}
|
|
127
|
+
if (transparent) {
|
|
128
|
+
if ((0, index_part_017_1.rendererRenderListNeedsDoublePass)(record)) {
|
|
129
|
+
this.pushInto(this.transparentDoublePass, renderItem, unshift);
|
|
130
|
+
}
|
|
131
|
+
this.pushInto(this.transparent, renderItem, unshift);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
this.pushInto(this.opaque, renderItem, unshift);
|
|
135
|
+
}
|
|
136
|
+
pushInto(list, item, unshift) {
|
|
137
|
+
if (unshift)
|
|
138
|
+
list.unshift(item);
|
|
139
|
+
else
|
|
140
|
+
list.push(item);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.RendererRenderList = RendererRenderList;
|
|
144
|
+
class RendererChainMapState {
|
|
145
|
+
constructor() {
|
|
146
|
+
this.weakMap = new WeakMap();
|
|
147
|
+
}
|
|
148
|
+
get(keys) {
|
|
149
|
+
const keyPath = (0, index_part_017_1.assertWeakMapKeyArray)(keys, 'Renderer.renderLists.lists.get keys');
|
|
150
|
+
let map = this.weakMap;
|
|
151
|
+
for (let i = 0; i < keyPath.length; i += 1) {
|
|
152
|
+
map = map.get(keyPath[i]);
|
|
153
|
+
if (map === undefined)
|
|
154
|
+
return undefined;
|
|
155
|
+
}
|
|
156
|
+
return map.get(keyPath[keyPath.length - 1]);
|
|
157
|
+
}
|
|
158
|
+
set(keys, value) {
|
|
159
|
+
const keyPath = (0, index_part_017_1.assertWeakMapKeyArray)(keys, 'Renderer.renderLists.lists.set keys');
|
|
160
|
+
let map = this.weakMap;
|
|
161
|
+
for (const key of keyPath) {
|
|
162
|
+
if (!map.has(key)) {
|
|
163
|
+
map.set(key, new WeakMap());
|
|
164
|
+
}
|
|
165
|
+
map = map.get(key);
|
|
166
|
+
}
|
|
167
|
+
map.set(keyPath[keyPath.length - 1], value);
|
|
168
|
+
return this;
|
|
169
|
+
}
|
|
170
|
+
delete(keys) {
|
|
171
|
+
const keyPath = (0, index_part_017_1.assertWeakMapKeyArray)(keys, 'Renderer.renderLists.lists.delete keys');
|
|
172
|
+
let map = this.weakMap;
|
|
173
|
+
for (let i = 0; i < keyPath.length; i += 1) {
|
|
174
|
+
map = map.get(keyPath[i]);
|
|
175
|
+
if (map === undefined)
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
return map.delete(keyPath[keyPath.length - 1]);
|
|
179
|
+
}
|
|
180
|
+
clear() {
|
|
181
|
+
this.weakMap = new WeakMap();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.RendererChainMapState = RendererChainMapState;
|
|
185
|
+
class RendererRenderListsState {
|
|
186
|
+
constructor(lighting) {
|
|
187
|
+
this.lists = new RendererChainMapState();
|
|
188
|
+
this.depthLists = new WeakMap();
|
|
189
|
+
this.lighting = lighting;
|
|
190
|
+
}
|
|
191
|
+
get(scene, renderCallDepthOrCamera = 0) {
|
|
192
|
+
(0, index_part_017_1.assertWeakMapKey)(scene, 'Renderer.renderLists.get scene');
|
|
193
|
+
if (typeof renderCallDepthOrCamera !== 'number') {
|
|
194
|
+
(0, index_part_017_1.assertWeakMapKey)(renderCallDepthOrCamera, 'Renderer.renderLists.get camera');
|
|
195
|
+
const keys = [scene, renderCallDepthOrCamera];
|
|
196
|
+
let cameraList = this.lists.get(keys);
|
|
197
|
+
if (cameraList === undefined) {
|
|
198
|
+
cameraList = new RendererRenderList(this.lighting, scene, renderCallDepthOrCamera);
|
|
199
|
+
this.lists.set(keys, cameraList);
|
|
200
|
+
}
|
|
201
|
+
return cameraList;
|
|
202
|
+
}
|
|
203
|
+
const renderCallDepth = renderCallDepthOrCamera;
|
|
204
|
+
if (!Number.isInteger(renderCallDepth) || renderCallDepth < 0) {
|
|
205
|
+
throw new TypeError(`Renderer.renderLists.get renderCallDepth must be a non-negative integer; received ${String(renderCallDepth)}.`);
|
|
206
|
+
}
|
|
207
|
+
let listArray = this.depthLists.get(scene);
|
|
208
|
+
if (listArray === undefined) {
|
|
209
|
+
listArray = [];
|
|
210
|
+
this.depthLists.set(scene, listArray);
|
|
211
|
+
}
|
|
212
|
+
let list = listArray[renderCallDepth];
|
|
213
|
+
if (list === undefined) {
|
|
214
|
+
list = new RendererRenderList(this.lighting, scene, null);
|
|
215
|
+
listArray[renderCallDepth] = list;
|
|
216
|
+
}
|
|
217
|
+
return list;
|
|
218
|
+
}
|
|
219
|
+
dispose() {
|
|
220
|
+
this.depthLists = new WeakMap();
|
|
221
|
+
this.lists.clear();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
exports.RendererRenderListsState = RendererRenderListsState;
|
|
225
|
+
class RendererRenderLightsState {
|
|
226
|
+
constructor() {
|
|
227
|
+
this.state = {
|
|
228
|
+
version: 0,
|
|
229
|
+
hash: {
|
|
230
|
+
directionalLength: -1,
|
|
231
|
+
pointLength: -1,
|
|
232
|
+
spotLength: -1,
|
|
233
|
+
rectAreaLength: -1,
|
|
234
|
+
hemiLength: -1,
|
|
235
|
+
numDirectionalShadows: -1,
|
|
236
|
+
numPointShadows: -1,
|
|
237
|
+
numSpotShadows: -1,
|
|
238
|
+
numSpotMaps: -1,
|
|
239
|
+
numLightProbes: -1,
|
|
240
|
+
},
|
|
241
|
+
ambient: [0, 0, 0],
|
|
242
|
+
probe: Array.from({ length: 9 }, () => ({ x: 0, y: 0, z: 0 })),
|
|
243
|
+
directional: [],
|
|
244
|
+
directionalShadow: [],
|
|
245
|
+
directionalShadowMap: [],
|
|
246
|
+
directionalShadowMatrix: [],
|
|
247
|
+
spot: [],
|
|
248
|
+
spotLightMap: [],
|
|
249
|
+
spotShadow: [],
|
|
250
|
+
spotShadowMap: [],
|
|
251
|
+
spotLightMatrix: [],
|
|
252
|
+
rectArea: [],
|
|
253
|
+
rectAreaLTC1: null,
|
|
254
|
+
rectAreaLTC2: null,
|
|
255
|
+
point: [],
|
|
256
|
+
pointShadow: [],
|
|
257
|
+
pointShadowMap: [],
|
|
258
|
+
pointShadowMatrix: [],
|
|
259
|
+
hemi: [],
|
|
260
|
+
numSpotLightShadowsWithMaps: 0,
|
|
261
|
+
numLightProbes: 0,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
setup(_lights = []) { }
|
|
265
|
+
setupView(_lights = [], _camera) { }
|
|
266
|
+
}
|
|
267
|
+
exports.RendererRenderLightsState = RendererRenderLightsState;
|
|
268
|
+
class RendererRenderState {
|
|
269
|
+
constructor() {
|
|
270
|
+
this.state = {
|
|
271
|
+
lightsArray: [],
|
|
272
|
+
shadowsArray: [],
|
|
273
|
+
camera: null,
|
|
274
|
+
lights: new RendererRenderLightsState(),
|
|
275
|
+
transmissionRenderTarget: {},
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
init(camera) {
|
|
279
|
+
this.state.camera = camera;
|
|
280
|
+
this.state.lightsArray.length = 0;
|
|
281
|
+
this.state.shadowsArray.length = 0;
|
|
282
|
+
}
|
|
283
|
+
pushLight(light) {
|
|
284
|
+
this.state.lightsArray.push(light);
|
|
285
|
+
}
|
|
286
|
+
pushShadow(shadowLight) {
|
|
287
|
+
this.state.shadowsArray.push(shadowLight);
|
|
288
|
+
}
|
|
289
|
+
setupLights() {
|
|
290
|
+
this.state.lights.setup(this.state.lightsArray);
|
|
291
|
+
}
|
|
292
|
+
setupLightsView(camera) {
|
|
293
|
+
this.state.lights.setupView(this.state.lightsArray, camera);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
exports.RendererRenderState = RendererRenderState;
|
|
297
|
+
class RendererRenderStatesState {
|
|
298
|
+
constructor() {
|
|
299
|
+
this.states = new WeakMap();
|
|
300
|
+
}
|
|
301
|
+
get(scene, renderCallDepth = 0) {
|
|
302
|
+
(0, index_part_017_1.assertWeakMapKey)(scene, 'Renderer.renderStates.get scene');
|
|
303
|
+
if (!Number.isInteger(renderCallDepth) || renderCallDepth < 0) {
|
|
304
|
+
throw new TypeError(`Renderer.renderStates.get renderCallDepth must be a non-negative integer; received ${String(renderCallDepth)}.`);
|
|
305
|
+
}
|
|
306
|
+
let stateArray = this.states.get(scene);
|
|
307
|
+
if (stateArray === undefined) {
|
|
308
|
+
stateArray = [];
|
|
309
|
+
this.states.set(scene, stateArray);
|
|
310
|
+
}
|
|
311
|
+
let renderState = stateArray[renderCallDepth];
|
|
312
|
+
if (renderState === undefined) {
|
|
313
|
+
renderState = new RendererRenderState();
|
|
314
|
+
stateArray[renderCallDepth] = renderState;
|
|
315
|
+
}
|
|
316
|
+
return renderState;
|
|
317
|
+
}
|
|
318
|
+
dispose() {
|
|
319
|
+
this.states = new WeakMap();
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
exports.RendererRenderStatesState = RendererRenderStatesState;
|
|
323
|
+
function collectCompileMaterials(scene) {
|
|
324
|
+
const materials = new Set();
|
|
325
|
+
collectObjectCompileMaterials(scene, materials, 'Renderer.compile scene');
|
|
326
|
+
return materials;
|
|
327
|
+
}
|
|
328
|
+
function collectObjectCompileMaterials(object, materials, label) {
|
|
329
|
+
if (isCompileRenderableObject(object) && object.material != null) {
|
|
330
|
+
if (Array.isArray(object.material)) {
|
|
331
|
+
for (let i = 0; i < object.material.length; i += 1) {
|
|
332
|
+
addCompileMaterial(object.material[i], materials, `${label}.material[${i}]`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
addCompileMaterial(object.material, materials, `${label}.material`);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
const children = object.children ?? [];
|
|
340
|
+
for (let i = 0; i < children.length; i += 1) {
|
|
341
|
+
collectObjectCompileMaterials(children[i], materials, `${label}.children[${i}]`);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
function isCompileRenderableObject(object) {
|
|
345
|
+
return object.isMesh === true
|
|
346
|
+
|| object.isPoints === true
|
|
347
|
+
|| object.isLine === true
|
|
348
|
+
|| object.isLineSegments === true
|
|
349
|
+
|| object.isLineLoop === true
|
|
350
|
+
|| object.isSprite === true;
|
|
351
|
+
}
|
|
352
|
+
function addCompileMaterial(material, materials, label) {
|
|
353
|
+
if (material === null || typeof material !== 'object' || Array.isArray(material)) {
|
|
354
|
+
throw new TypeError(`${label} must be a material-like object.`);
|
|
355
|
+
}
|
|
356
|
+
materials.add(material);
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=index.part-007.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.part-007.js","sourceRoot":"","sources":["../api/index.part-007.ts"],"names":[],"mappings":"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"}
|