1 | import { Nullable } from "@babylonjs/core/types";
|
2 | import { Observable } from "@babylonjs/core/Misc/observable";
|
3 | import { Material } from "@babylonjs/core/Materials/material";
|
4 | import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
|
5 | import { Mesh } from "@babylonjs/core/Meshes/mesh";
|
6 | import { INode, IMaterial } from "../glTFLoaderInterfaces";
|
7 | import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
8 | import { GLTFLoader } from "../glTFLoader";
|
9 | import { IProperty } from 'babylonjs-gltf2interface';
|
10 |
|
11 |
|
12 |
|
13 | export declare class MSFT_lod implements IGLTFLoaderExtension {
|
14 |
|
15 | readonly name = "MSFT_lod";
|
16 |
|
17 | enabled: boolean;
|
18 | |
19 |
|
20 |
|
21 | maxLODsToLoad: number;
|
22 | |
23 |
|
24 |
|
25 |
|
26 |
|
27 | onNodeLODsLoadedObservable: Observable<number>;
|
28 | |
29 |
|
30 |
|
31 |
|
32 |
|
33 | onMaterialLODsLoadedObservable: Observable<number>;
|
34 | private _loader;
|
35 | private _nodeIndexLOD;
|
36 | private _nodeSignalLODs;
|
37 | private _nodePromiseLODs;
|
38 | private _materialIndexLOD;
|
39 | private _materialSignalLODs;
|
40 | private _materialPromiseLODs;
|
41 |
|
42 | constructor(loader: GLTFLoader);
|
43 | /** @hidden */
|
44 | dispose(): void;
|
45 | /** @hidden */
|
46 | onReady(): void;
|
47 | /** @hidden */
|
48 | loadNodeAsync(context: string, node: INode, assign: (babylonTransformNode: TransformNode) => void): Nullable<Promise<TransformNode>>;
|
49 | /** @hidden */
|
50 | _loadMaterialAsync(context: string, material: IMaterial, babylonMesh: Mesh, babylonDrawMode: number, assign: (babylonMaterial: Material) => void): Nullable<Promise<Material>>;
|
51 | /** @hidden */
|
52 | _loadUriAsync(context: string, property: IProperty, uri: string): Nullable<Promise<ArrayBufferView>>;
|
53 | /**
|
54 | * Gets an array of LOD properties from lowest to highest.
|
55 | */
|
56 | private _getLODs;
|
57 | private _disposeUnusedMaterials;
|
58 | }
|