@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.
Files changed (147) hide show
  1. package/dist/main.js +16279 -13113
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +16279 -13113
  4. package/dist/module.js +16217 -13061
  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 +17 -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 +60 -16
  20. package/types/Component.d.ts +1 -8
  21. package/types/ComponentsDependencies.d.ts +17 -9
  22. package/types/DisorderedArray.d.ts +4 -3
  23. package/types/Engine.d.ts +43 -46
  24. package/types/Entity.d.ts +4 -2
  25. package/types/RenderPipeline/Basic2DBatcher.d.ts +6 -7
  26. package/types/RenderPipeline/BasicRenderPipeline.d.ts +7 -6
  27. package/types/RenderPipeline/ClassPool.d.ts +3 -1
  28. package/types/RenderPipeline/CullingResults.d.ts +1 -0
  29. package/types/RenderPipeline/DepthOnlyPass.d.ts +1 -0
  30. package/types/RenderPipeline/IPoolElement.d.ts +3 -0
  31. package/types/RenderPipeline/MeshRenderData.d.ts +17 -0
  32. package/types/RenderPipeline/MeshRenderElement.d.ts +3 -1
  33. package/types/RenderPipeline/PipelinePass.d.ts +16 -0
  34. package/types/RenderPipeline/PipelineUtils.d.ts +1 -0
  35. package/types/RenderPipeline/RenderData.d.ts +7 -0
  36. package/types/RenderPipeline/RenderElement.d.ts +8 -10
  37. package/types/RenderPipeline/RenderPass.d.ts +1 -1
  38. package/types/RenderPipeline/RenderQueue.d.ts +3 -5
  39. package/types/RenderPipeline/SpriteElement.d.ts +3 -1
  40. package/types/RenderPipeline/SpriteMaskBatcher.d.ts +4 -3
  41. package/types/RenderPipeline/SpriteMaskElement.d.ts +3 -1
  42. package/types/RenderPipeline/SpriteMaskRenderData.d.ts +12 -0
  43. package/types/RenderPipeline/SpriteRenderData.d.ts +14 -0
  44. package/types/RenderPipeline/TextRenderData.d.ts +8 -0
  45. package/types/RenderPipeline/TextRenderElement.d.ts +3 -1
  46. package/types/RenderPipeline/enums/PipelineStage.d.ts +11 -0
  47. package/types/RenderPipeline/index.d.ts +4 -0
  48. package/types/Renderer.d.ts +10 -15
  49. package/types/Scene.d.ts +16 -9
  50. package/types/SceneManager.d.ts +28 -5
  51. package/types/Script.d.ts +18 -15
  52. package/types/Transform.d.ts +9 -12
  53. package/types/Utils.d.ts +28 -0
  54. package/types/animation/AnimationClip.d.ts +2 -1
  55. package/types/animation/Animator.d.ts +5 -4
  56. package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +0 -1
  57. package/types/animation/enums/LayerState.d.ts +3 -1
  58. package/types/animation/internal/AnimationCurveLayerOwner.d.ts +1 -0
  59. package/types/asset/AssetType.d.ts +18 -16
  60. package/types/asset/ContentRestorer.d.ts +17 -0
  61. package/types/asset/GraphicsResource.d.ts +5 -0
  62. package/types/asset/IReferable.d.ts +2 -0
  63. package/types/asset/LoadItem.d.ts +16 -9
  64. package/types/asset/Loader.d.ts +3 -1
  65. package/types/asset/ReferResource.d.ts +22 -0
  66. package/types/asset/ResourceManager.d.ts +17 -11
  67. package/types/asset/request.d.ts +7 -3
  68. package/types/base/Constant.d.ts +3 -1
  69. package/types/base/EngineObject.d.ts +1 -0
  70. package/types/base/EventDispatcher.d.ts +2 -15
  71. package/types/base/Time.d.ts +27 -24
  72. package/types/base/index.d.ts +0 -2
  73. package/types/clone/ComponentCloner.d.ts +2 -1
  74. package/types/enums/ActiveChangeFlag.d.ts +6 -0
  75. package/types/enums/DepthTextureMode.d.ts +7 -0
  76. package/types/env-probe/CubeProbe.d.ts +0 -7
  77. package/types/env-probe/Probe.d.ts +0 -6
  78. package/types/graphic/Buffer.d.ts +25 -16
  79. package/types/graphic/BufferUtil.d.ts +1 -0
  80. package/types/graphic/Mesh.d.ts +5 -16
  81. package/types/graphic/SubMesh.d.ts +3 -1
  82. package/types/graphic/VertexElement.d.ts +10 -6
  83. package/types/index.d.ts +9 -7
  84. package/types/input/InputManager.d.ts +3 -3
  85. package/types/input/interface/IInput.d.ts +1 -1
  86. package/types/lighting/AmbientLight.d.ts +4 -1
  87. package/types/lighting/DirectLight.d.ts +0 -1
  88. package/types/lighting/Light.d.ts +0 -1
  89. package/types/lighting/LightManager.d.ts +1 -0
  90. package/types/lighting/SpotLight.d.ts +0 -1
  91. package/types/material/BaseMaterial.d.ts +8 -10
  92. package/types/material/BlinnPhongMaterial.d.ts +0 -3
  93. package/types/material/Material.d.ts +8 -8
  94. package/types/material/PBRMaterial.d.ts +12 -3
  95. package/types/material/PBRSpecularMaterial.d.ts +1 -1
  96. package/types/material/UnlitMaterial.d.ts +1 -1
  97. package/types/mesh/BlendShape.d.ts +1 -1
  98. package/types/mesh/BlendShapeFrame.d.ts +28 -6
  99. package/types/mesh/BufferMesh.d.ts +2 -2
  100. package/types/mesh/MeshRenderer.d.ts +7 -12
  101. package/types/mesh/ModelMesh.d.ts +62 -41
  102. package/types/mesh/PrimitiveMesh.d.ts +6 -2
  103. package/types/mesh/PrimitiveMeshRestorer.d.ts +1 -0
  104. package/types/mesh/Skin.d.ts +3 -0
  105. package/types/mesh/SkinnedMeshRenderer.d.ts +18 -23
  106. package/types/mesh/index.d.ts +6 -5
  107. package/types/particle/ParticleRenderer.d.ts +2 -2
  108. package/types/physics/CharacterController.d.ts +0 -2
  109. package/types/physics/Collider.d.ts +1 -1
  110. package/types/physics/Collision.d.ts +4 -0
  111. package/types/physics/PhysicsManager.d.ts +1 -20
  112. package/types/physics/PhysicsScene.d.ts +75 -0
  113. package/types/physics/index.d.ts +7 -7
  114. package/types/physics/joint/HingeJoint.d.ts +2 -2
  115. package/types/physics/joint/Joint.d.ts +2 -2
  116. package/types/physics/joint/SpringJoint.d.ts +1 -1
  117. package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +7 -0
  118. package/types/renderingHardwareInterface/IPlatformTexture2D.d.ts +1 -1
  119. package/types/renderingHardwareInterface/IPlatformTexture2DArray.d.ts +1 -1
  120. package/types/renderingHardwareInterface/IPlatformTextureCube.d.ts +1 -1
  121. package/types/renderingHardwareInterface/index.d.ts +1 -0
  122. package/types/shader/Shader.d.ts +54 -23
  123. package/types/shader/ShaderData.d.ts +24 -24
  124. package/types/shader/ShaderMacro.d.ts +16 -0
  125. package/types/shader/ShaderPart.d.ts +41 -0
  126. package/types/shader/ShaderPass.d.ts +9 -2
  127. package/types/shader/ShaderProperty.d.ts +7 -0
  128. package/types/shader/ShaderTagKey.d.ts +16 -0
  129. package/types/shader/SubShader.d.ts +19 -0
  130. package/types/shader/enums/RenderStateElementKey.d.ts +58 -0
  131. package/types/shader/index.d.ts +6 -1
  132. package/types/shader/state/index.d.ts +6 -0
  133. package/types/shadow/CascadedShadowCasterPass.d.ts +6 -7
  134. package/types/sky/Sky.d.ts +12 -4
  135. package/types/sky/SkyBoxMaterial.d.ts +27 -9
  136. package/types/sky/SkyProceduralMaterial.d.ts +72 -0
  137. package/types/sky/index.d.ts +1 -0
  138. package/types/texture/RenderTarget.d.ts +3 -8
  139. package/types/texture/Texture.d.ts +8 -6
  140. package/types/texture/Texture2D.d.ts +4 -2
  141. package/types/texture/Texture2DArray.d.ts +1 -1
  142. package/types/texture/TextureCube.d.ts +1 -1
  143. package/types/texture/enums/TextureFormat.d.ts +55 -49
  144. package/types/texture/enums/TextureUsage.d.ts +9 -0
  145. package/types/texture/index.d.ts +1 -0
  146. package/types/trail/TrailRenderer.d.ts +0 -5
  147. package/types/utils/SafeLoopArray.d.ts +41 -0
@@ -1,4 +1,5 @@
1
1
  import { Component } from "../Component";
2
+ import { Entity } from "../Entity";
2
3
  /**
3
4
  * Custom clone interface.
4
5
  */
@@ -10,5 +11,5 @@ export declare class ComponentCloner {
10
11
  * @param source - Clone source
11
12
  * @param target - Clone target
12
13
  */
13
- static cloneComponent(source: Component, target: Component): void;
14
+ static cloneComponent(source: Component, target: Component, srcRoot: Entity, targetRoot: Entity): void;
14
15
  }
@@ -0,0 +1,6 @@
1
+ export declare enum ActiveChangeFlag {
2
+ None = 0,
3
+ Scene = 1,
4
+ Hierarchy = 2,
5
+ All = 3
6
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Depth texture mode.
3
+ */
4
+ export declare enum DepthTextureMode {
5
+ None = 0,
6
+ PrePass = 1
7
+ }
@@ -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,13 @@ 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;
14
+ private _readable;
15
+ private _data;
17
16
  /**
18
17
  * Buffer binding flag.
19
18
  */
@@ -26,22 +25,36 @@ export declare class Buffer extends RefObject {
26
25
  * Buffer usage.
27
26
  */
28
27
  get bufferUsage(): BufferUsage;
28
+ /**
29
+ * If buffer is readable.
30
+ */
31
+ get readable(): boolean;
32
+ /**
33
+ * Buffer data cache.
34
+ *
35
+ * @remarks
36
+ * Buffer must be readable.
37
+ * If the data you get is modified, must call `setData()` to update buffer to GPU.
38
+ */
39
+ get data(): Uint8Array;
29
40
  /**
30
41
  * Create Buffer.
31
42
  * @param engine - Engine
32
43
  * @param type - Buffer binding flag
33
44
  * @param byteLength - Byte length
34
45
  * @param bufferUsage - Buffer usage
46
+ * @param readable - If buffer is readable
35
47
  */
36
- constructor(engine: Engine, type: BufferBindFlag, byteLength: number, bufferUsage?: BufferUsage);
48
+ constructor(engine: Engine, type: BufferBindFlag, byteLength: number, bufferUsage?: BufferUsage, readable?: boolean);
37
49
  /**
38
50
  * Create Buffer.
39
51
  * @param engine - Engine
40
52
  * @param type - Buffer binding flag
41
- * @param data - Byte
53
+ * @param data - Buffer data, if `readable` is true, the`data` property will store a copy of this
42
54
  * @param bufferUsage - Buffer usage
55
+ * @param readable - If buffer is readable
43
56
  */
44
- constructor(engine: Engine, type: BufferBindFlag, data: ArrayBuffer | ArrayBufferView, bufferUsage?: BufferUsage);
57
+ constructor(engine: Engine, type: BufferBindFlag, data: ArrayBuffer | ArrayBufferView, bufferUsage?: BufferUsage, readable?: boolean);
45
58
  /**
46
59
  * Bind buffer.
47
60
  */
@@ -94,12 +107,8 @@ export declare class Buffer extends RefObject {
94
107
  */
95
108
  getData(data: ArrayBufferView, bufferByteOffset: number, dataOffset: number, dataLength: number): void;
96
109
  /**
97
- * @override
98
- * Destroy.
99
- */
100
- _onDestroy(): void;
101
- /**
102
- * @deprecated
110
+ * Mark buffer as readable, the `data` property will be not accessible anymore.
103
111
  */
104
- resize(dataLength: number): void;
112
+ markAsUnreadable(): void;
113
+ _rebuild(): void;
105
114
  }
@@ -4,6 +4,7 @@ export interface ElementInfo {
4
4
  size: number;
5
5
  type: DataType;
6
6
  normalized: boolean;
7
+ normalizedScaleFactor: number;
7
8
  }
8
9
  export declare class BufferUtil {
9
10
  static _getGLIndexType(indexFormat: IndexFormat): DataType;
@@ -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
  }
@@ -1,8 +1,9 @@
1
+ import { IPoolElement } from "../RenderPipeline/IPoolElement";
1
2
  import { MeshTopology } from "./enums/MeshTopology";
2
3
  /**
3
4
  * Sub-mesh, mainly contains drawing information.
4
5
  */
5
- export declare class SubMesh {
6
+ export declare class SubMesh implements IPoolElement {
6
7
  /** Start drawing offset. */
7
8
  start: number;
8
9
  /** Drawing count. */
@@ -16,4 +17,5 @@ export declare class SubMesh {
16
17
  * @param topology - Drawing topology
17
18
  */
18
19
  constructor(start?: number, count?: number, topology?: MeshTopology);
20
+ dispose?(): void;
19
21
  }
@@ -4,16 +4,16 @@ import { VertexElementFormat } from "./enums/VertexElementFormat";
4
4
  * Vertex element.
5
5
  */
6
6
  export declare class VertexElement {
7
- _glElementInfo: ElementInfo;
8
- private _semantic;
7
+ _formatMetaInfo: ElementInfo;
8
+ private _attributeName;
9
9
  private _offset;
10
10
  private _format;
11
11
  private _bindingIndex;
12
12
  private _instanceStepRate;
13
13
  /**
14
- * Vertex semantic.
14
+ * Vertex attribute.
15
15
  */
16
- get semantic(): string;
16
+ get attribute(): string;
17
17
  /**
18
18
  * Vertex data byte offset.
19
19
  */
@@ -34,11 +34,15 @@ export declare class VertexElement {
34
34
  get instanceStepRate(): number;
35
35
  /**
36
36
  * Create vertex element.
37
- * @param semantic - Input vertex semantic
37
+ * @param attribute - Input attribute
38
38
  * @param offset - Vertex data byte offset
39
39
  * @param format - Vertex data format
40
40
  * @param bindingIndex - Vertex buffer binding index
41
41
  * @param instanceStepRate - Instance cadence, the number of instances drawn for each vertex in the buffer, non-instance elements must be 0.
42
42
  */
43
- constructor(semantic: string, offset: number, format: VertexElementFormat, bindingIndex: number, instanceStepRate?: number);
43
+ constructor(attribute: string, offset: number, format: VertexElementFormat, bindingIndex: number, instanceStepRate?: number);
44
+ /**
45
+ * @deprecated use `attributeName` instead
46
+ */
47
+ get semantic(): string;
44
48
  }
package/types/index.d.ts CHANGED
@@ -8,26 +8,25 @@ 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";
29
+ export { DepthTextureMode } from "./enums/DepthTextureMode";
31
30
  export { FogMode } from "./enums/FogMode";
32
31
  export { CameraClearFlags } from "./enums/CameraClearFlags";
33
32
  export { ColorSpace } from "./enums/ColorSpace";
@@ -51,3 +50,6 @@ export * from "./Layer";
51
50
  export * from "./clone/CloneManager";
52
51
  export * from "./renderingHardwareInterface/index";
53
52
  export * from "./physics/index";
53
+ export * from "./Utils";
54
+ export { Basic2DBatcher } from "./RenderPipeline/Basic2DBatcher";
55
+ 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
  */
@@ -1,10 +1,12 @@
1
1
  import { Color, SphericalHarmonics3 } from "@galacean/engine-math";
2
2
  import { TextureCube } from "../texture";
3
3
  import { DiffuseMode } from "./enums/DiffuseMode";
4
+ import { ReferResource } from "../asset/ReferResource";
5
+ import { Engine } from "../Engine";
4
6
  /**
5
7
  * Ambient light.
6
8
  */
7
- export declare class AmbientLight {
9
+ export declare class AmbientLight extends ReferResource {
8
10
  private static _shMacro;
9
11
  private static _specularMacro;
10
12
  private static _decodeRGBMMacro;
@@ -60,6 +62,7 @@ export declare class AmbientLight {
60
62
  */
61
63
  get specularIntensity(): number;
62
64
  set specularIntensity(value: number);
65
+ constructor(engine: Engine);
63
66
  private _setDiffuseMode;
64
67
  private _setSpecularTexture;
65
68
  private _setSpecularTextureDecodeRGBM;
@@ -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
  }
@@ -2,4 +2,5 @@
2
2
  * Light manager.
3
3
  */
4
4
  export declare class LightManager {
5
+ private _getSunLightIndex;
5
6
  }
@@ -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,17 +1,20 @@
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
- /** Shader data. */
14
- readonly shaderData: ShaderData;
13
+ private _shaderData;
14
+ /**
15
+ * Shader data.
16
+ */
17
+ get shaderData(): ShaderData;
15
18
  /**
16
19
  * Shader used by the material.
17
20
  */
@@ -40,10 +43,7 @@ export declare class Material extends RefObject implements IClone {
40
43
  * @param target - target material
41
44
  */
42
45
  cloneTo(target: Material): void;
43
- /**
44
- * @override
45
- */
46
- _addRefCount(value: number): void;
46
+ _addReferCount(value: number): void;
47
47
  /**
48
48
  * @override
49
49
  */
@@ -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
+ }
@@ -27,10 +27,10 @@ export declare class BufferMesh extends Mesh {
27
27
  setVertexElements(elements: VertexElement[]): void;
28
28
  /**
29
29
  * Set vertex buffer binding.
30
- * @param vertexBufferBindings - Vertex buffer binding
30
+ * @param vertexBufferBinding - Vertex buffer binding
31
31
  * @param index - Vertex buffer index, the default value is 0
32
32
  */
33
- setVertexBufferBinding(vertexBufferBindings: VertexBufferBinding, index?: number): void;
33
+ setVertexBufferBinding(vertexBufferBinding: VertexBufferBinding, index?: number): void;
34
34
  /**
35
35
  * Set vertex buffer binding.
36
36
  * @param vertexBuffer - Vertex buffer
@@ -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
  }