@galacean/engine-core 0.9.0 → 1.0.0-beta.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/dist/main.js +6175 -4776
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +6175 -4776
- package/dist/module.js +6167 -4772
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/atlas/SpriteAtlas.d.ts +2 -6
- package/types/2d/data/VertexData2D.d.ts +1 -0
- package/types/2d/enums/SpriteDrawMode.d.ts +4 -2
- package/types/2d/enums/SpriteTileMode.d.ts +11 -0
- package/types/2d/index.d.ts +1 -0
- package/types/2d/sprite/Sprite.d.ts +2 -6
- package/types/2d/sprite/SpriteMask.d.ts +4 -4
- package/types/2d/sprite/SpriteRenderer.d.ts +18 -1
- package/types/2d/text/Font.d.ts +2 -7
- package/types/2d/text/TextRenderer.d.ts +4 -0
- package/types/2d/text/index.d.ts +1 -0
- package/types/Camera.d.ts +28 -2
- package/types/Component.d.ts +0 -8
- package/types/ComponentsDependencies.d.ts +17 -9
- package/types/Engine.d.ts +31 -39
- package/types/RenderPipeline/Basic2DBatcher.d.ts +6 -7
- package/types/RenderPipeline/BasicRenderPipeline.d.ts +8 -6
- package/types/RenderPipeline/MeshRenderData.d.ts +15 -0
- package/types/RenderPipeline/RenderData.d.ts +7 -0
- package/types/RenderPipeline/RenderElement.d.ts +5 -7
- package/types/RenderPipeline/RenderPass.d.ts +1 -1
- package/types/RenderPipeline/RenderQueue.d.ts +3 -5
- package/types/RenderPipeline/SpriteMaskBatcher.d.ts +4 -3
- package/types/RenderPipeline/SpriteMaskRenderData.d.ts +10 -0
- package/types/RenderPipeline/SpriteRenderData.d.ts +12 -0
- package/types/RenderPipeline/TextRenderData.d.ts +6 -0
- package/types/RenderPipeline/enums/PipelineStage.d.ts +9 -0
- package/types/RenderPipeline/index.d.ts +4 -0
- package/types/Renderer.d.ts +2 -2
- package/types/Scene.d.ts +2 -0
- package/types/Script.d.ts +18 -15
- package/types/Transform.d.ts +9 -12
- package/types/Utils.d.ts +28 -0
- package/types/animation/AnimationClip.d.ts +2 -1
- package/types/asset/AssetType.d.ts +16 -16
- package/types/asset/ContentRestorer.d.ts +17 -0
- package/types/asset/GraphicsResource.d.ts +9 -0
- package/types/asset/IReferable.d.ts +2 -0
- package/types/asset/{RefObject.d.ts → ReferResource.d.ts} +5 -5
- package/types/asset/ResourceManager.d.ts +17 -9
- package/types/base/Constant.d.ts +2 -1
- package/types/base/EngineObject.d.ts +1 -0
- package/types/base/EventDispatcher.d.ts +1 -14
- package/types/base/Time.d.ts +27 -24
- package/types/base/index.d.ts +0 -2
- package/types/graphic/Buffer.d.ts +5 -9
- package/types/graphic/Mesh.d.ts +4 -5
- package/types/index.d.ts +8 -7
- package/types/input/InputManager.d.ts +1 -1
- package/types/input/interface/IInput.d.ts +1 -1
- package/types/lighting/DirectLight.d.ts +0 -1
- package/types/lighting/SpotLight.d.ts +0 -1
- package/types/material/BaseMaterial.d.ts +8 -8
- package/types/material/Material.d.ts +3 -7
- package/types/mesh/BlendShape.d.ts +1 -1
- package/types/mesh/BlendShapeFrame.d.ts +28 -6
- package/types/mesh/ModelMesh.d.ts +5 -5
- package/types/mesh/PrimitiveMesh.d.ts +4 -2
- package/types/mesh/PrimitiveMeshRestorer.d.ts +1 -0
- package/types/mesh/SkinnedMeshRenderer.d.ts +0 -1
- package/types/particle/ParticleRenderer.d.ts +2 -2
- package/types/physics/Collider.d.ts +1 -1
- package/types/physics/Collision.d.ts +4 -0
- package/types/physics/PhysicsManager.d.ts +1 -20
- package/types/physics/joint/Joint.d.ts +2 -2
- package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +8 -0
- package/types/renderingHardwareInterface/index.d.ts +1 -0
- package/types/shader/Shader.d.ts +32 -23
- package/types/shader/ShaderData.d.ts +24 -24
- package/types/shader/ShaderMacro.d.ts +16 -0
- package/types/shader/ShaderPart.d.ts +41 -0
- package/types/shader/ShaderPass.d.ts +9 -2
- package/types/shader/ShaderProperty.d.ts +7 -0
- package/types/shader/ShaderTagKey.d.ts +16 -0
- package/types/shader/SubShader.d.ts +19 -0
- package/types/shader/index.d.ts +4 -1
- package/types/shadow/CascadedShadowCasterPass.d.ts +0 -1
- package/types/sky/SkyBoxMaterial.d.ts +30 -9
- package/types/sky/SkyProceduralMaterial.d.ts +72 -0
- package/types/sky/index.d.ts +1 -0
- package/types/texture/RenderTarget.d.ts +4 -4
- package/types/texture/Texture.d.ts +2 -6
- package/types/texture/Texture2DArray.d.ts +4 -0
- package/types/texture/TextureCube.d.ts +4 -0
- package/types/RenderPipeline/MeshRenderElement.d.ts +0 -17
- package/types/RenderPipeline/SpriteElement.d.ts +0 -13
- package/types/RenderPipeline/SpriteMaskElement.d.ts +0 -10
- package/types/RenderPipeline/TextRenderElement.d.ts +0 -6
- package/types/asset/IRefObject.d.ts +0 -2
- package/types/base/Event.d.ts +0 -24
- package/types/base/Util.d.ts +0 -14
- /package/types/2d/{data/RenderData2D.d.ts → assembler/TiledSpriteAssembler.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galacean/engine-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-beta.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"types/**/*"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@galacean/engine-math": "0.
|
|
18
|
+
"@galacean/engine-math": "1.0.0-beta.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@galacean/engine-design": "0.
|
|
21
|
+
"@galacean/engine-design": "1.0.0-beta.0"
|
|
22
22
|
},
|
|
23
23
|
"scripts": {
|
|
24
24
|
"b:types": "tsc"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReferResource } from "../../asset/ReferResource";
|
|
2
2
|
import { Engine } from "../../Engine";
|
|
3
3
|
import { Sprite } from "../sprite/Sprite";
|
|
4
4
|
/**
|
|
5
5
|
* Sprite Atlas.
|
|
6
6
|
*/
|
|
7
|
-
export declare class SpriteAtlas extends
|
|
7
|
+
export declare class SpriteAtlas extends ReferResource {
|
|
8
8
|
private _sprites;
|
|
9
9
|
private _spriteNamesToIndex;
|
|
10
10
|
/**
|
|
@@ -29,8 +29,4 @@ export declare class SpriteAtlas extends RefObject {
|
|
|
29
29
|
* @param engine - Engine to which the SpriteAtlas belongs
|
|
30
30
|
*/
|
|
31
31
|
constructor(engine: Engine);
|
|
32
|
-
/**
|
|
33
|
-
* @override
|
|
34
|
-
*/
|
|
35
|
-
_onDestroy(): void;
|
|
36
32
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
export declare enum SpriteDrawMode {
|
|
5
5
|
/** Overall scaling when modifying size. */
|
|
6
6
|
Simple = 0,
|
|
7
|
-
/** When modifying the size, it
|
|
8
|
-
Sliced = 1
|
|
7
|
+
/** When modifying the size of the renderer, it scales to fill the range according to the sprite border settings. */
|
|
8
|
+
Sliced = 1,
|
|
9
|
+
/** When modifying the size of the renderer, it will tile to fill the range according to the sprite border settings. */
|
|
10
|
+
Tiled = 2
|
|
9
11
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sprite's tiling mode enumeration.
|
|
3
|
+
* Only works in `SpriteDrawMode.tiled` mode.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum SpriteTileMode {
|
|
6
|
+
/** SpriteRenderer will tile continuously. */
|
|
7
|
+
Continuous = 0,
|
|
8
|
+
/** When the fractional part of the tiling multiple is greater than or equal to `SpriteRenderer.tileStretchValue`,
|
|
9
|
+
* a tile will be added,and the number of tiles can only be an integer. */
|
|
10
|
+
Adaptive = 1
|
|
11
|
+
}
|
package/types/2d/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export { OverflowMode } from "./enums/TextOverflow";
|
|
|
5
5
|
export { FontStyle } from "./enums/FontStyle";
|
|
6
6
|
export { SpriteAtlas } from "./atlas/SpriteAtlas";
|
|
7
7
|
export { SpriteDrawMode } from "./enums/SpriteDrawMode";
|
|
8
|
+
export { SpriteTileMode } from "./enums/SpriteTileMode";
|
|
8
9
|
export * from "./sprite/index";
|
|
9
10
|
export * from "./text/index";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Rect, Vector2, Vector4 } from "@galacean/engine-math";
|
|
2
|
-
import {
|
|
2
|
+
import { ReferResource } from "../../asset/ReferResource";
|
|
3
3
|
import { Engine } from "../../Engine";
|
|
4
4
|
import { Texture2D } from "../../texture/Texture2D";
|
|
5
5
|
/**
|
|
6
6
|
* 2D sprite.
|
|
7
7
|
*/
|
|
8
|
-
export declare class Sprite extends
|
|
8
|
+
export declare class Sprite extends ReferResource {
|
|
9
9
|
/** The name of sprite. */
|
|
10
10
|
name: string;
|
|
11
11
|
private _width;
|
|
@@ -86,10 +86,6 @@ export declare class Sprite extends RefObject {
|
|
|
86
86
|
* @returns Cloned sprite
|
|
87
87
|
*/
|
|
88
88
|
clone(): Sprite;
|
|
89
|
-
/**
|
|
90
|
-
* @override
|
|
91
|
-
*/
|
|
92
|
-
_onDestroy(): void;
|
|
93
89
|
private _calDefaultSize;
|
|
94
90
|
private _updatePositions;
|
|
95
91
|
private _updateUVs;
|
|
@@ -47,17 +47,17 @@ export declare class SpriteMask extends Renderer implements ICustomClone {
|
|
|
47
47
|
set alphaCutoff(value: number);
|
|
48
48
|
/**
|
|
49
49
|
* @override
|
|
50
|
-
* @inheritdoc
|
|
51
50
|
*/
|
|
52
|
-
|
|
51
|
+
protected _updateBounds(worldBounds: BoundingBox): void;
|
|
53
52
|
/**
|
|
54
53
|
* @override
|
|
54
|
+
* @inheritdoc
|
|
55
55
|
*/
|
|
56
|
-
protected
|
|
56
|
+
protected _render(context: RenderContext): void;
|
|
57
57
|
/**
|
|
58
58
|
* @override
|
|
59
59
|
* @inheritdoc
|
|
60
60
|
*/
|
|
61
|
-
protected
|
|
61
|
+
protected _onDestroy(): void;
|
|
62
62
|
private _onSpriteChange;
|
|
63
63
|
}
|
|
@@ -4,6 +4,7 @@ import { Renderer } from "../../Renderer";
|
|
|
4
4
|
import { RenderContext } from "../../RenderPipeline/RenderContext";
|
|
5
5
|
import { SpriteDrawMode } from "../enums/SpriteDrawMode";
|
|
6
6
|
import { SpriteMaskInteraction } from "../enums/SpriteMaskInteraction";
|
|
7
|
+
import { SpriteTileMode } from "../enums/SpriteTileMode";
|
|
7
8
|
import { Sprite } from "./Sprite";
|
|
8
9
|
/**
|
|
9
10
|
* Renders a Sprite for 2D graphics.
|
|
@@ -11,6 +12,8 @@ import { Sprite } from "./Sprite";
|
|
|
11
12
|
export declare class SpriteRenderer extends Renderer implements ICustomClone {
|
|
12
13
|
private _drawMode;
|
|
13
14
|
private _assembler;
|
|
15
|
+
private _tileMode;
|
|
16
|
+
private _tiledAdaptiveThreshold;
|
|
14
17
|
private _color;
|
|
15
18
|
private _sprite;
|
|
16
19
|
private _width;
|
|
@@ -23,7 +26,17 @@ export declare class SpriteRenderer extends Renderer implements ICustomClone {
|
|
|
23
26
|
* The draw mode of the sprite renderer.
|
|
24
27
|
*/
|
|
25
28
|
get drawMode(): SpriteDrawMode;
|
|
26
|
-
set drawMode(
|
|
29
|
+
set drawMode(value: SpriteDrawMode);
|
|
30
|
+
/**
|
|
31
|
+
* The tiling mode of the sprite renderer. (Only works in tiled mode.)
|
|
32
|
+
*/
|
|
33
|
+
get tileMode(): SpriteTileMode;
|
|
34
|
+
set tileMode(value: SpriteTileMode);
|
|
35
|
+
/**
|
|
36
|
+
* Stretch Threshold in Tile Adaptive Mode, specified in normalized. (Only works in tiled adaptive mode.)
|
|
37
|
+
*/
|
|
38
|
+
get tiledAdaptiveThreshold(): number;
|
|
39
|
+
set tiledAdaptiveThreshold(value: number);
|
|
27
40
|
/**
|
|
28
41
|
* The Sprite to render.
|
|
29
42
|
*/
|
|
@@ -64,6 +77,10 @@ export declare class SpriteRenderer extends Renderer implements ICustomClone {
|
|
|
64
77
|
*/
|
|
65
78
|
get maskInteraction(): SpriteMaskInteraction;
|
|
66
79
|
set maskInteraction(value: SpriteMaskInteraction);
|
|
80
|
+
/**
|
|
81
|
+
* @override
|
|
82
|
+
*/
|
|
83
|
+
protected _updateShaderData(context: RenderContext): void;
|
|
67
84
|
/**
|
|
68
85
|
* @override
|
|
69
86
|
*/
|
package/types/2d/text/Font.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReferResource } from "../../asset/ReferResource";
|
|
2
2
|
import { Engine } from "../../Engine";
|
|
3
3
|
/**
|
|
4
4
|
* Font.
|
|
5
5
|
*/
|
|
6
|
-
export declare class Font extends
|
|
7
|
-
private static _fontMap;
|
|
6
|
+
export declare class Font extends ReferResource {
|
|
8
7
|
/**
|
|
9
8
|
* Create a system font.
|
|
10
9
|
* @param engine - Engine to which the font belongs
|
|
@@ -19,8 +18,4 @@ export declare class Font extends RefObject {
|
|
|
19
18
|
*/
|
|
20
19
|
get name(): string;
|
|
21
20
|
constructor(engine: Engine, name?: string);
|
|
22
|
-
/**
|
|
23
|
-
* @override
|
|
24
|
-
*/
|
|
25
|
-
_onDestroy(): void;
|
|
26
21
|
}
|
|
@@ -107,6 +107,10 @@ export declare class TextRenderer extends Renderer implements ICustomClone {
|
|
|
107
107
|
*/
|
|
108
108
|
get bounds(): BoundingBox;
|
|
109
109
|
constructor(entity: Entity);
|
|
110
|
+
/**
|
|
111
|
+
* @override
|
|
112
|
+
*/
|
|
113
|
+
protected _updateShaderData(context: RenderContext): void;
|
|
110
114
|
/**
|
|
111
115
|
* @override
|
|
112
116
|
*/
|
package/types/2d/text/index.d.ts
CHANGED
package/types/Camera.d.ts
CHANGED
|
@@ -2,12 +2,14 @@ import { Matrix, Ray, Vector2, Vector3, Vector4 } from "@galacean/engine-math";
|
|
|
2
2
|
import { Component } from "./Component";
|
|
3
3
|
import { CameraClearFlags } from "./enums/CameraClearFlags";
|
|
4
4
|
import { Layer } from "./Layer";
|
|
5
|
+
import { Shader } from "./shader/Shader";
|
|
5
6
|
import { ShaderData } from "./shader/ShaderData";
|
|
7
|
+
import { ShaderTagKey } from "./shader/ShaderTagKey";
|
|
6
8
|
import { TextureCubeFace } from "./texture/enums/TextureCubeFace";
|
|
7
9
|
import { RenderTarget } from "./texture/RenderTarget";
|
|
8
10
|
/**
|
|
9
11
|
* Camera component, as the entrance to the three-dimensional world.
|
|
10
|
-
* @decorator `@dependentComponents(Transform)`
|
|
12
|
+
* @decorator `@dependentComponents(Transform, DependentMode.CheckOnly)`
|
|
11
13
|
*/
|
|
12
14
|
export declare class Camera extends Component {
|
|
13
15
|
/** Shader data. */
|
|
@@ -177,6 +179,30 @@ export declare class Camera extends Component {
|
|
|
177
179
|
* @param mipLevel - Set mip level the data want to write, only take effect in webgl2.0
|
|
178
180
|
*/
|
|
179
181
|
render(cubeFace?: TextureCubeFace, mipLevel?: number): void;
|
|
182
|
+
/**
|
|
183
|
+
* Set the replacement shader.
|
|
184
|
+
* @param shader - Replacement shader
|
|
185
|
+
* @param replacementTagName - Sub shader tag name
|
|
186
|
+
*
|
|
187
|
+
* @remarks
|
|
188
|
+
* If replacementTagName is not specified, the first sub shader will be replaced.
|
|
189
|
+
* If replacementTagName is specified, the replacement shader will find the first sub shader which has the same tag value get by replacementTagKey.
|
|
190
|
+
*/
|
|
191
|
+
setReplacementShader(shader: Shader, replacementTagName?: string): any;
|
|
192
|
+
/**
|
|
193
|
+
* Set the replacement shader.
|
|
194
|
+
* @param shader - Replacement shader
|
|
195
|
+
* @param replacementTag - Sub shader tag
|
|
196
|
+
*
|
|
197
|
+
* @remarks
|
|
198
|
+
* If replacementTag is not specified, the first sub shader will be replaced.
|
|
199
|
+
* If replacementTag is specified, the replacement shader will find the first sub shader which has the same tag value get by replacementTagKey.
|
|
200
|
+
*/
|
|
201
|
+
setReplacementShader(shader: Shader, replacementTag?: ShaderTagKey): any;
|
|
202
|
+
/**
|
|
203
|
+
* Reset and clear the replacement shader.
|
|
204
|
+
*/
|
|
205
|
+
resetReplacementShader(): void;
|
|
180
206
|
/**
|
|
181
207
|
* @override
|
|
182
208
|
* @inheritdoc
|
|
@@ -191,7 +217,7 @@ export declare class Camera extends Component {
|
|
|
191
217
|
* @override
|
|
192
218
|
* @inheritdoc
|
|
193
219
|
*/
|
|
194
|
-
_onDestroy(): void;
|
|
220
|
+
protected _onDestroy(): void;
|
|
195
221
|
private _projMatChange;
|
|
196
222
|
private _innerViewportToWorldPoint;
|
|
197
223
|
private _updateShaderData;
|
package/types/Component.d.ts
CHANGED
|
@@ -12,10 +12,6 @@ export declare class Component extends EngineObject {
|
|
|
12
12
|
*/
|
|
13
13
|
get enabled(): boolean;
|
|
14
14
|
set enabled(value: boolean);
|
|
15
|
-
/**
|
|
16
|
-
* Indicates whether the component is destroyed.
|
|
17
|
-
*/
|
|
18
|
-
get destroyed(): boolean;
|
|
19
15
|
/**
|
|
20
16
|
* The entity which the component belongs to.
|
|
21
17
|
*/
|
|
@@ -25,8 +21,4 @@ export declare class Component extends EngineObject {
|
|
|
25
21
|
*/
|
|
26
22
|
get scene(): Scene;
|
|
27
23
|
constructor(entity: Entity);
|
|
28
|
-
/**
|
|
29
|
-
* Destroy this instance.
|
|
30
|
-
*/
|
|
31
|
-
destroy(): void;
|
|
32
24
|
}
|
|
@@ -2,16 +2,24 @@ import { Component } from "./Component";
|
|
|
2
2
|
import { Entity } from "./Entity";
|
|
3
3
|
type ComponentConstructor = new (entity: Entity) => Component;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Declare dependent component.
|
|
6
|
+
* @param component - Dependent component
|
|
7
|
+
* @param dependentMode - Dependent mode
|
|
6
8
|
*/
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
export declare function dependentComponents(component: ComponentConstructor, dependentMode?: DependentMode): any;
|
|
10
|
+
/**
|
|
11
|
+
* Declare dependent components.
|
|
12
|
+
* @param components - Dependent components
|
|
13
|
+
* @param dependentMode - Dependent mode
|
|
14
|
+
*/
|
|
15
|
+
export declare function dependentComponents(components: ComponentConstructor[], dependentMode?: DependentMode): any;
|
|
12
16
|
/**
|
|
13
|
-
* Dependent
|
|
14
|
-
* @param components - Dependent components
|
|
17
|
+
* Dependent mode.
|
|
15
18
|
*/
|
|
16
|
-
export declare
|
|
19
|
+
export declare enum DependentMode {
|
|
20
|
+
/** Check only, throw error if dependent components do not exist. */
|
|
21
|
+
CheckOnly = 0,
|
|
22
|
+
/** Auto add if dependent components do not exist. */
|
|
23
|
+
AutoAdd = 1
|
|
24
|
+
}
|
|
17
25
|
export {};
|
package/types/Engine.d.ts
CHANGED
|
@@ -1,43 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IPhysics } from "@galacean/engine-design";
|
|
2
2
|
import { ResourceManager } from "./asset/ResourceManager";
|
|
3
3
|
import { EventDispatcher, Time } from "./base";
|
|
4
4
|
import { Canvas } from "./Canvas";
|
|
5
|
-
import { ComponentsManager } from "./ComponentsManager";
|
|
6
5
|
import { EngineSettings } from "./EngineSettings";
|
|
7
6
|
import { Entity } from "./Entity";
|
|
7
|
+
import { ColorSpace } from "./enums/ColorSpace";
|
|
8
8
|
import { InputManager } from "./input";
|
|
9
|
-
import { LightManager } from "./lighting/LightManager";
|
|
10
|
-
import { Material } from "./material/Material";
|
|
11
9
|
import { PhysicsManager } from "./physics";
|
|
12
10
|
import { IHardwareRenderer } from "./renderingHardwareInterface";
|
|
13
|
-
import { ClassPool } from "./RenderPipeline/ClassPool";
|
|
14
|
-
import { MeshRenderElement } from "./RenderPipeline/MeshRenderElement";
|
|
15
|
-
import { RenderContext } from "./RenderPipeline/RenderContext";
|
|
16
|
-
import { SpriteElement } from "./RenderPipeline/SpriteElement";
|
|
17
|
-
import { SpriteMaskElement } from "./RenderPipeline/SpriteMaskElement";
|
|
18
|
-
import { TextRenderElement } from "./RenderPipeline/TextRenderElement";
|
|
19
|
-
import { Scene } from "./Scene";
|
|
20
11
|
import { SceneManager } from "./SceneManager";
|
|
21
|
-
import { RenderState } from "./shader/state/RenderState";
|
|
22
12
|
/**
|
|
23
13
|
* Engine.
|
|
24
14
|
*/
|
|
25
15
|
export declare class Engine extends EventDispatcher {
|
|
26
16
|
/** Physics manager of Engine. */
|
|
27
17
|
readonly physicsManager: PhysicsManager;
|
|
18
|
+
/** Input manager of Engine. */
|
|
28
19
|
readonly inputManager: InputManager;
|
|
29
|
-
_lightManager: LightManager;
|
|
30
|
-
_componentsManager: ComponentsManager;
|
|
31
|
-
_hardwareRenderer: IHardwareRenderer;
|
|
32
|
-
_lastRenderState: RenderState;
|
|
33
|
-
_renderElementPool: ClassPool<MeshRenderElement>;
|
|
34
|
-
_spriteElementPool: ClassPool<SpriteElement>;
|
|
35
|
-
_spriteMaskElementPool: ClassPool<SpriteMaskElement>;
|
|
36
|
-
_textElementPool: ClassPool<TextRenderElement>;
|
|
37
|
-
_spriteDefaultMaterial: Material;
|
|
38
|
-
_spriteMaskDefaultMaterial: Material;
|
|
39
|
-
_textDefaultFont: Font;
|
|
40
|
-
_renderContext: RenderContext;
|
|
41
20
|
protected _canvas: Canvas;
|
|
42
21
|
private _settings;
|
|
43
22
|
private _resourceManager;
|
|
@@ -52,7 +31,8 @@ export declare class Engine extends EventDispatcher {
|
|
|
52
31
|
private _targetFrameInterval;
|
|
53
32
|
private _destroyed;
|
|
54
33
|
private _frameInProcess;
|
|
55
|
-
private
|
|
34
|
+
private _waitingDestroy;
|
|
35
|
+
private _isDeviceLost;
|
|
56
36
|
private _animate;
|
|
57
37
|
/**
|
|
58
38
|
* Settings of Engine.
|
|
@@ -63,15 +43,15 @@ export declare class Engine extends EventDispatcher {
|
|
|
63
43
|
*/
|
|
64
44
|
get canvas(): Canvas;
|
|
65
45
|
/**
|
|
66
|
-
*
|
|
46
|
+
* The resource manager.
|
|
67
47
|
*/
|
|
68
48
|
get resourceManager(): ResourceManager;
|
|
69
49
|
/**
|
|
70
|
-
*
|
|
50
|
+
* The scene manager.
|
|
71
51
|
*/
|
|
72
52
|
get sceneManager(): SceneManager;
|
|
73
53
|
/**
|
|
74
|
-
*
|
|
54
|
+
* The time information of the engine.
|
|
75
55
|
*/
|
|
76
56
|
get time(): Time;
|
|
77
57
|
/**
|
|
@@ -96,13 +76,7 @@ export declare class Engine extends EventDispatcher {
|
|
|
96
76
|
* Indicates whether the engine is destroyed.
|
|
97
77
|
*/
|
|
98
78
|
get destroyed(): boolean;
|
|
99
|
-
|
|
100
|
-
* Create engine.
|
|
101
|
-
* @param canvas - The canvas to use for rendering
|
|
102
|
-
* @param hardwareRenderer - Graphics API renderer
|
|
103
|
-
* @param settings - Engine Settings
|
|
104
|
-
*/
|
|
105
|
-
constructor(canvas: Canvas, hardwareRenderer: IHardwareRenderer, settings?: EngineSettings);
|
|
79
|
+
protected constructor(canvas: Canvas, hardwareRenderer: IHardwareRenderer, configuration: EngineConfiguration);
|
|
106
80
|
/**
|
|
107
81
|
* Create an entity.
|
|
108
82
|
* @param name - The name of the entity
|
|
@@ -125,16 +99,34 @@ export declare class Engine extends EventDispatcher {
|
|
|
125
99
|
* Execution engine loop.
|
|
126
100
|
*/
|
|
127
101
|
run(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Force lose graphic device.
|
|
104
|
+
* @remarks Used to simulate the phenomenon after the real loss of device.
|
|
105
|
+
*/
|
|
106
|
+
forceLoseDevice(): void;
|
|
107
|
+
/**
|
|
108
|
+
* Force restore graphic device.
|
|
109
|
+
* @remarks Used to simulate the phenomenon after the real restore of device.
|
|
110
|
+
*/
|
|
111
|
+
forceRestoreDevice(): void;
|
|
128
112
|
private _destroy;
|
|
129
113
|
/**
|
|
130
114
|
* Destroy engine.
|
|
131
115
|
* @remarks If call during frame execution will delay until the end of the frame
|
|
132
116
|
*/
|
|
133
117
|
destroy(): void;
|
|
134
|
-
|
|
135
|
-
* @intenral
|
|
136
|
-
*/
|
|
137
|
-
_render(scene: Scene): void;
|
|
118
|
+
protected _initialize(configuration: EngineConfiguration): Promise<Engine>;
|
|
138
119
|
private _createSpriteMaterial;
|
|
139
120
|
private _createSpriteMaskMaterial;
|
|
121
|
+
private _onDeviceLost;
|
|
122
|
+
private _onDeviceRestored;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Engine configuration.
|
|
126
|
+
*/
|
|
127
|
+
export interface EngineConfiguration {
|
|
128
|
+
/** Physics. */
|
|
129
|
+
physics?: IPhysics;
|
|
130
|
+
/** Color space. */
|
|
131
|
+
colorSpace?: ColorSpace;
|
|
140
132
|
}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { Camera } from "../Camera";
|
|
2
2
|
import { Engine } from "../Engine";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { SpriteMaskElement } from "./SpriteMaskElement";
|
|
6
|
-
import { TextRenderElement } from "./TextRenderElement";
|
|
3
|
+
import { ShaderTagKey } from "../shader/ShaderTagKey";
|
|
4
|
+
import { RenderElement } from "./RenderElement";
|
|
7
5
|
export declare abstract class Basic2DBatcher {
|
|
6
|
+
protected static _disableBatchTag: ShaderTagKey;
|
|
8
7
|
/** The maximum number of vertex. */
|
|
9
8
|
static MAX_VERTEX_COUNT: number;
|
|
10
9
|
static _canUploadSameBuffer: boolean;
|
|
11
10
|
constructor(engine: Engine);
|
|
12
|
-
drawElement(element:
|
|
13
|
-
|
|
14
|
-
flush(camera: Camera, replaceMaterial: Material): void;
|
|
11
|
+
drawElement(element: RenderElement, camera: Camera): void;
|
|
12
|
+
flush(camera: Camera): void;
|
|
15
13
|
clear(): void;
|
|
16
14
|
destroy(): void;
|
|
15
|
+
private _drawSubElement;
|
|
17
16
|
private _createMesh;
|
|
18
17
|
private _updateData;
|
|
19
18
|
private _getSubMeshFromPool;
|
|
@@ -3,14 +3,14 @@ import { Layer } from "../Layer";
|
|
|
3
3
|
import { Material } from "../material";
|
|
4
4
|
import { RenderTarget, TextureCubeFace } from "../texture";
|
|
5
5
|
import { RenderContext } from "./RenderContext";
|
|
6
|
-
import {
|
|
6
|
+
import { RenderData } from "./RenderData";
|
|
7
7
|
import { RenderPass } from "./RenderPass";
|
|
8
8
|
/**
|
|
9
9
|
* Basic render pipeline.
|
|
10
10
|
*/
|
|
11
11
|
export declare class BasicRenderPipeline {
|
|
12
|
-
private static
|
|
13
|
-
private static
|
|
12
|
+
private static _shadowCasterPipelineStageTagValue;
|
|
13
|
+
private static _forwardPipelineStageTagValue;
|
|
14
14
|
private _camera;
|
|
15
15
|
private _defaultPass;
|
|
16
16
|
private _renderPassArray;
|
|
@@ -57,10 +57,12 @@ export declare class BasicRenderPipeline {
|
|
|
57
57
|
render(context: RenderContext, cubeFace?: TextureCubeFace, mipLevel?: number): void;
|
|
58
58
|
private _drawRenderPass;
|
|
59
59
|
/**
|
|
60
|
-
* Push
|
|
61
|
-
* @param
|
|
60
|
+
* Push render data to render queue.
|
|
61
|
+
* @param context - Render context
|
|
62
|
+
* @param data - Render data
|
|
62
63
|
*/
|
|
63
|
-
|
|
64
|
+
pushRenderData(context: RenderContext, data: RenderData): void;
|
|
65
|
+
private pushRenderDataWihShader;
|
|
64
66
|
private _drawBackgroundTexture;
|
|
65
67
|
private _callRender;
|
|
66
68
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Mesh } from "../graphic/Mesh";
|
|
2
|
+
import { SubMesh } from "../graphic/SubMesh";
|
|
3
|
+
import { Material } from "../material/Material";
|
|
4
|
+
import { Renderer } from "../Renderer";
|
|
5
|
+
import { RenderData } from "./RenderData";
|
|
6
|
+
/**
|
|
7
|
+
* Render element.
|
|
8
|
+
*/
|
|
9
|
+
export declare class MeshRenderData extends RenderData {
|
|
10
|
+
/** Mesh. */
|
|
11
|
+
mesh: Mesh;
|
|
12
|
+
/** Sub mesh. */
|
|
13
|
+
subMesh: SubMesh;
|
|
14
|
+
set(component: Renderer, material: Material, mesh: Mesh, subMesh: SubMesh): void;
|
|
15
|
+
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Renderer } from "../Renderer";
|
|
3
|
-
import { ShaderPass } from "../shader";
|
|
1
|
+
import { ShaderPass } from "../shader/ShaderPass";
|
|
4
2
|
import { RenderState } from "../shader/state/RenderState";
|
|
3
|
+
import { RenderData } from "./RenderData";
|
|
5
4
|
export declare class RenderElement {
|
|
6
|
-
|
|
7
|
-
material: Material;
|
|
8
|
-
multiRenderData: boolean;
|
|
9
|
-
renderState: RenderState;
|
|
5
|
+
data: RenderData;
|
|
10
6
|
shaderPass: ShaderPass;
|
|
7
|
+
renderState: RenderState;
|
|
8
|
+
set(data: RenderData, shaderPass: ShaderPass, renderState: RenderState): void;
|
|
11
9
|
}
|
|
@@ -23,7 +23,7 @@ declare class RenderPass {
|
|
|
23
23
|
* @param name - Pass name
|
|
24
24
|
* @param priority - Priority, less than 0 before the default pass, greater than 0 after the default pass
|
|
25
25
|
* @param renderTarget - The specified Render Target
|
|
26
|
-
* @param replaceMaterial -
|
|
26
|
+
* @param replaceMaterial - Replaced material
|
|
27
27
|
* @param mask - Perform bit and operations with Entity.Layer to filter the objects that this Pass needs to render
|
|
28
28
|
*/
|
|
29
29
|
constructor(name?: string, priority?: number, renderTarget?: any, replaceMaterial?: any, mask?: any);
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { Camera } from "../Camera";
|
|
2
2
|
import { Engine } from "../Engine";
|
|
3
3
|
import { Layer } from "../Layer";
|
|
4
|
-
import { Material } from "../material/Material";
|
|
5
|
-
import { Shader } from "../shader";
|
|
6
4
|
import { RenderElement } from "./RenderElement";
|
|
7
5
|
/**
|
|
8
6
|
* Render queue.
|
|
9
7
|
*/
|
|
10
8
|
export declare class RenderQueue {
|
|
11
|
-
readonly
|
|
9
|
+
readonly elements: RenderElement[];
|
|
12
10
|
private _spriteBatcher;
|
|
13
11
|
constructor(engine: Engine);
|
|
14
12
|
/**
|
|
15
13
|
* Push a render element.
|
|
16
14
|
*/
|
|
17
|
-
|
|
18
|
-
render(camera: Camera,
|
|
15
|
+
pushRenderElement(element: RenderElement): void;
|
|
16
|
+
render(camera: Camera, mask: Layer): void;
|
|
19
17
|
/**
|
|
20
18
|
* Clear collection.
|
|
21
19
|
*/
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Camera } from "../Camera";
|
|
2
2
|
import { VertexElement } from "../graphic/VertexElement";
|
|
3
3
|
import { Basic2DBatcher } from "./Basic2DBatcher";
|
|
4
|
-
import {
|
|
4
|
+
import { RenderElement } from "./RenderElement";
|
|
5
|
+
import { SpriteMaskRenderData } from "./SpriteMaskRenderData";
|
|
5
6
|
export declare class SpriteMaskBatcher extends Basic2DBatcher {
|
|
6
7
|
createVertexElements(vertexElements: VertexElement[]): number;
|
|
7
|
-
canBatch(preElement:
|
|
8
|
-
updateVertices(element:
|
|
8
|
+
canBatch(preElement: RenderElement, curElement: RenderElement): boolean;
|
|
9
|
+
updateVertices(element: SpriteMaskRenderData, vertices: Float32Array, vertexIndex: number): number;
|
|
9
10
|
drawBatches(camera: Camera): void;
|
|
10
11
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VertexData2D } from "../2d/data/VertexData2D";
|
|
2
|
+
import { Material } from "../material/Material";
|
|
3
|
+
import { Renderer } from "../Renderer";
|
|
4
|
+
import { RenderData } from "./RenderData";
|
|
5
|
+
export declare class SpriteMaskRenderData extends RenderData {
|
|
6
|
+
isAdd: boolean;
|
|
7
|
+
verticesData: VertexData2D;
|
|
8
|
+
constructor();
|
|
9
|
+
set(component: Renderer, material: Material, verticesData: VertexData2D): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VertexData2D } from "../2d/data/VertexData2D";
|
|
2
|
+
import { Material } from "../material/Material";
|
|
3
|
+
import { Renderer } from "../Renderer";
|
|
4
|
+
import { Texture2D } from "../texture";
|
|
5
|
+
import { RenderData } from "./RenderData";
|
|
6
|
+
export declare class SpriteRenderData extends RenderData {
|
|
7
|
+
verticesData: VertexData2D;
|
|
8
|
+
texture: Texture2D;
|
|
9
|
+
dataIndex: number;
|
|
10
|
+
constructor();
|
|
11
|
+
set(component: Renderer, material: Material, verticesData: VertexData2D, texture: Texture2D, dataIndex?: number): void;
|
|
12
|
+
}
|