@galacean/engine-core 1.0.0 → 1.1.0-alpha.1
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 +16279 -13113
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +16279 -13113
- package/dist/module.js +16217 -13061
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/assembler/TiledSpriteAssembler.d.ts +1 -0
- 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 +17 -8
- package/types/2d/sprite/SpriteMask.d.ts +16 -22
- package/types/2d/sprite/SpriteRenderer.d.ts +31 -17
- package/types/2d/text/Font.d.ts +2 -7
- package/types/2d/text/TextRenderer.d.ts +1 -13
- package/types/2d/text/index.d.ts +1 -0
- package/types/Camera.d.ts +60 -16
- package/types/Component.d.ts +1 -8
- package/types/ComponentsDependencies.d.ts +17 -9
- package/types/DisorderedArray.d.ts +4 -3
- package/types/Engine.d.ts +43 -46
- package/types/Entity.d.ts +4 -2
- package/types/RenderPipeline/Basic2DBatcher.d.ts +6 -7
- package/types/RenderPipeline/BasicRenderPipeline.d.ts +7 -6
- package/types/RenderPipeline/ClassPool.d.ts +3 -1
- package/types/RenderPipeline/CullingResults.d.ts +1 -0
- package/types/RenderPipeline/DepthOnlyPass.d.ts +1 -0
- package/types/RenderPipeline/IPoolElement.d.ts +3 -0
- package/types/RenderPipeline/MeshRenderData.d.ts +17 -0
- package/types/RenderPipeline/MeshRenderElement.d.ts +3 -1
- package/types/RenderPipeline/PipelinePass.d.ts +16 -0
- package/types/RenderPipeline/PipelineUtils.d.ts +1 -0
- package/types/RenderPipeline/RenderData.d.ts +7 -0
- package/types/RenderPipeline/RenderElement.d.ts +8 -10
- package/types/RenderPipeline/RenderPass.d.ts +1 -1
- package/types/RenderPipeline/RenderQueue.d.ts +3 -5
- package/types/RenderPipeline/SpriteElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteMaskBatcher.d.ts +4 -3
- package/types/RenderPipeline/SpriteMaskElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteMaskRenderData.d.ts +12 -0
- package/types/RenderPipeline/SpriteRenderData.d.ts +14 -0
- package/types/RenderPipeline/TextRenderData.d.ts +8 -0
- package/types/RenderPipeline/TextRenderElement.d.ts +3 -1
- package/types/RenderPipeline/enums/PipelineStage.d.ts +11 -0
- package/types/RenderPipeline/index.d.ts +4 -0
- package/types/Renderer.d.ts +10 -15
- package/types/Scene.d.ts +16 -9
- package/types/SceneManager.d.ts +28 -5
- 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/animation/Animator.d.ts +5 -4
- package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +0 -1
- package/types/animation/enums/LayerState.d.ts +3 -1
- package/types/animation/internal/AnimationCurveLayerOwner.d.ts +1 -0
- package/types/asset/AssetType.d.ts +18 -16
- package/types/asset/ContentRestorer.d.ts +17 -0
- package/types/asset/GraphicsResource.d.ts +5 -0
- package/types/asset/IReferable.d.ts +2 -0
- package/types/asset/LoadItem.d.ts +16 -9
- package/types/asset/Loader.d.ts +3 -1
- package/types/asset/ReferResource.d.ts +22 -0
- package/types/asset/ResourceManager.d.ts +17 -11
- package/types/asset/request.d.ts +7 -3
- package/types/base/Constant.d.ts +3 -1
- package/types/base/EngineObject.d.ts +1 -0
- package/types/base/EventDispatcher.d.ts +2 -15
- package/types/base/Time.d.ts +27 -24
- package/types/base/index.d.ts +0 -2
- package/types/clone/ComponentCloner.d.ts +2 -1
- package/types/enums/ActiveChangeFlag.d.ts +6 -0
- package/types/enums/DepthTextureMode.d.ts +7 -0
- package/types/env-probe/CubeProbe.d.ts +0 -7
- package/types/env-probe/Probe.d.ts +0 -6
- package/types/graphic/Buffer.d.ts +25 -16
- package/types/graphic/BufferUtil.d.ts +1 -0
- package/types/graphic/Mesh.d.ts +5 -16
- package/types/graphic/SubMesh.d.ts +3 -1
- package/types/graphic/VertexElement.d.ts +10 -6
- package/types/index.d.ts +9 -7
- package/types/input/InputManager.d.ts +3 -3
- package/types/input/interface/IInput.d.ts +1 -1
- package/types/lighting/AmbientLight.d.ts +4 -1
- package/types/lighting/DirectLight.d.ts +0 -1
- package/types/lighting/Light.d.ts +0 -1
- package/types/lighting/LightManager.d.ts +1 -0
- package/types/lighting/SpotLight.d.ts +0 -1
- package/types/material/BaseMaterial.d.ts +8 -10
- package/types/material/BlinnPhongMaterial.d.ts +0 -3
- package/types/material/Material.d.ts +8 -8
- package/types/material/PBRMaterial.d.ts +12 -3
- package/types/material/PBRSpecularMaterial.d.ts +1 -1
- package/types/material/UnlitMaterial.d.ts +1 -1
- package/types/mesh/BlendShape.d.ts +1 -1
- package/types/mesh/BlendShapeFrame.d.ts +28 -6
- package/types/mesh/BufferMesh.d.ts +2 -2
- package/types/mesh/MeshRenderer.d.ts +7 -12
- package/types/mesh/ModelMesh.d.ts +62 -41
- package/types/mesh/PrimitiveMesh.d.ts +6 -2
- package/types/mesh/PrimitiveMeshRestorer.d.ts +1 -0
- package/types/mesh/Skin.d.ts +3 -0
- package/types/mesh/SkinnedMeshRenderer.d.ts +18 -23
- package/types/mesh/index.d.ts +6 -5
- package/types/particle/ParticleRenderer.d.ts +2 -2
- package/types/physics/CharacterController.d.ts +0 -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/PhysicsScene.d.ts +75 -0
- package/types/physics/index.d.ts +7 -7
- package/types/physics/joint/HingeJoint.d.ts +2 -2
- package/types/physics/joint/Joint.d.ts +2 -2
- package/types/physics/joint/SpringJoint.d.ts +1 -1
- package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +7 -0
- package/types/renderingHardwareInterface/IPlatformTexture2D.d.ts +1 -1
- package/types/renderingHardwareInterface/IPlatformTexture2DArray.d.ts +1 -1
- package/types/renderingHardwareInterface/IPlatformTextureCube.d.ts +1 -1
- package/types/renderingHardwareInterface/index.d.ts +1 -0
- package/types/shader/Shader.d.ts +54 -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/enums/RenderStateElementKey.d.ts +58 -0
- package/types/shader/index.d.ts +6 -1
- package/types/shader/state/index.d.ts +6 -0
- package/types/shadow/CascadedShadowCasterPass.d.ts +6 -7
- package/types/sky/Sky.d.ts +12 -4
- package/types/sky/SkyBoxMaterial.d.ts +27 -9
- package/types/sky/SkyProceduralMaterial.d.ts +72 -0
- package/types/sky/index.d.ts +1 -0
- package/types/texture/RenderTarget.d.ts +3 -8
- package/types/texture/Texture.d.ts +8 -6
- package/types/texture/Texture2D.d.ts +4 -2
- package/types/texture/Texture2DArray.d.ts +1 -1
- package/types/texture/TextureCube.d.ts +1 -1
- package/types/texture/enums/TextureFormat.d.ts +55 -49
- package/types/texture/enums/TextureUsage.d.ts +9 -0
- package/types/texture/index.d.ts +1 -0
- package/types/trail/TrailRenderer.d.ts +0 -5
- package/types/utils/SafeLoopArray.d.ts +41 -0
package/types/Engine.d.ts
CHANGED
|
@@ -1,44 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ResourceManager } from "./asset/ResourceManager";
|
|
3
|
-
import { EventDispatcher, Time } from "./base";
|
|
1
|
+
import { IPhysics, IShaderLab } from "@galacean/engine-design";
|
|
4
2
|
import { Canvas } from "./Canvas";
|
|
5
|
-
import { ComponentsManager } from "./ComponentsManager";
|
|
6
3
|
import { EngineSettings } from "./EngineSettings";
|
|
7
4
|
import { Entity } from "./Entity";
|
|
5
|
+
import { SceneManager } from "./SceneManager";
|
|
6
|
+
import { ResourceManager } from "./asset/ResourceManager";
|
|
7
|
+
import { EventDispatcher, Time } from "./base";
|
|
8
|
+
import { ColorSpace } from "./enums/ColorSpace";
|
|
8
9
|
import { InputManager } from "./input";
|
|
9
|
-
import {
|
|
10
|
-
import { Material } from "./material/Material";
|
|
11
|
-
import { PhysicsManager } from "./physics";
|
|
10
|
+
import { PhysicsScene } from "./physics/PhysicsScene";
|
|
12
11
|
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
|
-
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
|
-
/**
|
|
27
|
-
readonly physicsManager: PhysicsManager;
|
|
16
|
+
/** Input manager of Engine. */
|
|
28
17
|
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
|
-
protected _canvas: Canvas;
|
|
42
18
|
private _settings;
|
|
43
19
|
private _resourceManager;
|
|
44
20
|
private _sceneManager;
|
|
@@ -52,7 +28,9 @@ export declare class Engine extends EventDispatcher {
|
|
|
52
28
|
private _targetFrameInterval;
|
|
53
29
|
private _destroyed;
|
|
54
30
|
private _frameInProcess;
|
|
55
|
-
private
|
|
31
|
+
private _waitingDestroy;
|
|
32
|
+
private _isDeviceLost;
|
|
33
|
+
private _waitingGC;
|
|
56
34
|
private _animate;
|
|
57
35
|
/**
|
|
58
36
|
* Settings of Engine.
|
|
@@ -63,15 +41,15 @@ export declare class Engine extends EventDispatcher {
|
|
|
63
41
|
*/
|
|
64
42
|
get canvas(): Canvas;
|
|
65
43
|
/**
|
|
66
|
-
*
|
|
44
|
+
* The resource manager.
|
|
67
45
|
*/
|
|
68
46
|
get resourceManager(): ResourceManager;
|
|
69
47
|
/**
|
|
70
|
-
*
|
|
48
|
+
* The scene manager.
|
|
71
49
|
*/
|
|
72
50
|
get sceneManager(): SceneManager;
|
|
73
51
|
/**
|
|
74
|
-
*
|
|
52
|
+
* The time information of the engine.
|
|
75
53
|
*/
|
|
76
54
|
get time(): Time;
|
|
77
55
|
/**
|
|
@@ -96,13 +74,7 @@ export declare class Engine extends EventDispatcher {
|
|
|
96
74
|
* Indicates whether the engine is destroyed.
|
|
97
75
|
*/
|
|
98
76
|
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);
|
|
77
|
+
protected constructor(canvas: Canvas, hardwareRenderer: IHardwareRenderer, configuration: EngineConfiguration);
|
|
106
78
|
/**
|
|
107
79
|
* Create an entity.
|
|
108
80
|
* @param name - The name of the entity
|
|
@@ -125,16 +97,41 @@ export declare class Engine extends EventDispatcher {
|
|
|
125
97
|
* Execution engine loop.
|
|
126
98
|
*/
|
|
127
99
|
run(): void;
|
|
100
|
+
/**
|
|
101
|
+
* Force lose graphic device.
|
|
102
|
+
* @remarks Used to simulate the phenomenon after the real loss of device.
|
|
103
|
+
*/
|
|
104
|
+
forceLoseDevice(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Force restore graphic device.
|
|
107
|
+
* @remarks Used to simulate the phenomenon after the real restore of device.
|
|
108
|
+
*/
|
|
109
|
+
forceRestoreDevice(): void;
|
|
128
110
|
private _destroy;
|
|
129
111
|
/**
|
|
130
112
|
* Destroy engine.
|
|
131
113
|
* @remarks If call during frame execution will delay until the end of the frame
|
|
132
114
|
*/
|
|
133
115
|
destroy(): void;
|
|
134
|
-
/**
|
|
135
|
-
* @intenral
|
|
136
|
-
*/
|
|
137
|
-
_render(scene: Scene): void;
|
|
138
116
|
private _createSpriteMaterial;
|
|
139
117
|
private _createSpriteMaskMaterial;
|
|
118
|
+
private _onDeviceLost;
|
|
119
|
+
private _onDeviceRestored;
|
|
120
|
+
private _gc;
|
|
121
|
+
/**
|
|
122
|
+
* @deprecated
|
|
123
|
+
* The first scene physics manager.
|
|
124
|
+
*/
|
|
125
|
+
get physicsManager(): PhysicsScene;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Engine configuration.
|
|
129
|
+
*/
|
|
130
|
+
export interface EngineConfiguration {
|
|
131
|
+
/** Physics. */
|
|
132
|
+
physics?: IPhysics;
|
|
133
|
+
/** Color space. */
|
|
134
|
+
colorSpace?: ColorSpace;
|
|
135
|
+
/** Shader lab */
|
|
136
|
+
shaderLab?: IShaderLab;
|
|
140
137
|
}
|
package/types/Entity.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Matrix } from "@galacean/engine-math";
|
|
2
|
-
import { EngineObject } from "./base";
|
|
3
2
|
import { Component } from "./Component";
|
|
4
3
|
import { Engine } from "./Engine";
|
|
5
4
|
import { Layer } from "./Layer";
|
|
6
5
|
import { Scene } from "./Scene";
|
|
7
6
|
import { Transform } from "./Transform";
|
|
7
|
+
import { EngineObject } from "./base";
|
|
8
8
|
/**
|
|
9
9
|
* Entity, be used as components container.
|
|
10
10
|
*/
|
|
@@ -65,7 +65,7 @@ export declare class Entity extends EngineObject {
|
|
|
65
65
|
* @param type - The type of the component
|
|
66
66
|
* @returns The first component which match type
|
|
67
67
|
*/
|
|
68
|
-
getComponent<T extends Component>(type: new (entity: Entity) => T): T;
|
|
68
|
+
getComponent<T extends Component>(type: new (entity: Entity) => T): T | null;
|
|
69
69
|
/**
|
|
70
70
|
* Get components which match the type.
|
|
71
71
|
* @param type - The type of the component
|
|
@@ -130,6 +130,8 @@ export declare class Entity extends EngineObject {
|
|
|
130
130
|
* @returns Cloned entity
|
|
131
131
|
*/
|
|
132
132
|
clone(): Entity;
|
|
133
|
+
private _createCloneEntity;
|
|
134
|
+
private _parseCloneEntity;
|
|
133
135
|
/**
|
|
134
136
|
* Destroy self.
|
|
135
137
|
*/
|
|
@@ -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,19 +3,18 @@ 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 _tempVector0;
|
|
13
|
-
private static _tempVector1;
|
|
14
12
|
private _camera;
|
|
15
13
|
private _defaultPass;
|
|
16
14
|
private _renderPassArray;
|
|
17
15
|
private _lastCanvasSize;
|
|
18
16
|
private _cascadedShadowCaster;
|
|
17
|
+
private _depthOnlyPass;
|
|
19
18
|
/**
|
|
20
19
|
* Create a basic render pipeline.
|
|
21
20
|
* @param camera - Camera
|
|
@@ -57,10 +56,12 @@ export declare class BasicRenderPipeline {
|
|
|
57
56
|
render(context: RenderContext, cubeFace?: TextureCubeFace, mipLevel?: number): void;
|
|
58
57
|
private _drawRenderPass;
|
|
59
58
|
/**
|
|
60
|
-
* Push
|
|
61
|
-
* @param
|
|
59
|
+
* Push render data to render queue.
|
|
60
|
+
* @param context - Render context
|
|
61
|
+
* @param data - Render data
|
|
62
62
|
*/
|
|
63
|
-
|
|
63
|
+
pushRenderData(context: RenderContext, data: RenderData): void;
|
|
64
|
+
private pushRenderDataWihShader;
|
|
64
65
|
private _drawBackgroundTexture;
|
|
65
66
|
private _callRender;
|
|
66
67
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { IPoolElement } from "./IPoolElement";
|
|
1
2
|
/**
|
|
2
3
|
* Class pool utils.
|
|
3
4
|
*/
|
|
4
|
-
export declare class ClassPool<T> {
|
|
5
|
+
export declare class ClassPool<T extends IPoolElement> {
|
|
5
6
|
private _elementPoolIndex;
|
|
6
7
|
private _elementPool;
|
|
7
8
|
private _type;
|
|
@@ -14,4 +15,5 @@ export declare class ClassPool<T> {
|
|
|
14
15
|
* Reset pool.
|
|
15
16
|
*/
|
|
16
17
|
resetPool(): void;
|
|
18
|
+
garbageCollection(): void;
|
|
17
19
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
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 { IPoolElement } from "./IPoolElement";
|
|
6
|
+
import { RenderData } from "./RenderData";
|
|
7
|
+
/**
|
|
8
|
+
* Render element.
|
|
9
|
+
*/
|
|
10
|
+
export declare class MeshRenderData extends RenderData implements IPoolElement {
|
|
11
|
+
/** Mesh. */
|
|
12
|
+
mesh: Mesh;
|
|
13
|
+
/** Sub mesh. */
|
|
14
|
+
subMesh: SubMesh;
|
|
15
|
+
set(component: Renderer, material: Material, mesh: Mesh, subMesh: SubMesh): void;
|
|
16
|
+
dispose(): void;
|
|
17
|
+
}
|
|
@@ -4,14 +4,16 @@ import { Material } from "../material/Material";
|
|
|
4
4
|
import { Renderer } from "../Renderer";
|
|
5
5
|
import { ShaderPass } from "../shader/ShaderPass";
|
|
6
6
|
import { RenderState } from "../shader/state/RenderState";
|
|
7
|
+
import { IPoolElement } from "./IPoolElement";
|
|
7
8
|
import { RenderElement } from "./RenderElement";
|
|
8
9
|
/**
|
|
9
10
|
* Render element.
|
|
10
11
|
*/
|
|
11
|
-
export declare class MeshRenderElement extends RenderElement {
|
|
12
|
+
export declare class MeshRenderElement extends RenderElement implements IPoolElement {
|
|
12
13
|
/** Mesh. */
|
|
13
14
|
mesh: Mesh;
|
|
14
15
|
/** Sub mesh. */
|
|
15
16
|
subMesh: SubMesh;
|
|
16
17
|
setValue(component: Renderer, mesh: Mesh, subMesh: SubMesh, material: Material, renderState: RenderState, shaderPass: ShaderPass): void;
|
|
18
|
+
dispose(): void;
|
|
17
19
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Engine } from "../Engine";
|
|
2
|
+
import { CullingResults } from "../RenderPipeline/CullingResults";
|
|
3
|
+
import { RenderContext } from "../RenderPipeline/RenderContext";
|
|
4
|
+
/**
|
|
5
|
+
* PipelinePass is a base class for all pipeline passes.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class PipelinePass {
|
|
8
|
+
protected _engine: Engine;
|
|
9
|
+
constructor(engine: Engine);
|
|
10
|
+
/**
|
|
11
|
+
* Called before rendering a camera, override this method to configure the camera If you need to configure the camera clear flag or render target.
|
|
12
|
+
* @param context - Rendering context
|
|
13
|
+
* @param cullingResults - Culling results
|
|
14
|
+
*/
|
|
15
|
+
abstract onRender(context: RenderContext, cullingResults: CullingResults): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
renderState: RenderState;
|
|
10
|
-
shaderPass: ShaderPass;
|
|
1
|
+
import { ShaderPass } from "../shader/ShaderPass";
|
|
2
|
+
import { IPoolElement } from "./IPoolElement";
|
|
3
|
+
import { RenderData } from "./RenderData";
|
|
4
|
+
export declare class RenderElement implements IPoolElement {
|
|
5
|
+
data: RenderData;
|
|
6
|
+
shaderPasses: ReadonlyArray<ShaderPass>;
|
|
7
|
+
set(data: RenderData, shaderPasses: ReadonlyArray<ShaderPass>): void;
|
|
8
|
+
dispose(): 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, pipelineStageTagValue: string): void;
|
|
19
17
|
/**
|
|
20
18
|
* Clear collection.
|
|
21
19
|
*/
|
|
@@ -4,10 +4,12 @@ import { Renderer } from "../Renderer";
|
|
|
4
4
|
import { ShaderPass } from "../shader";
|
|
5
5
|
import { RenderState } from "../shader/state/RenderState";
|
|
6
6
|
import { Texture2D } from "../texture";
|
|
7
|
+
import { IPoolElement } from "./IPoolElement";
|
|
7
8
|
import { RenderElement } from "./RenderElement";
|
|
8
|
-
export declare class SpriteElement extends RenderElement {
|
|
9
|
+
export declare class SpriteElement extends RenderElement implements IPoolElement {
|
|
9
10
|
renderData: RenderData2D;
|
|
10
11
|
texture: Texture2D;
|
|
11
12
|
constructor();
|
|
12
13
|
setValue(component: Renderer, renderDate: RenderData2D, material: Material, texture: Texture2D, renderState: RenderState, shaderPass: ShaderPass): void;
|
|
14
|
+
dispose(): void;
|
|
13
15
|
}
|
|
@@ -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
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { RenderData2D } from "../2d/data/RenderData2D";
|
|
2
2
|
import { Material } from "../material/Material";
|
|
3
3
|
import { Renderer } from "../Renderer";
|
|
4
|
+
import { IPoolElement } from "./IPoolElement";
|
|
4
5
|
import { RenderElement } from "./RenderElement";
|
|
5
|
-
export declare class SpriteMaskElement extends RenderElement {
|
|
6
|
+
export declare class SpriteMaskElement extends RenderElement implements IPoolElement {
|
|
6
7
|
renderData: RenderData2D;
|
|
7
8
|
isAdd: boolean;
|
|
8
9
|
constructor();
|
|
9
10
|
setValue(component: Renderer, renderData: RenderData2D, material: Material): void;
|
|
11
|
+
dispose(): void;
|
|
10
12
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VertexData2D } from "../2d/data/VertexData2D";
|
|
2
|
+
import { Material } from "../material/Material";
|
|
3
|
+
import { Renderer } from "../Renderer";
|
|
4
|
+
import { IPoolElement } from "./IPoolElement";
|
|
5
|
+
import { RenderData } from "./RenderData";
|
|
6
|
+
export declare class SpriteMaskRenderData extends RenderData implements IPoolElement {
|
|
7
|
+
isAdd: boolean;
|
|
8
|
+
verticesData: VertexData2D;
|
|
9
|
+
constructor();
|
|
10
|
+
set(component: Renderer, material: Material, verticesData: VertexData2D): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { IPoolElement } from "./IPoolElement";
|
|
6
|
+
import { RenderData } from "./RenderData";
|
|
7
|
+
export declare class SpriteRenderData extends RenderData implements IPoolElement {
|
|
8
|
+
verticesData: VertexData2D;
|
|
9
|
+
texture: Texture2D;
|
|
10
|
+
dataIndex: number;
|
|
11
|
+
constructor();
|
|
12
|
+
set(component: Renderer, material: Material, verticesData: VertexData2D, texture: Texture2D, dataIndex?: number): void;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IPoolElement } from "./IPoolElement";
|
|
2
|
+
import { RenderData } from "./RenderData";
|
|
3
|
+
import { SpriteRenderData } from "./SpriteRenderData";
|
|
4
|
+
export declare class TextRenderData extends RenderData implements IPoolElement {
|
|
5
|
+
charsData: SpriteRenderData[];
|
|
6
|
+
constructor();
|
|
7
|
+
dispose(): void;
|
|
8
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { IPoolElement } from "./IPoolElement";
|
|
1
2
|
import { RenderElement } from "./RenderElement";
|
|
2
3
|
import { SpriteElement } from "./SpriteElement";
|
|
3
|
-
export declare class TextRenderElement extends RenderElement {
|
|
4
|
+
export declare class TextRenderElement extends RenderElement implements IPoolElement {
|
|
4
5
|
charElements: SpriteElement[];
|
|
5
6
|
constructor();
|
|
7
|
+
dispose(): void;
|
|
6
8
|
}
|
package/types/Renderer.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { BoundingBox,
|
|
1
|
+
import { BoundingBox, Vector4 } from "@galacean/engine-math";
|
|
2
2
|
import { Component } from "./Component";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { Material } from "./material/Material";
|
|
3
|
+
import { ICustomClone } from "./clone/ComponentCloner";
|
|
4
|
+
import { Material } from "./material";
|
|
6
5
|
import { ShaderData } from "./shader/ShaderData";
|
|
7
6
|
/**
|
|
8
7
|
* Basis for all renderers.
|
|
9
|
-
* @decorator `@dependentComponents(Transform)`
|
|
8
|
+
* @decorator `@dependentComponents(Transform, DependentMode.CheckOnly)`
|
|
10
9
|
*/
|
|
11
|
-
export declare class Renderer extends Component {
|
|
10
|
+
export declare class Renderer extends Component implements ICustomClone {
|
|
12
11
|
private static _tempVector0;
|
|
13
12
|
private static _receiveShadowMacro;
|
|
14
13
|
private static _localMatrixProperty;
|
|
@@ -18,12 +17,11 @@ export declare class Renderer extends Component {
|
|
|
18
17
|
private static _mvInvMatrixProperty;
|
|
19
18
|
private static _normalMatrixProperty;
|
|
20
19
|
private static _rendererLayerProperty;
|
|
21
|
-
/** ShaderData related to renderer. */
|
|
22
|
-
readonly shaderData: ShaderData;
|
|
23
20
|
_renderFrameCount: number;
|
|
24
21
|
protected _overrideUpdate: boolean;
|
|
25
22
|
protected _materials: Material[];
|
|
26
23
|
protected _dirtyUpdateFlag: number;
|
|
24
|
+
private _shaderData;
|
|
27
25
|
private _mvMatrix;
|
|
28
26
|
private _mvpMatrix;
|
|
29
27
|
private _mvInvMatrix;
|
|
@@ -32,6 +30,10 @@ export declare class Renderer extends Component {
|
|
|
32
30
|
private _priority;
|
|
33
31
|
private _receiveShadows;
|
|
34
32
|
protected _rendererLayer: Vector4;
|
|
33
|
+
/**
|
|
34
|
+
* ShaderData related to renderer.
|
|
35
|
+
*/
|
|
36
|
+
get shaderData(): ShaderData;
|
|
35
37
|
/**
|
|
36
38
|
* Whether it is culled in the current frame and does not participate in rendering.
|
|
37
39
|
*/
|
|
@@ -108,12 +110,5 @@ export declare class Renderer extends Component {
|
|
|
108
110
|
*/
|
|
109
111
|
setMaterials(materials: Material[]): void;
|
|
110
112
|
update(deltaTime: number): void;
|
|
111
|
-
protected _updateShaderData(context: RenderContext): void;
|
|
112
|
-
protected _updateTransformShaderData(context: RenderContext, worldMatrix: Matrix): void;
|
|
113
|
-
protected _registerEntityTransformListener(): void;
|
|
114
|
-
protected _updateBounds(worldBounds: BoundingBox): void;
|
|
115
|
-
protected _render(context: RenderContext): void;
|
|
116
|
-
private _createInstanceMaterial;
|
|
117
113
|
private _setMaterial;
|
|
118
|
-
protected _onTransformChanged(type: TransformModifyFlags): void;
|
|
119
114
|
}
|
package/types/Scene.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Color, Vector3 } from "@galacean/engine-math";
|
|
2
2
|
import { Background } from "./Background";
|
|
3
|
-
import { EngineObject } from "./base";
|
|
4
3
|
import { Engine } from "./Engine";
|
|
5
4
|
import { Entity } from "./Entity";
|
|
5
|
+
import { EngineObject } from "./base";
|
|
6
6
|
import { FogMode } from "./enums/FogMode";
|
|
7
7
|
import { AmbientLight } from "./lighting/AmbientLight";
|
|
8
|
+
import { PhysicsScene } from "./physics/PhysicsScene";
|
|
8
9
|
import { ShaderData } from "./shader/ShaderData";
|
|
9
10
|
import { ShadowCascadesMode } from "./shadow/enum/ShadowCascadesMode";
|
|
10
11
|
import { ShadowResolution } from "./shadow/enum/ShadowResolution";
|
|
@@ -14,12 +15,12 @@ import { ShadowResolution } from "./shadow/enum/ShadowResolution";
|
|
|
14
15
|
export declare class Scene extends EngineObject {
|
|
15
16
|
private static _fogColorProperty;
|
|
16
17
|
private static _fogParamsProperty;
|
|
18
|
+
private static _sunlightColorProperty;
|
|
19
|
+
private static _sunlightDirectionProperty;
|
|
17
20
|
/** Scene name. */
|
|
18
21
|
name: string;
|
|
19
|
-
/**
|
|
20
|
-
readonly
|
|
21
|
-
/** Scene-related shader data. */
|
|
22
|
-
readonly shaderData: ShaderData;
|
|
22
|
+
/** Physics. */
|
|
23
|
+
readonly physics: PhysicsScene;
|
|
23
24
|
/** If cast shadows. */
|
|
24
25
|
castShadows: boolean;
|
|
25
26
|
/** The resolution of the shadow maps. */
|
|
@@ -30,6 +31,8 @@ export declare class Scene extends EngineObject {
|
|
|
30
31
|
shadowFourCascadeSplits: Vector3;
|
|
31
32
|
/** Max Shadow distance. */
|
|
32
33
|
shadowDistance: number;
|
|
34
|
+
private _background;
|
|
35
|
+
private _shaderData;
|
|
33
36
|
private _shadowCascades;
|
|
34
37
|
private _ambientLight;
|
|
35
38
|
private _fogMode;
|
|
@@ -38,6 +41,14 @@ export declare class Scene extends EngineObject {
|
|
|
38
41
|
private _fogEnd;
|
|
39
42
|
private _fogDensity;
|
|
40
43
|
private _fogParams;
|
|
44
|
+
/**
|
|
45
|
+
* Scene-related shader data.
|
|
46
|
+
*/
|
|
47
|
+
get shaderData(): ShaderData;
|
|
48
|
+
/**
|
|
49
|
+
* The background of the scene.
|
|
50
|
+
*/
|
|
51
|
+
get background(): Background;
|
|
41
52
|
/**
|
|
42
53
|
* Number of cascades to use for directional light shadows.
|
|
43
54
|
*/
|
|
@@ -132,10 +143,6 @@ export declare class Scene extends EngineObject {
|
|
|
132
143
|
* @returns Entity
|
|
133
144
|
*/
|
|
134
145
|
findEntityByPath(path: string): Entity | null;
|
|
135
|
-
/**
|
|
136
|
-
* Destroy this scene.
|
|
137
|
-
*/
|
|
138
|
-
destroy(): void;
|
|
139
146
|
private _addToRootEntityList;
|
|
140
147
|
private _computeLinearFogParams;
|
|
141
148
|
private _computeExponentialFogParams;
|