@galacean/engine-core 1.0.0 → 1.1.0-alpha.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.
Files changed (118) hide show
  1. package/dist/main.js +14441 -12563
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +14441 -12563
  4. package/dist/module.js +14426 -12558
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/2d/assembler/TiledSpriteAssembler.d.ts +1 -0
  8. package/types/2d/atlas/SpriteAtlas.d.ts +2 -6
  9. package/types/2d/data/VertexData2D.d.ts +1 -0
  10. package/types/2d/enums/SpriteDrawMode.d.ts +4 -2
  11. package/types/2d/enums/SpriteTileMode.d.ts +11 -0
  12. package/types/2d/index.d.ts +1 -0
  13. package/types/2d/sprite/Sprite.d.ts +14 -8
  14. package/types/2d/sprite/SpriteMask.d.ts +16 -22
  15. package/types/2d/sprite/SpriteRenderer.d.ts +31 -17
  16. package/types/2d/text/Font.d.ts +2 -7
  17. package/types/2d/text/TextRenderer.d.ts +1 -13
  18. package/types/2d/text/index.d.ts +1 -0
  19. package/types/Camera.d.ts +35 -12
  20. package/types/Component.d.ts +1 -8
  21. package/types/ComponentsDependencies.d.ts +17 -9
  22. package/types/Engine.d.ts +39 -46
  23. package/types/Entity.d.ts +1 -1
  24. package/types/RenderPipeline/Basic2DBatcher.d.ts +6 -7
  25. package/types/RenderPipeline/BasicRenderPipeline.d.ts +8 -6
  26. package/types/RenderPipeline/MeshRenderData.d.ts +15 -0
  27. package/types/RenderPipeline/RenderData.d.ts +7 -0
  28. package/types/RenderPipeline/RenderElement.d.ts +5 -7
  29. package/types/RenderPipeline/RenderPass.d.ts +1 -1
  30. package/types/RenderPipeline/RenderQueue.d.ts +3 -5
  31. package/types/RenderPipeline/SpriteMaskBatcher.d.ts +4 -3
  32. package/types/RenderPipeline/SpriteMaskRenderData.d.ts +10 -0
  33. package/types/RenderPipeline/SpriteRenderData.d.ts +12 -0
  34. package/types/RenderPipeline/TextRenderData.d.ts +6 -0
  35. package/types/RenderPipeline/enums/PipelineStage.d.ts +9 -0
  36. package/types/RenderPipeline/index.d.ts +4 -0
  37. package/types/Renderer.d.ts +5 -13
  38. package/types/SafeLoopArray.d.ts +37 -0
  39. package/types/Scene.d.ts +6 -5
  40. package/types/SceneManager.d.ts +28 -5
  41. package/types/Script.d.ts +18 -15
  42. package/types/Transform.d.ts +9 -12
  43. package/types/Utils.d.ts +28 -0
  44. package/types/animation/AnimationClip.d.ts +2 -1
  45. package/types/animation/Animator.d.ts +2 -3
  46. package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +0 -1
  47. package/types/animation/internal/AnimationCurveLayerOwner.d.ts +1 -0
  48. package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +1 -0
  49. package/types/asset/AssetType.d.ts +16 -16
  50. package/types/asset/ContentRestorer.d.ts +17 -0
  51. package/types/asset/GraphicsResource.d.ts +5 -0
  52. package/types/asset/IReferable.d.ts +2 -0
  53. package/types/asset/ReferResource.d.ts +22 -0
  54. package/types/asset/ResourceManager.d.ts +17 -9
  55. package/types/base/Constant.d.ts +2 -1
  56. package/types/base/EngineObject.d.ts +1 -0
  57. package/types/base/EventDispatcher.d.ts +1 -14
  58. package/types/base/Time.d.ts +27 -24
  59. package/types/base/index.d.ts +0 -2
  60. package/types/enums/ActiveChangeFlag.d.ts +6 -0
  61. package/types/env-probe/CubeProbe.d.ts +0 -7
  62. package/types/env-probe/Probe.d.ts +0 -6
  63. package/types/graphic/Buffer.d.ts +5 -12
  64. package/types/graphic/Mesh.d.ts +5 -16
  65. package/types/index.d.ts +8 -7
  66. package/types/input/InputManager.d.ts +3 -3
  67. package/types/input/interface/IInput.d.ts +1 -1
  68. package/types/lighting/DirectLight.d.ts +0 -1
  69. package/types/lighting/Light.d.ts +0 -1
  70. package/types/lighting/SpotLight.d.ts +0 -1
  71. package/types/material/BaseMaterial.d.ts +8 -10
  72. package/types/material/BlinnPhongMaterial.d.ts +0 -3
  73. package/types/material/Material.d.ts +3 -10
  74. package/types/material/PBRMaterial.d.ts +12 -3
  75. package/types/material/PBRSpecularMaterial.d.ts +1 -1
  76. package/types/material/UnlitMaterial.d.ts +1 -1
  77. package/types/mesh/BlendShape.d.ts +1 -1
  78. package/types/mesh/BlendShapeFrame.d.ts +28 -6
  79. package/types/mesh/MeshRenderer.d.ts +7 -12
  80. package/types/mesh/ModelMesh.d.ts +5 -5
  81. package/types/mesh/PrimitiveMesh.d.ts +4 -2
  82. package/types/mesh/PrimitiveMeshRestorer.d.ts +1 -0
  83. package/types/mesh/SkinnedMeshRenderer.d.ts +0 -14
  84. package/types/particle/ParticleRenderer.d.ts +2 -2
  85. package/types/physics/CharacterController.d.ts +0 -2
  86. package/types/physics/Collider.d.ts +1 -1
  87. package/types/physics/Collision.d.ts +4 -0
  88. package/types/physics/PhysicsManager.d.ts +1 -20
  89. package/types/physics/PhysicsScene.d.ts +75 -0
  90. package/types/physics/index.d.ts +7 -7
  91. package/types/physics/joint/HingeJoint.d.ts +2 -2
  92. package/types/physics/joint/Joint.d.ts +2 -2
  93. package/types/physics/joint/SpringJoint.d.ts +1 -1
  94. package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +8 -0
  95. package/types/renderingHardwareInterface/index.d.ts +1 -0
  96. package/types/shader/Shader.d.ts +32 -23
  97. package/types/shader/ShaderData.d.ts +24 -24
  98. package/types/shader/ShaderMacro.d.ts +16 -0
  99. package/types/shader/ShaderPart.d.ts +41 -0
  100. package/types/shader/ShaderPass.d.ts +9 -2
  101. package/types/shader/ShaderProperty.d.ts +7 -0
  102. package/types/shader/ShaderTagKey.d.ts +16 -0
  103. package/types/shader/SubShader.d.ts +19 -0
  104. package/types/shader/index.d.ts +5 -1
  105. package/types/shader/state/index.d.ts +6 -0
  106. package/types/shadow/CascadedShadowCasterPass.d.ts +1 -1
  107. package/types/sky/SkyBoxMaterial.d.ts +27 -9
  108. package/types/sky/SkyProceduralMaterial.d.ts +72 -0
  109. package/types/sky/index.d.ts +1 -0
  110. package/types/texture/RenderTarget.d.ts +2 -6
  111. package/types/texture/Texture.d.ts +2 -6
  112. package/types/trail/TrailRenderer.d.ts +0 -5
  113. package/types/utils/BoolUpdateFlag.d.ts +12 -0
  114. package/types/utils/DisorderedArray.d.ts +18 -0
  115. package/types/utils/SafeLoopArray.d.ts +41 -0
  116. package/types/utils/UpdateFlag.d.ts +20 -0
  117. package/types/utils/UpdateFlagManager.d.ts +1 -0
  118. package/types/utils/Utils.d.ts +31 -0
@@ -0,0 +1,2 @@
1
+ export interface IReferable {
2
+ }
@@ -0,0 +1,22 @@
1
+ import { EngineObject } from "../base/EngineObject";
2
+ import { Engine } from "../Engine";
3
+ import { IReferable } from "./IReferable";
4
+ /**
5
+ * The base class of assets, with reference counting capability.
6
+ */
7
+ export declare abstract class ReferResource extends EngineObject implements IReferable {
8
+ /** Whether to ignore the garbage collection check, if it is true, it will not be affected by ResourceManager.gc(). */
9
+ isGCIgnored: boolean;
10
+ private _refCount;
11
+ /**
12
+ * Counted by valid references.
13
+ */
14
+ get refCount(): number;
15
+ protected constructor(engine: Engine);
16
+ /**
17
+ * Destroy self.
18
+ * @param force - Whether to force the destruction, if it is false, refCount = 0 can be released successfully.
19
+ * @returns Whether the release was successful.
20
+ */
21
+ destroy(force?: boolean): boolean;
22
+ }
@@ -1,4 +1,4 @@
1
- import { Engine } from "..";
1
+ import { ContentRestorer, Engine, EngineObject } from "..";
2
2
  import { AssetPromise } from "./AssetPromise";
3
3
  import { Loader } from "./Loader";
4
4
  import { LoadItem } from "./LoadItem";
@@ -17,14 +17,17 @@ export declare class ResourceManager {
17
17
  retryInterval: number;
18
18
  /** The default timeout period for loading assets, in milliseconds. */
19
19
  timeout: number;
20
- /** Asset path pool, key is asset ID, value is asset path */
20
+ private _loadingPromises;
21
+ /** Asset path pool, key is the `instanceID` of resource, value is asset path. */
21
22
  private _assetPool;
22
- /** Asset pool, the key is the asset path and the value is the asset. */
23
+ /** Asset url pool, key is the asset path and the value is the asset. */
23
24
  private _assetUrlPool;
24
- /** Reference counted object pool, key is the object ID, and reference counted objects are put into this pool. */
25
- private _refObjectPool;
26
- /** Loading promises. */
27
- private _loadingPromises;
25
+ /** Referable resource pool, key is the `instanceID` of resource. */
26
+ private _referResourcePool;
27
+ /** Graphic resource pool, key is the `instanceID` of resource. */
28
+ private _graphicResourcePool;
29
+ /** Restorable resource information pool, key is the `instanceID` of resource. */
30
+ private _contentRestorerPool;
28
31
  /**
29
32
  * Create a ResourceManager.
30
33
  * @param engine - Engine to which the current ResourceManager belongs
@@ -85,6 +88,11 @@ export declare class ResourceManager {
85
88
  * @remarks The release principle is that it is not referenced by the components, including direct and indirect reference.
86
89
  */
87
90
  gc(): void;
91
+ /**
92
+ * Add content restorer.
93
+ * @param restorer - The restorer
94
+ */
95
+ addContentRestorer<T extends EngineObject>(restorer: ContentRestorer<T>): void;
88
96
  private _assignDefaultOptions;
89
97
  private _loadSingleItem;
90
98
  private _gc;
@@ -96,6 +104,6 @@ export declare class ResourceManager {
96
104
  /**
97
105
  * Declare ResourceLoader's decorator.
98
106
  * @param assetType - Type of asset
99
- * @param extnames - Name of file extension
107
+ * @param extNames - Name of file extension
100
108
  */
101
- export declare function resourceLoader(assetType: string, extnames: string[], useCache?: boolean): <T extends Loader<any>>(Target: new (useCache: boolean) => T) => void;
109
+ export declare function resourceLoader(assetType: string, extNames: string[], useCache?: boolean): <T extends Loader<any>>(Target: new (useCache: boolean) => T) => void;
@@ -105,6 +105,7 @@ export declare enum GLCapabilityType {
105
105
  pvrtc = "WEBGL_compressed_texture_pvrtc",
106
106
  pvrtc_webkit = "WEBKIT_WEBGL_compressed_texture_pvrtc",
107
107
  s3tc = "WEBGL_compressed_texture_s3tc",
108
- s3tc_webkit = "WEBKIT_WEBGL_compressed_texture_s3tc"
108
+ s3tc_webkit = "WEBKIT_WEBGL_compressed_texture_s3tc",
109
+ WEBGL_lose_context = "WEBGL_lose_context"
109
110
  }
110
111
  export type TypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array;
@@ -21,4 +21,5 @@ export declare abstract class EngineObject {
21
21
  * Destroy self.
22
22
  */
23
23
  destroy(): void;
24
+ protected _onDestroy(): void;
24
25
  }
@@ -1,4 +1,3 @@
1
- import { Event } from "./Event";
2
1
  /**
3
2
  * EventDispatcher, which can be inherited as a base class.
4
3
  */
@@ -44,15 +43,6 @@ export declare class EventDispatcher {
44
43
  * @returns This
45
44
  */
46
45
  once(event: string, fn: Function): EventDispatcher;
47
- /**
48
- * @deprecated Use `on/once` instead.
49
- * Add a listener function with the specified event name.
50
- * @param event - Event name
51
- * @param fn - Function
52
- * @param once - Is it a one-time listener
53
- * @returns this
54
- */
55
- addEventListener(event: string, fn: Function, once?: boolean): EventDispatcher;
56
46
  /**
57
47
  * Remove the event listener(s) of the specified event name.
58
48
  * @param event - Event name
@@ -71,9 +61,6 @@ export declare class EventDispatcher {
71
61
  * @param event - Event name, delete all events if not passed
72
62
  */
73
63
  removeAllEventListeners(event?: string): void;
74
- /**
75
- * @deprecated Use `dispatch` instead.
76
- */
77
- trigger(e: Event): void;
64
+ private _addEventListener;
78
65
  private _clearEvent;
79
66
  }
@@ -1,41 +1,44 @@
1
1
  /**
2
- * Tools for calculating the time per frame.
2
+ * Provide time related information.
3
3
  */
4
4
  export declare class Time {
5
- private _clock;
6
- private _timeScale;
5
+ private static _elapsedTimeProperty;
6
+ private static _deltaTimeProperty;
7
+ private _frameCount;
7
8
  private _deltaTime;
8
- private _startTime;
9
- private _lastTickTime;
9
+ private _actualDeltaTime;
10
+ private _elapsedTime;
11
+ private _actualElapsedTime;
12
+ private _lastSystemTime;
13
+ private _elapsedTimeValue;
14
+ private _deltaTimeValue;
15
+ /** Maximum delta time allowed per frame in seconds. */
16
+ maximumDeltaTime: number;
17
+ /** The scale of time. */
18
+ timeScale: number;
10
19
  get frameCount(): number;
11
20
  /**
12
- * Constructor of the Time.
13
- */
14
- constructor();
15
- reset(): void;
16
- /**
17
- * Current Time
18
- */
19
- get nowTime(): number;
20
- /**
21
- * Time between two ticks
21
+ * The delta time in seconds from the last frame to the current frame.
22
+ *
23
+ * @remarks When the frame rate is low or stutter occurs, `deltaTime` will not exceed the value of `maximumDeltaTime` * `timeScale`.
22
24
  */
23
25
  get deltaTime(): number;
24
26
  /**
25
- * Scaled delta time.
27
+ * The amount of elapsed time in seconds since the start of the engine.
26
28
  */
27
- get timeScale(): number;
28
- set timeScale(s: number);
29
+ get elapsedTime(): number;
29
30
  /**
30
- * Unscaled delta time.
31
+ * The actual delta time in seconds from the last frame to the current frame.
32
+ *
33
+ * @remarks The actual delta time is not affected by `maximumDeltaTime` and `timeScale`.
31
34
  */
32
- get unscaledDeltaTime(): number;
35
+ get actualDeltaTime(): number;
33
36
  /**
34
- * The elapsed time, after the clock is initialized.
37
+ * The amount of actual elapsed time in seconds since the start of the engine.
35
38
  */
36
- get timeSinceStartup(): number;
39
+ get actualElapsedTime(): number;
37
40
  /**
38
- * Call every frame, update delta time and other data.
41
+ * Constructor of the Time.
39
42
  */
40
- tick(): void;
43
+ constructor();
41
44
  }
@@ -1,7 +1,5 @@
1
- export { Event } from "./Event";
2
1
  export { EventDispatcher } from "./EventDispatcher";
3
2
  export { Logger } from "./Logger";
4
3
  export { Time } from "./Time";
5
- export { Util, ObjectValues } from "./Util";
6
4
  export { EngineObject } from "./EngineObject";
7
5
  export * from "./Constant";
@@ -0,0 +1,6 @@
1
+ export declare enum ActiveChangeFlag {
2
+ None = 0,
3
+ Scene = 1,
4
+ Hierarchy = 2,
5
+ All = 3
6
+ }
@@ -9,15 +9,8 @@ export declare class CubeProbe extends Probe {
9
9
  * The position of the probe can be set, the default is the origin [0,0,0].
10
10
  */
11
11
  position: Vector3;
12
- /**
13
- * @override
14
- */
15
- protected readonly _isCube: boolean;
16
12
  private oriViewMatrix;
17
13
  private _oriFieldOfView;
18
- /**
19
- * @override
20
- */
21
14
  onBeginRender(camera: Camera): void;
22
15
  /**
23
16
  * Store original camera parameters.
@@ -46,13 +46,7 @@ export declare abstract class Probe extends Script {
46
46
  * @remarks Prevent issue: Feedback Loops Between Textures and the Framebuffer.
47
47
  */
48
48
  onTextureChange(renderColorTexture: Texture): void;
49
- /**
50
- * @override
51
- */
52
49
  onBeginRender(camera: Camera): void;
53
- /**
54
- * @override
55
- */
56
50
  onEndRender(camera: Camera): void;
57
51
  protected _reset(): void;
58
52
  }
@@ -1,4 +1,4 @@
1
- import { RefObject } from "../asset/RefObject";
1
+ import { GraphicsResource } from "../asset/GraphicsResource";
2
2
  import { Engine } from "../Engine";
3
3
  import { BufferBindFlag } from "./enums/BufferBindFlag";
4
4
  import { BufferUsage } from "./enums/BufferUsage";
@@ -6,14 +6,11 @@ import { SetDataOptions } from "./enums/SetDataOptions";
6
6
  /**
7
7
  * Buffer.
8
8
  */
9
- export declare class Buffer extends RefObject {
10
- _glBindTarget: number;
11
- _glBufferUsage: number;
12
- _nativeBuffer: WebGLBuffer;
13
- private _hardwareRenderer;
9
+ export declare class Buffer extends GraphicsResource {
14
10
  private _type;
15
11
  private _byteLength;
16
12
  private _bufferUsage;
13
+ private _platformBuffer;
17
14
  /**
18
15
  * Buffer binding flag.
19
16
  */
@@ -93,13 +90,9 @@ export declare class Buffer extends RefObject {
93
90
  * @param dataLength - Output data length
94
91
  */
95
92
  getData(data: ArrayBufferView, bufferByteOffset: number, dataOffset: number, dataLength: number): void;
96
- /**
97
- * @override
98
- * Destroy.
99
- */
100
- _onDestroy(): void;
93
+ _rebuild(): void;
101
94
  /**
102
95
  * @deprecated
103
96
  */
104
- resize(dataLength: number): void;
97
+ resize(byteLength: number): void;
105
98
  }
@@ -1,14 +1,12 @@
1
1
  import { BoundingBox } from "@galacean/engine-math";
2
- import { RefObject } from "../asset/RefObject";
3
2
  import { Engine } from "../Engine";
4
- import { MeshTopology } from "../graphic/enums/MeshTopology";
5
- import { IndexBufferBinding } from "../graphic/IndexBufferBinding";
3
+ import { GraphicsResource } from "../asset/GraphicsResource";
6
4
  import { SubMesh } from "../graphic/SubMesh";
7
- import { VertexElement } from "../graphic/VertexElement";
5
+ import { MeshTopology } from "../graphic/enums/MeshTopology";
8
6
  /**
9
7
  * Mesh.
10
8
  */
11
- export declare abstract class Mesh extends RefObject {
9
+ export declare abstract class Mesh extends GraphicsResource {
12
10
  /** Name. */
13
11
  name: string;
14
12
  private _bounds;
@@ -55,16 +53,7 @@ export declare abstract class Mesh extends RefObject {
55
53
  * Clear all sub-mesh.
56
54
  */
57
55
  clearSubMesh(): void;
58
- /**
59
- * @override
60
- */
61
- _addRefCount(value: number): void;
62
- /**
63
- * @override
64
- * Destroy.
65
- */
66
- _onDestroy(): void;
67
- protected _setVertexElements(elements: VertexElement[]): void;
68
- protected _setIndexBufferBinding(binding: IndexBufferBinding | null): void;
56
+ _addReferCount(value: number): void;
57
+ _rebuild(): void;
69
58
  private _onBoundsChanged;
70
59
  }
package/types/index.d.ts CHANGED
@@ -8,23 +8,21 @@ export { Entity } from "./Entity";
8
8
  export { Component } from "./Component";
9
9
  export { Script } from "./Script";
10
10
  export { Renderer } from "./Renderer";
11
- export { dependentComponents } from "./ComponentsDependencies";
11
+ export { dependentComponents, DependentMode } from "./ComponentsDependencies";
12
12
  export { Camera } from "./Camera";
13
13
  export { Transform } from "./Transform";
14
14
  export { BoolUpdateFlag } from "./BoolUpdateFlag";
15
15
  export type { EngineSettings } from "./EngineSettings";
16
+ export type { EngineConfiguration } from "./Engine";
16
17
  export { request } from "./asset/request";
17
18
  export { Loader } from "./asset/Loader";
19
+ export { ContentRestorer } from "./asset/ContentRestorer";
18
20
  export { ResourceManager, resourceLoader } from "./asset/ResourceManager";
19
21
  export { AssetPromise } from "./asset/AssetPromise";
20
22
  export type { LoadItem } from "./asset/LoadItem";
21
23
  export { AssetType } from "./asset/AssetType";
22
- export { RefObject } from "./asset/RefObject";
23
- export { BasicRenderPipeline } from "./RenderPipeline/BasicRenderPipeline";
24
- export { RenderQueue } from "./RenderPipeline/RenderQueue";
25
- export { RenderPass } from "./RenderPipeline/RenderPass";
26
- export { MeshRenderElement } from "./RenderPipeline/MeshRenderElement";
27
- export { SpriteElement } from "./RenderPipeline/SpriteElement";
24
+ export { ReferResource } from "./asset/ReferResource";
25
+ export * from "./RenderPipeline/Index";
28
26
  export * from "./base";
29
27
  export { Background } from "./Background";
30
28
  export { BackgroundMode } from "./enums/BackgroundMode";
@@ -51,3 +49,6 @@ export * from "./Layer";
51
49
  export * from "./clone/CloneManager";
52
50
  export * from "./renderingHardwareInterface/index";
53
51
  export * from "./physics/index";
52
+ export * from "./Utils";
53
+ export { Basic2DBatcher } from "./RenderPipeline/Basic2DBatcher";
54
+ export { ShaderMacroCollection } from "./shader/ShaderMacroCollection";
@@ -1,14 +1,14 @@
1
+ import { Vector3 } from "@galacean/engine-math";
1
2
  import { Keys } from "./enums/Keys";
2
- import { Pointer } from "./pointer/Pointer";
3
3
  import { PointerButton } from "./enums/PointerButton";
4
- import { Vector3 } from "@galacean/engine-math";
4
+ import { Pointer } from "./pointer/Pointer";
5
5
  /**
6
6
  * InputManager manages device input such as mouse, touch, keyboard, etc.
7
7
  */
8
8
  export declare class InputManager {
9
+ private _engine;
9
10
  /** Sometimes the input module will not be initialized, such as off-screen rendering. */
10
11
  private _initialized;
11
- private _curFrameCount;
12
12
  private _wheelManager;
13
13
  private _pointerManager;
14
14
  private _keyboardManager;
@@ -2,7 +2,7 @@ export interface IInput {
2
2
  /**
3
3
  * Handler function updated every frame.
4
4
  */
5
- _update(frameCount?: number): void;
5
+ _update(): void;
6
6
  /**
7
7
  * Function called when the engine is destroyed.
8
8
  */
@@ -8,7 +8,6 @@ export declare class DirectLight extends Light {
8
8
  private static _colorProperty;
9
9
  private static _directionProperty;
10
10
  private static _combinedData;
11
- private _forward;
12
11
  private _reverseDirection;
13
12
  /**
14
13
  * Get direction.
@@ -44,5 +44,4 @@ export declare abstract class Light extends Component {
44
44
  * Inverse view matrix.
45
45
  */
46
46
  get inverseViewMatrix(): Matrix;
47
- protected _getLightColor(): Color;
48
47
  }
@@ -18,7 +18,6 @@ export declare class SpotLight extends Light {
18
18
  angle: number;
19
19
  /** Angle, in radians, from falloff begins to ends. */
20
20
  penumbra: number;
21
- private _forward;
22
21
  private _inverseDirection;
23
22
  private _projectMatrix;
24
23
  /**
@@ -1,21 +1,21 @@
1
1
  import { Engine } from "../Engine";
2
- import { Shader } from "../shader";
2
+ import { Shader, ShaderProperty } from "../shader";
3
3
  import { ShaderMacro } from "../shader/ShaderMacro";
4
4
  import { BlendMode } from "./enums/BlendMode";
5
5
  import { RenderFace } from "./enums/RenderFace";
6
6
  import { Material } from "./Material";
7
7
  export declare class BaseMaterial extends Material {
8
- protected static _baseColorProp: import("../shader").ShaderProperty;
9
- protected static _baseTextureProp: import("../shader").ShaderProperty;
10
8
  protected static _baseTextureMacro: ShaderMacro;
11
- protected static _tilingOffsetProp: import("../shader").ShaderProperty;
12
- protected static _normalTextureProp: import("../shader").ShaderProperty;
13
- protected static _normalIntensityProp: import("../shader").ShaderProperty;
14
9
  protected static _normalTextureMacro: ShaderMacro;
15
- protected static _emissiveColorProp: import("../shader").ShaderProperty;
16
- protected static _emissiveTextureProp: import("../shader").ShaderProperty;
17
10
  protected static _emissiveTextureMacro: ShaderMacro;
18
11
  protected static _transparentMacro: ShaderMacro;
12
+ protected static _baseColorProp: ShaderProperty;
13
+ protected static _baseTextureProp: ShaderProperty;
14
+ protected static _tilingOffsetProp: ShaderProperty;
15
+ protected static _normalTextureProp: ShaderProperty;
16
+ protected static _normalIntensityProp: ShaderProperty;
17
+ protected static _emissiveColorProp: ShaderProperty;
18
+ protected static _emissiveTextureProp: ShaderProperty;
19
19
  private static _alphaCutoffProp;
20
20
  private static _alphaCutoffMacro;
21
21
  private _renderFace;
@@ -75,12 +75,10 @@ export declare class BaseMaterial extends Material {
75
75
  */
76
76
  setRenderFace(passIndex: number, renderFace: RenderFace): void;
77
77
  /**
78
- * @override
79
78
  * Clone and return the instance.
80
79
  */
81
80
  clone(): BaseMaterial;
82
81
  /**
83
- * @override
84
82
  * Clone to the target material.
85
83
  * @param target - target material
86
84
  */
@@ -64,8 +64,5 @@ export declare class BlinnPhongMaterial extends BaseMaterial {
64
64
  * @param engine - Engine to which the material belongs
65
65
  */
66
66
  constructor(engine: Engine);
67
- /**
68
- * @override
69
- */
70
67
  clone(): BlinnPhongMaterial;
71
68
  }
@@ -1,13 +1,13 @@
1
1
  import { IClone } from "@galacean/engine-design";
2
- import { RefObject } from "../asset/RefObject";
3
2
  import { Engine } from "../Engine";
3
+ import { ReferResource } from "../asset/ReferResource";
4
4
  import { Shader } from "../shader/Shader";
5
5
  import { ShaderData } from "../shader/ShaderData";
6
6
  import { RenderState } from "../shader/state/RenderState";
7
7
  /**
8
8
  * Material.
9
9
  */
10
- export declare class Material extends RefObject implements IClone {
10
+ export declare class Material extends ReferResource implements IClone {
11
11
  /** Name. */
12
12
  name: string;
13
13
  /** Shader data. */
@@ -40,12 +40,5 @@ export declare class Material extends RefObject implements IClone {
40
40
  * @param target - target material
41
41
  */
42
42
  cloneTo(target: Material): void;
43
- /**
44
- * @override
45
- */
46
- _addRefCount(value: number): void;
47
- /**
48
- * @override
49
- */
50
- protected _onDestroy(): void;
43
+ _addReferCount(value: number): void;
51
44
  }
@@ -8,13 +8,22 @@ export declare class PBRMaterial extends PBRBaseMaterial {
8
8
  private static _metallicProp;
9
9
  private static _roughnessProp;
10
10
  private static _roughnessMetallicTextureProp;
11
+ private static _iorProp;
11
12
  /**
12
- * Metallic, default 1.0.
13
+ * Index Of Refraction.
14
+ * @defaultValue `1.5`
15
+ */
16
+ get ior(): number;
17
+ set ior(v: number);
18
+ /**
19
+ * Metallic.
20
+ * @defaultValue `1.0`
13
21
  */
14
22
  get metallic(): number;
15
23
  set metallic(value: number);
16
24
  /**
17
- * Roughness, default 1.0.
25
+ * Roughness. default 1.0.
26
+ * @defaultValue `1.0`
18
27
  */
19
28
  get roughness(): number;
20
29
  set roughness(value: number);
@@ -30,7 +39,7 @@ export declare class PBRMaterial extends PBRBaseMaterial {
30
39
  */
31
40
  constructor(engine: Engine);
32
41
  /**
33
- * @override
42
+ * @inheritdoc
34
43
  */
35
44
  clone(): PBRMaterial;
36
45
  }
@@ -32,7 +32,7 @@ export declare class PBRSpecularMaterial extends PBRBaseMaterial {
32
32
  */
33
33
  constructor(engine: Engine);
34
34
  /**
35
- * @override
35
+ * @inheritdoc
36
36
  */
37
37
  clone(): PBRSpecularMaterial;
38
38
  }
@@ -27,7 +27,7 @@ export declare class UnlitMaterial extends BaseMaterial {
27
27
  */
28
28
  constructor(engine: Engine);
29
29
  /**
30
- * @override
30
+ * @inheritdoc
31
31
  */
32
32
  clone(): UnlitMaterial;
33
33
  }
@@ -6,7 +6,6 @@ import { BlendShapeFrame } from "./BlendShapeFrame";
6
6
  export declare class BlendShape {
7
7
  /** Name of BlendShape. */
8
8
  name: string;
9
- private _dataChangeManager;
10
9
  private _frames;
11
10
  /**
12
11
  * Frames of BlendShape.
@@ -36,4 +35,5 @@ export declare class BlendShape {
36
35
  clearFrames(): void;
37
36
  private _addFrame;
38
37
  private _updateUseNormalAndTangent;
38
+ private _frameDataChangeListener;
39
39
  }
@@ -5,12 +5,28 @@ import { Vector3 } from "@galacean/engine-math";
5
5
  export declare class BlendShapeFrame {
6
6
  /** Weight of BlendShapeFrame. */
7
7
  readonly weight: number;
8
- /** Delta positions for the frame being added. */
9
- readonly deltaPositions: Readonly<Readonly<Vector3>[]>;
10
- /** Delta normals for the frame being added. */
11
- readonly deltaNormals: Readonly<Readonly<Vector3[]> | null>;
12
- /** Delta tangents for the frame being added. */
13
- readonly deltaTangents: Readonly<Readonly<Vector3[]> | null>;
8
+ private _dirty;
9
+ private _deltaPositions;
10
+ private _deltaNormals;
11
+ private _deltaTangents;
12
+ /**
13
+ * Delta positions for the frame being added.
14
+ * @remarks Need to re-assign after modification to ensure that the modification takes effect.
15
+ */
16
+ get deltaPositions(): Vector3[];
17
+ set deltaPositions(value: Vector3[]);
18
+ /**
19
+ * Delta normals for the frame being added.
20
+ * @remarks Need to re-assign after modification to ensure that the modification takes effect.
21
+ */
22
+ get deltaNormals(): Vector3[];
23
+ set deltaNormals(value: Vector3[]);
24
+ /**
25
+ * Delta tangents for the frame being added.
26
+ * @remarks Need to re-assign after modification to ensure that the modification takes effect.
27
+ */
28
+ get deltaTangents(): Vector3[];
29
+ set deltaTangents(value: Vector3[]);
14
30
  /**
15
31
  * Create a BlendShapeFrame.
16
32
  * @param weight - Weight of BlendShapeFrame
@@ -20,3 +36,9 @@ export declare class BlendShapeFrame {
20
36
  */
21
37
  constructor(weight: number, deltaPositions: Vector3[], deltaNormals?: Vector3[], deltaTangents?: Vector3[]);
22
38
  }
39
+ export declare enum BlendShapeFrameDirty {
40
+ Position = 1,
41
+ Normal = 2,
42
+ Tangent = 4,
43
+ All = 7
44
+ }
@@ -1,30 +1,25 @@
1
- import { BoundingBox } from "@galacean/engine-math";
2
- import { ICustomClone } from "../clone/ComponentCloner";
3
- import { Mesh } from "../graphic/Mesh";
4
1
  import { Renderer } from "../Renderer";
5
- import { RenderContext } from "../RenderPipeline/RenderContext";
2
+ import { Mesh } from "../graphic/Mesh";
6
3
  /**
7
4
  * MeshRenderer Component.
8
5
  */
9
- export declare class MeshRenderer extends Renderer implements ICustomClone {
6
+ export declare class MeshRenderer extends Renderer {
10
7
  private static _uvMacro;
11
8
  private static _uv1Macro;
12
9
  private static _normalMacro;
13
10
  private static _tangentMacro;
14
- private static _vertexColorMacro;
11
+ private static _enableVertexColorMacro;
12
+ private _enableVertexColor;
15
13
  /**
16
14
  * Mesh assigned to the renderer.
17
15
  */
18
16
  get mesh(): Mesh;
19
17
  set mesh(value: Mesh);
20
18
  /**
21
- * @override
22
- */
23
- protected _updateBounds(worldBounds: BoundingBox): void;
24
- /**
25
- * @override
19
+ * Whether enable vertex color.
26
20
  */
27
- protected _render(context: RenderContext): void;
21
+ get enableVertexColor(): boolean;
22
+ set enableVertexColor(value: boolean);
28
23
  private _setMesh;
29
24
  private _onMeshChanged;
30
25
  }