@galacean/engine-core 2.0.0-alpha.44 → 2.0.0-alpha.45

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 (236) hide show
  1. package/dist/main.js.map +1 -1
  2. package/dist/module.js.map +1 -1
  3. package/package.json +3 -3
  4. package/types/2d/atlas/FontAtlas.d.ts +23 -1
  5. package/types/2d/atlas/SpriteAtlas.d.ts +8 -0
  6. package/types/2d/sprite/Sprite.d.ts +27 -1
  7. package/types/2d/sprite/SpriteMask.d.ts +43 -0
  8. package/types/2d/sprite/SpriteRenderer.d.ts +29 -0
  9. package/types/2d/text/CharInfo.d.ts +20 -1
  10. package/types/2d/text/CharRenderInfo.d.ts +15 -1
  11. package/types/2d/text/Font.d.ts +10 -0
  12. package/types/2d/text/SubFont.d.ts +35 -1
  13. package/types/2d/text/TextRenderer.d.ts +53 -0
  14. package/types/2d/text/TextUtils.d.ts +89 -1
  15. package/types/Background.d.ts +17 -0
  16. package/types/BasicResources.d.ts +52 -0
  17. package/types/Camera.d.ts +71 -1
  18. package/types/Canvas.d.ts +13 -0
  19. package/types/Component.d.ts +33 -0
  20. package/types/ComponentsDependencies.d.ts +34 -1
  21. package/types/ComponentsManager.d.ts +17 -0
  22. package/types/Engine.d.ts +106 -2
  23. package/types/Entity.d.ts +88 -0
  24. package/types/Polyfill.d.ts +12 -1
  25. package/types/RenderPipeline/BasicRenderPipeline.d.ts +3 -0
  26. package/types/RenderPipeline/BatcherManager.d.ts +23 -1
  27. package/types/RenderPipeline/CullingResults.d.ts +17 -1
  28. package/types/RenderPipeline/DepthOnlyPass.d.ts +18 -1
  29. package/types/RenderPipeline/InstanceBuffer.d.ts +28 -1
  30. package/types/RenderPipeline/MaskManager.d.ts +36 -1
  31. package/types/RenderPipeline/OpaqueTexturePass.d.ts +16 -1
  32. package/types/RenderPipeline/PipelineUtils.d.ts +11 -1
  33. package/types/RenderPipeline/PrimitiveChunk.d.ts +27 -1
  34. package/types/RenderPipeline/PrimitiveChunkManager.d.ts +16 -1
  35. package/types/RenderPipeline/RenderContext.d.ts +46 -1
  36. package/types/RenderPipeline/RenderElement.d.ts +9 -0
  37. package/types/RenderPipeline/RenderQueue.d.ts +23 -1
  38. package/types/RenderPipeline/RenderTargetPool.d.ts +17 -1
  39. package/types/RenderPipeline/SubPrimitiveChunk.d.ts +14 -1
  40. package/types/RenderPipeline/VertexArea.d.ts +10 -1
  41. package/types/RenderPipeline/VertexMergeBatcher.d.ts +11 -1
  42. package/types/RenderPipeline/enums/RenderQueueMaskType.d.ts +9 -1
  43. package/types/RenderPipeline/index.d.ts +2 -0
  44. package/types/Renderer.d.ts +58 -0
  45. package/types/Scene.d.ts +28 -0
  46. package/types/SceneManager.d.ts +13 -0
  47. package/types/Script.d.ts +40 -0
  48. package/types/SystemInfo.d.ts +10 -0
  49. package/types/Transform.d.ts +13 -0
  50. package/types/UpdateFlag.d.ts +3 -0
  51. package/types/UpdateFlagManager.d.ts +41 -1
  52. package/types/Utils.d.ts +20 -0
  53. package/types/VirtualCamera.d.ts +16 -1
  54. package/types/animation/AnimationClip.d.ts +5 -0
  55. package/types/animation/AnimationClipCurveBinding.d.ts +16 -1
  56. package/types/animation/Animator.d.ts +25 -0
  57. package/types/animation/AnimatorController.d.ts +17 -0
  58. package/types/animation/AnimatorControllerLayer.d.ts +9 -0
  59. package/types/animation/AnimatorControllerParameter.d.ts +4 -0
  60. package/types/animation/AnimatorState.d.ts +44 -0
  61. package/types/animation/AnimatorStateInstance.d.ts +8 -0
  62. package/types/animation/AnimatorStateMachine.d.ts +14 -0
  63. package/types/animation/AnimatorStateTransition.d.ts +9 -0
  64. package/types/animation/AnimatorStateTransitionCollection.d.ts +23 -1
  65. package/types/animation/StateMachineScript.d.ts +2 -0
  66. package/types/animation/animationCurve/AnimationArrayCurve.d.ts +39 -0
  67. package/types/animation/animationCurve/AnimationBoolCurve.d.ts +39 -0
  68. package/types/animation/animationCurve/AnimationColorCurve.d.ts +39 -0
  69. package/types/animation/animationCurve/AnimationCurve.d.ts +8 -0
  70. package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +38 -0
  71. package/types/animation/animationCurve/AnimationFloatCurve.d.ts +39 -0
  72. package/types/animation/animationCurve/AnimationQuaternionCurve.d.ts +41 -0
  73. package/types/animation/animationCurve/AnimationRectCurve.d.ts +18 -0
  74. package/types/animation/animationCurve/AnimationRefCurve.d.ts +18 -0
  75. package/types/animation/animationCurve/AnimationStringCurve.d.ts +39 -0
  76. package/types/animation/animationCurve/AnimationVector2Curve.d.ts +39 -0
  77. package/types/animation/animationCurve/AnimationVector3Curve.d.ts +43 -0
  78. package/types/animation/animationCurve/AnimationVector4Curve.d.ts +39 -0
  79. package/types/animation/animationCurve/interfaces/IAnimationCurveCalculator.d.ts +18 -1
  80. package/types/animation/enums/AnimatorStatePlayState.d.ts +8 -1
  81. package/types/animation/internal/AnimationCurveLayerOwner.d.ts +15 -1
  82. package/types/animation/internal/AnimationEventHandler.d.ts +8 -1
  83. package/types/animation/internal/AnimatorLayerData.d.ts +28 -1
  84. package/types/animation/internal/AnimatorStateData.d.ts +14 -1
  85. package/types/animation/internal/AnimatorStatePlayData.d.ts +27 -1
  86. package/types/animation/internal/AnimatorTempValue.d.ts +12 -1
  87. package/types/animation/internal/animationCurveOwner/AnimationCurveOwner.d.ts +39 -0
  88. package/types/animation/internal/animationCurveOwner/assembler/BlendShapeWeightsAnimationCurveOwnerAssembler.d.ts +12 -1
  89. package/types/animation/internal/animationCurveOwner/assembler/IAnimationCurveOwnerAssembler.d.ts +10 -1
  90. package/types/animation/internal/animationCurveOwner/assembler/PositionAnimationCurveOwnerAssembler.d.ts +13 -1
  91. package/types/animation/internal/animationCurveOwner/assembler/RotationAnimationCurveOwnerAssembler.d.ts +13 -1
  92. package/types/animation/internal/animationCurveOwner/assembler/ScaleAnimationCurveOwnerAssembler.d.ts +13 -1
  93. package/types/animation/internal/animationCurveOwner/assembler/UniversalAnimationCurveOwnerAssembler.d.ts +23 -1
  94. package/types/asset/GraphicsResource.d.ts +10 -0
  95. package/types/asset/IReferable.d.ts +8 -0
  96. package/types/asset/ReferResource.d.ts +28 -0
  97. package/types/asset/RenderingStatistics.d.ts +8 -0
  98. package/types/asset/ResourceManager.d.ts +94 -4
  99. package/types/audio/AudioClip.d.ts +8 -0
  100. package/types/audio/AudioManager.d.ts +14 -0
  101. package/types/audio/AudioSource.d.ts +17 -0
  102. package/types/base/EngineObject.d.ts +4 -0
  103. package/types/base/Time.d.ts +13 -0
  104. package/types/clone/CloneDecorators.d.ts +20 -0
  105. package/types/clone/CloneUtil.d.ts +30 -1
  106. package/types/clone/ComponentCloner.d.ts +11 -1
  107. package/types/enums/CameraType.d.ts +9 -1
  108. package/types/env-probe/CubeProbe.d.ts +2 -0
  109. package/types/graphic/Buffer.d.ts +10 -0
  110. package/types/graphic/BufferUtil.d.ts +5 -0
  111. package/types/graphic/IndexBufferBinding.d.ts +4 -0
  112. package/types/graphic/Mesh.d.ts +54 -0
  113. package/types/graphic/Primitive.d.ts +50 -1
  114. package/types/graphic/TransformFeedback.d.ts +46 -1
  115. package/types/graphic/TransformFeedbackPrimitive.d.ts +67 -1
  116. package/types/graphic/TransformFeedbackSimulator.d.ts +55 -1
  117. package/types/graphic/VertexBufferBinding.d.ts +4 -0
  118. package/types/input/InputManager.d.ts +19 -0
  119. package/types/input/enums/PointerButton.d.ts +8 -0
  120. package/types/input/keyboard/KeyboardManager.d.ts +41 -1
  121. package/types/input/pointer/Pointer.d.ts +36 -0
  122. package/types/input/pointer/PointerEventData.d.ts +4 -0
  123. package/types/input/pointer/PointerManager.d.ts +58 -0
  124. package/types/input/pointer/emitter/IHitResult.d.ts +11 -1
  125. package/types/input/pointer/emitter/PhysicsPointerEventEmitter.d.ts +20 -1
  126. package/types/input/wheel/WheelManager.d.ts +34 -1
  127. package/types/lighting/AmbientLight.d.ts +9 -0
  128. package/types/lighting/DirectLight.d.ts +17 -0
  129. package/types/lighting/Light.d.ts +2 -0
  130. package/types/lighting/LightManager.d.ts +57 -0
  131. package/types/lighting/PointLight.d.ts +17 -0
  132. package/types/lighting/SpotLight.d.ts +17 -0
  133. package/types/lighting/ambientOcclusion/AmbientOcclusion.d.ts +4 -0
  134. package/types/lighting/ambientOcclusion/ScalableAmbientObscurancePass.d.ts +38 -1
  135. package/types/material/BaseMaterial.d.ts +4 -0
  136. package/types/material/Material.d.ts +2 -0
  137. package/types/mesh/BlendShape.d.ts +13 -0
  138. package/types/mesh/BlendShapeFrame.d.ts +7 -0
  139. package/types/mesh/BlendShapeManager.d.ts +101 -1
  140. package/types/mesh/MeshRenderer.d.ts +37 -0
  141. package/types/mesh/ModelMesh.d.ts +18 -0
  142. package/types/mesh/PrimitiveMesh.d.ts +28 -0
  143. package/types/mesh/PrimitiveMeshRestorer.d.ts +107 -0
  144. package/types/mesh/Skin.d.ts +10 -0
  145. package/types/mesh/SkinnedMeshRenderer.d.ts +21 -0
  146. package/types/particle/ParticleBufferUtils.d.ts +26 -1
  147. package/types/particle/ParticleGenerator.d.ts +102 -0
  148. package/types/particle/ParticleRenderer.d.ts +55 -0
  149. package/types/particle/ParticleTransformFeedbackSimulator.d.ts +52 -1
  150. package/types/particle/enums/ParticleRandomSubSeeds.d.ts +25 -1
  151. package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +6 -1
  152. package/types/particle/enums/attributes/ParticleFeedbackVertexAttribute.d.ts +8 -1
  153. package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +17 -1
  154. package/types/particle/modules/ColorOverLifetimeModule.d.ts +12 -0
  155. package/types/particle/modules/CustomDataModule.d.ts +5 -0
  156. package/types/particle/modules/EmissionModule.d.ts +28 -0
  157. package/types/particle/modules/ForceOverLifetimeModule.d.ts +16 -1
  158. package/types/particle/modules/LimitVelocityOverLifetimeModule.d.ts +20 -1
  159. package/types/particle/modules/MainModule.d.ts +33 -1
  160. package/types/particle/modules/NoiseModule.d.ts +12 -1
  161. package/types/particle/modules/ParticleCompositeCurve.d.ts +37 -0
  162. package/types/particle/modules/ParticleCurve.d.ts +28 -0
  163. package/types/particle/modules/ParticleGeneratorModule.d.ts +7 -0
  164. package/types/particle/modules/ParticleGradient.d.ts +16 -0
  165. package/types/particle/modules/RotationOverLifetimeModule.d.ts +12 -0
  166. package/types/particle/modules/SizeOverLifetimeModule.d.ts +16 -0
  167. package/types/particle/modules/SubEmitter.d.ts +3 -0
  168. package/types/particle/modules/SubEmittersModule.d.ts +17 -0
  169. package/types/particle/modules/TextureSheetAnimationModule.d.ts +14 -1
  170. package/types/particle/modules/VelocityOverLifetimeModule.d.ts +28 -1
  171. package/types/particle/modules/shape/BaseShape.d.ts +33 -1
  172. package/types/particle/modules/shape/BoxShape.d.ts +13 -1
  173. package/types/particle/modules/shape/CircleShape.d.ts +13 -0
  174. package/types/particle/modules/shape/ConeShape.d.ts +13 -0
  175. package/types/particle/modules/shape/HemisphereShape.d.ts +13 -0
  176. package/types/particle/modules/shape/MeshShape.d.ts +17 -0
  177. package/types/particle/modules/shape/ShapeUtils.d.ts +13 -1
  178. package/types/particle/modules/shape/SphereShape.d.ts +13 -0
  179. package/types/physics/CharacterController.d.ts +21 -0
  180. package/types/physics/Collider.d.ts +39 -0
  181. package/types/physics/Collision.d.ts +3 -0
  182. package/types/physics/DynamicCollider.d.ts +14 -0
  183. package/types/physics/PhysicsMaterial.d.ts +3 -0
  184. package/types/physics/PhysicsScene.d.ts +51 -0
  185. package/types/physics/StaticCollider.d.ts +5 -0
  186. package/types/physics/enums/ColliderShapeChangeFlag.d.ts +8 -1
  187. package/types/physics/enums/HingeJointFlag.d.ts +14 -1
  188. package/types/physics/joint/HingeJoint.d.ts +4 -0
  189. package/types/physics/joint/Joint.d.ts +20 -0
  190. package/types/physics/joint/JointLimits.d.ts +3 -0
  191. package/types/physics/joint/JointMotor.d.ts +3 -0
  192. package/types/physics/shape/ColliderShape.d.ts +17 -0
  193. package/types/physics/shape/MeshColliderShape.d.ts +4 -0
  194. package/types/postProcess/FinalPass.d.ts +19 -1
  195. package/types/postProcess/PostProcess.d.ts +2 -0
  196. package/types/postProcess/PostProcessEffect.d.ts +4 -0
  197. package/types/postProcess/PostProcessEffectParameter.d.ts +4 -0
  198. package/types/postProcess/PostProcessManager.d.ts +43 -0
  199. package/types/postProcess/effects/BloomEffect.d.ts +25 -0
  200. package/types/postProcess/effects/TonemappingEffect.d.ts +3 -0
  201. package/types/renderingHardwareInterface/IPlatformTransformFeedback.d.ts +36 -1
  202. package/types/renderingHardwareInterface/IPlatformTransformFeedbackPrimitive.d.ts +40 -1
  203. package/types/shader/Shader.d.ts +22 -0
  204. package/types/shader/ShaderBlockProperty.d.ts +19 -1
  205. package/types/shader/ShaderData.d.ts +29 -0
  206. package/types/shader/ShaderFactory.d.ts +23 -0
  207. package/types/shader/ShaderMacro.d.ts +15 -0
  208. package/types/shader/ShaderMacroCollection.d.ts +57 -1
  209. package/types/shader/ShaderMacroProcessor.d.ts +72 -1
  210. package/types/shader/ShaderPass.d.ts +38 -0
  211. package/types/shader/ShaderProgram.d.ts +91 -1
  212. package/types/shader/ShaderProgramMap.d.ts +20 -1
  213. package/types/shader/ShaderProperty.d.ts +17 -0
  214. package/types/shader/ShaderTagKey.d.ts +2 -0
  215. package/types/shader/ShaderUniform.d.ts +49 -1
  216. package/types/shader/ShaderUniformBlock.d.ts +9 -1
  217. package/types/shader/enums/ConstantBufferBindingPoint.d.ts +7 -1
  218. package/types/shader/state/BlendState.d.ts +14 -0
  219. package/types/shader/state/DepthState.d.ts +14 -0
  220. package/types/shader/state/RasterState.d.ts +17 -0
  221. package/types/shader/state/RenderState.d.ts +11 -0
  222. package/types/shader/state/StencilState.d.ts +13 -0
  223. package/types/shadow/CascadedShadowCasterPass.d.ts +5 -0
  224. package/types/shadow/ShadowSliceData.d.ts +13 -1
  225. package/types/shadow/ShadowUtils.d.ts +43 -1
  226. package/types/sky/Sky.d.ts +9 -0
  227. package/types/texture/RenderTarget.d.ts +21 -0
  228. package/types/texture/Texture.d.ts +21 -0
  229. package/types/texture/Texture2D.d.ts +4 -0
  230. package/types/texture/Texture2DArray.d.ts +4 -0
  231. package/types/texture/TextureCube.d.ts +4 -0
  232. package/types/texture/TextureUtils.d.ts +16 -1
  233. package/types/trail/TrailRenderer.d.ts +5 -0
  234. package/types/ui/IUICanvas.d.ts +16 -1
  235. package/types/utils/DisorderedArray.d.ts +2 -0
  236. package/types/xr/XRManager.d.ts +28 -0
@@ -5,6 +5,10 @@ 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
+ /** @internal */
9
+ static _shadowCasterRenderQueueProp: ShaderProperty;
10
+ /** @internal */
11
+ static _depthOnlyRenderQueueProp: ShaderProperty;
8
12
  protected static _baseTextureMacro: ShaderMacro;
9
13
  protected static _normalTextureMacro: ShaderMacro;
10
14
  protected static _emissiveTextureMacro: ShaderMacro;
@@ -9,6 +9,8 @@ import { ShaderData } from "../shader/ShaderData";
9
9
  export declare class Material extends ReferResource implements IClone {
10
10
  /** Name. */
11
11
  name: string;
12
+ /** @internal */
13
+ _shader: Shader;
12
14
  private _shaderData;
13
15
  /**
14
16
  * Shader data.
@@ -1,4 +1,5 @@
1
1
  import { Vector3 } from "@galacean/engine-math";
2
+ import { UpdateFlagManager } from "../UpdateFlagManager";
2
3
  import { BlendShapeFrame } from "./BlendShapeFrame";
3
4
  /**
4
5
  * BlendShape.
@@ -6,6 +7,14 @@ import { BlendShapeFrame } from "./BlendShapeFrame";
6
7
  export declare class BlendShape {
7
8
  /** Name of BlendShape. */
8
9
  name: string;
10
+ /** @internal */
11
+ _useBlendShapeNormal: boolean;
12
+ /** @internal */
13
+ _useBlendShapeTangent: boolean;
14
+ /** @internal */
15
+ _layoutChangeManager: UpdateFlagManager;
16
+ /** @internal */
17
+ _dataChangeManager: UpdateFlagManager;
9
18
  private _frames;
10
19
  /**
11
20
  * Frames of BlendShape.
@@ -33,6 +42,10 @@ export declare class BlendShape {
33
42
  * Clear all frames.
34
43
  */
35
44
  clearFrames(): void;
45
+ /**
46
+ * @internal
47
+ */
48
+ _releaseData(): void;
36
49
  private _addFrame;
37
50
  private _updateUseNormalAndTangent;
38
51
  private _frameDataChangeListener;
@@ -1,10 +1,13 @@
1
1
  import { Vector3 } from "@galacean/engine-math";
2
+ import { UpdateFlagManager } from "../UpdateFlagManager";
2
3
  /**
3
4
  * BlendShapeFrame.
4
5
  */
5
6
  export declare class BlendShapeFrame {
6
7
  /** Weight of BlendShapeFrame. */
7
8
  readonly weight: number;
9
+ /** @internal */
10
+ _dataChangeManager: UpdateFlagManager;
8
11
  private _dirty;
9
12
  private _deltaPositions;
10
13
  private _deltaNormals;
@@ -35,6 +38,10 @@ export declare class BlendShapeFrame {
35
38
  * @param deltaTangents - Delta tangents for the frame being added
36
39
  */
37
40
  constructor(weight: number, deltaPositions: Vector3[], deltaNormals?: Vector3[], deltaTangents?: Vector3[]);
41
+ /**
42
+ * @internal
43
+ */
44
+ _releaseData(): void;
38
45
  }
39
46
  export declare enum BlendShapeFrameDirty {
40
47
  Position = 1,
@@ -1 +1,101 @@
1
- export {};
1
+ import { BoolUpdateFlag } from "../BoolUpdateFlag";
2
+ import { Engine } from "../Engine";
3
+ import { Buffer } from "../graphic/Buffer";
4
+ import { ShaderData } from "../shader/ShaderData";
5
+ import { Texture2DArray } from "../texture";
6
+ import { BlendShape } from "./BlendShape";
7
+ import { ModelMesh } from "./ModelMesh";
8
+ import { SkinnedMeshRenderer } from "./SkinnedMeshRenderer";
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare class BlendShapeManager {
13
+ private static _blendShapeMacro;
14
+ private static _blendShapeTextureMacro;
15
+ private static _blendShapeNormalMacro;
16
+ private static _blendShapeTangentMacro;
17
+ private static _blendShapeWeightsProperty;
18
+ private static _blendShapeTextureProperty;
19
+ private static _blendShapeTextureInfoProperty;
20
+ /** @internal */
21
+ _blendShapeCount: number;
22
+ /** @internal */
23
+ _blendShapes: BlendShape[];
24
+ /** @internal */
25
+ _subDataDirtyFlags: BoolUpdateFlag[];
26
+ /** @internal */
27
+ _vertexTexture: Texture2DArray;
28
+ /** @internal */
29
+ _vertexBuffers: Buffer[];
30
+ /** @internal */
31
+ _vertices: Float32Array;
32
+ /** @internal */
33
+ _uniformOccupiesCount: number;
34
+ /** @internal */
35
+ _bufferBindingOffset: number;
36
+ /** @internal */
37
+ _vertexElementOffset: number;
38
+ private _useBlendNormal;
39
+ private _useBlendTangent;
40
+ private _vertexElementCount;
41
+ private _storeInVertexBufferInfo;
42
+ private _maxCountSingleVertexBuffer;
43
+ private readonly _engine;
44
+ private readonly _modelMesh;
45
+ private readonly _lastHostCreatedInfo;
46
+ private readonly _canUseTextureStoreData;
47
+ private readonly _dataTextureInfo;
48
+ constructor(engine: Engine, modelMesh: ModelMesh);
49
+ /**
50
+ * @internal
51
+ */
52
+ _addBlendShape(blendShape: BlendShape): void;
53
+ /**
54
+ * @internal
55
+ */
56
+ _clearBlendShapes(): void;
57
+ /**
58
+ * @internal
59
+ */
60
+ _updateShaderData(shaderData: ShaderData, skinnedMeshRenderer: SkinnedMeshRenderer): void;
61
+ /**
62
+ * @internal
63
+ */
64
+ _useTextureMode(): boolean;
65
+ /**
66
+ * @internal
67
+ */
68
+ _isCreateHost(vertexCount: number): boolean;
69
+ /**
70
+ * @internal
71
+ */
72
+ _vertexElementsNeedUpdate(): boolean;
73
+ /**
74
+ * @internal
75
+ */
76
+ _needUpdateData(): boolean;
77
+ private _updateVertexBufferIndex;
78
+ /**
79
+ * @internal
80
+ */
81
+ _addVertexElements(modelMesh: ModelMesh): number;
82
+ /**
83
+ * @internal
84
+ */
85
+ _update(noLongerReadable: boolean): void;
86
+ /**
87
+ * @internal
88
+ */
89
+ _releaseMemoryCache(): void;
90
+ private _createVertexBuffers;
91
+ private _createTextureArray;
92
+ /**
93
+ * @internal
94
+ */
95
+ _updateVertexBuffers(vertexCount: number, force: boolean): void;
96
+ private _updateTextureArray;
97
+ private _updateLayoutChange;
98
+ private _attributeModeUpdateVertexElement;
99
+ private _getVertexBufferModeSupportCount;
100
+ private _filterCondensedBlendShapeWeights;
101
+ }
@@ -1,14 +1,23 @@
1
+ import { BoundingBox } from "@galacean/engine-math";
2
+ import { Entity } from "../Entity";
3
+ import { RenderContext } from "../RenderPipeline/RenderContext";
4
+ import { RenderElement } from "../RenderPipeline/RenderElement";
1
5
  import { Renderer } from "../Renderer";
2
6
  import { Mesh } from "../graphic/Mesh";
7
+ import { ShaderMacro } from "../shader/ShaderMacro";
3
8
  /**
4
9
  * MeshRenderer Component.
5
10
  */
6
11
  export declare class MeshRenderer extends Renderer {
12
+ /** @internal */
13
+ static _enableVertexColorMacro: ShaderMacro;
7
14
  private static _uvMacro;
8
15
  private static _uv1Macro;
9
16
  private static _normalMacro;
10
17
  private static _tangentMacro;
11
18
  private _enableVertexColor;
19
+ /** @internal */
20
+ _mesh: Mesh;
12
21
  /**
13
22
  * Mesh assigned to the renderer.
14
23
  */
@@ -19,10 +28,38 @@ export declare class MeshRenderer extends Renderer {
19
28
  */
20
29
  get enableVertexColor(): boolean;
21
30
  set enableVertexColor(value: boolean);
31
+ /**
32
+ * @internal
33
+ */
34
+ constructor(entity: Entity);
35
+ /**
36
+ * @internal
37
+ */
38
+ protected _onDestroy(): void;
22
39
  /**
23
40
  * @inheritdoc
24
41
  */
25
42
  _onClone(target: MeshRenderer): void;
43
+ /**
44
+ * @internal
45
+ */
46
+ _prepareRender(context: RenderContext): void;
47
+ /**
48
+ * @internal
49
+ */
50
+ protected _updateBounds(worldBounds: BoundingBox): void;
51
+ /**
52
+ * @internal
53
+ */
54
+ protected _render(context: RenderContext): void;
55
+ /**
56
+ * @internal
57
+ */
58
+ _canBatch(preElement: RenderElement, curElement: RenderElement): boolean;
59
+ /**
60
+ * @internal
61
+ */
62
+ _batch(preElement: RenderElement | null, curElement: RenderElement): void;
26
63
  private _setMesh;
27
64
  private _onMeshChanged;
28
65
  }
@@ -1,10 +1,12 @@
1
1
  import { Color, Vector2, Vector3, Vector4 } from "@galacean/engine-math";
2
2
  import { Engine } from "../Engine";
3
+ import { DataType, TypedArray } from "../base";
3
4
  import { Buffer } from "../graphic/Buffer";
4
5
  import { Mesh } from "../graphic/Mesh";
5
6
  import { VertexBufferBinding } from "../graphic/VertexBufferBinding";
6
7
  import { VertexElement } from "../graphic/VertexElement";
7
8
  import { BlendShape } from "./BlendShape";
9
+ import { BlendShapeManager } from "./BlendShapeManager";
8
10
  import { VertexAttribute } from "./enums/VertexAttribute";
9
11
  /**
10
12
  * Mesh containing common vertex elements of the model.
@@ -15,6 +17,10 @@ export declare class ModelMesh extends Mesh {
15
17
  private static _tempVec2;
16
18
  private static _tempVec3;
17
19
  private static _tempVec4;
20
+ /** @internal */
21
+ _blendShapeManager: BlendShapeManager;
22
+ /** @internal */
23
+ _internalVertexBufferIndex: number;
18
24
  private _vertexCount;
19
25
  private _vertexCountDirty;
20
26
  private _dataVersionCounter;
@@ -222,6 +228,18 @@ export declare class ModelMesh extends Mesh {
222
228
  * @remark based on http://foundationsofgameenginedev.com/FGED2-sample.pdf
223
229
  */
224
230
  calculateTangents(): void;
231
+ /**
232
+ * @internal
233
+ */
234
+ _setVertexBufferBinding(index: number, binding: VertexBufferBinding): void;
235
+ /**
236
+ * @internal
237
+ */
238
+ _getVertexTypedArray(vertexDataBuffer: ArrayBufferLike, dataType: DataType): TypedArray;
239
+ /**
240
+ * @internal
241
+ */
242
+ protected _onDestroy(): void;
225
243
  private _getVertexElementData;
226
244
  private _beforeSetAdvancedVertexData;
227
245
  private _updateAdvancedVertexDataMarks;
@@ -96,6 +96,18 @@ export declare class PrimitiveMesh {
96
96
  * @returns Capsule model mesh
97
97
  */
98
98
  static createCapsule(engine: Engine, radius?: number, height?: number, radialSegments?: number, heightSegments?: number, noLongerAccessible?: boolean): ModelMesh;
99
+ /**
100
+ * @internal
101
+ */
102
+ static _setSubdivisionSurfaceSphereData(sphereMesh: ModelMesh, radius: number, step: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
103
+ /**
104
+ * @internal
105
+ */
106
+ static _setSphereData(sphereMesh: ModelMesh, radius: number, segments: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
107
+ /**
108
+ * @internal
109
+ */
110
+ static _subdiveCatmullClark(step: number, positions: Float32Array, cells: Float32Array): void;
99
111
  /**
100
112
  * Duplicate vertices at the poles and adjust their UV coordinates.
101
113
  */
@@ -104,7 +116,23 @@ export declare class PrimitiveMesh {
104
116
  * Get edge point index for subdivision surface sphere.
105
117
  */
106
118
  private static _calculateEdgeIndex;
119
+ /**
120
+ * @internal
121
+ */
122
+ static _setCuboidData(cuboidMesh: ModelMesh, width: number, height: number, depth: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
123
+ /**
124
+ * @internal
125
+ */
126
+ static _setPlaneData(planeMesh: ModelMesh, width: number, height: number, horizontalSegments: number, verticalSegments: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
107
127
  static _setCylinderData(cylinderMesh: ModelMesh, radiusTop: number, radiusBottom: number, height: number, radialSegments: number, heightSegments: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
128
+ /**
129
+ * @internal
130
+ */
131
+ static _setTorusData(torusMesh: ModelMesh, radius: number, tubeRadius: number, radialSegments: number, tubularSegments: number, arc: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
132
+ /**
133
+ * @internal
134
+ */
135
+ static _setConeData(coneMesh: ModelMesh, radius: number, height: number, radialSegments: number, heightSegments: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
108
136
  static _setCapsuleData(capsuleMesh: ModelMesh, radius: number, height: number, radialSegments: number, heightSegments: number, noLongerAccessible: boolean, isRestoreMode: boolean, restoreVertexBuffer?: Buffer): void;
109
137
  private static _initialize;
110
138
  private static _generateIndices;
@@ -1 +1,108 @@
1
+ import { ContentRestorer } from "../asset/ContentRestorer";
2
+ import { Buffer } from "../graphic/Buffer";
3
+ import { ModelMesh } from "./ModelMesh";
4
+ /**
5
+ * @internal
6
+ */
7
+ export declare class PrimitiveMeshRestorer extends ContentRestorer<ModelMesh> {
8
+ primitiveInfo: PrimitiveRestoreInfo;
9
+ constructor(resource: ModelMesh, primitiveInfo: PrimitiveRestoreInfo);
10
+ restoreContent(): void;
11
+ }
12
+ declare enum PrimitiveType {
13
+ Sphere = 0,
14
+ Cuboid = 1,
15
+ Plane = 2,
16
+ Cylinder = 3,
17
+ Torus = 4,
18
+ Cone = 5,
19
+ Capsule = 6,
20
+ CCSphere = 7
21
+ }
22
+ /**
23
+ * @internal
24
+ */
25
+ export declare class PrimitiveRestoreInfo {
26
+ type: PrimitiveType;
27
+ vertexBuffer: Buffer;
28
+ noLongerAccessible: boolean;
29
+ constructor(type: PrimitiveType, vertexBuffer: Buffer, noLongerAccessible: boolean);
30
+ }
31
+ /**
32
+ * @internal
33
+ */
34
+ export declare class SphereRestoreInfo extends PrimitiveRestoreInfo {
35
+ radius: number;
36
+ segments: number;
37
+ constructor(radius: number, segments: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
38
+ }
39
+ /**
40
+ * @internal
41
+ */
42
+ export declare class SubdivisionSurfaceSphereRestoreInfo extends PrimitiveRestoreInfo {
43
+ radius: number;
44
+ step: number;
45
+ constructor(radius: number, step: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
46
+ }
47
+ /**
48
+ * @internal
49
+ */
50
+ export declare class CuboidRestoreInfo extends PrimitiveRestoreInfo {
51
+ width: number;
52
+ height: number;
53
+ depth: number;
54
+ constructor(width: number, height: number, depth: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
55
+ }
56
+ /**
57
+ * @internal
58
+ */
59
+ export declare class PlaneRestoreInfo extends PrimitiveRestoreInfo {
60
+ width: number;
61
+ height: number;
62
+ horizontalSegments: number;
63
+ verticalSegments: number;
64
+ constructor(width: number, height: number, horizontalSegments: number, verticalSegments: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
65
+ }
66
+ /**
67
+ * @internal
68
+ */
69
+ export declare class CylinderRestoreInfo extends PrimitiveRestoreInfo {
70
+ radiusTop: number;
71
+ radiusBottom: number;
72
+ height: number;
73
+ radialSegments: number;
74
+ heightSegments: number;
75
+ constructor(radiusTop: number, radiusBottom: number, height: number, radialSegments: number, heightSegments: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
76
+ }
77
+ /**
78
+ * @internal
79
+ */
80
+ export declare class TorusRestoreInfo extends PrimitiveRestoreInfo {
81
+ radius: number;
82
+ tubeRadius: number;
83
+ radialSegments: number;
84
+ tubularSegments: number;
85
+ arc: number;
86
+ constructor(radius: number, tubeRadius: number, radialSegments: number, tubularSegments: number, arc: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
87
+ }
88
+ /**
89
+ * @internal
90
+ */
91
+ export declare class ConeRestoreInfo extends PrimitiveRestoreInfo {
92
+ radius: number;
93
+ height: number;
94
+ radialSegments: number;
95
+ heightSegments: number;
96
+ constructor(radius: number, height: number, radialSegments: number, heightSegments: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
97
+ }
98
+ /**
99
+ * @internal
100
+ */
101
+ export declare class CapsuleRestoreInfo extends PrimitiveRestoreInfo {
102
+ radius: number;
103
+ height: number;
104
+ radialSegments: number;
105
+ heightSegments: number;
106
+ constructor(radius: number, height: number, radialSegments: number, heightSegments: number, vertexBuffer: Buffer, noLongerAccessible: boolean);
107
+ }
1
108
  export {};
@@ -1,6 +1,8 @@
1
1
  import { Matrix } from "@galacean/engine-math";
2
2
  import { Entity } from "../Entity";
3
+ import { UpdateFlagManager } from "../UpdateFlagManager";
3
4
  import { DataObject } from "../base/DataObject";
5
+ import { SkinnedMeshRenderer } from "./SkinnedMeshRenderer";
4
6
  /**
5
7
  * Skin used for skinned mesh renderer.
6
8
  */
@@ -8,6 +10,10 @@ export declare class Skin extends DataObject {
8
10
  name: string;
9
11
  /** Inverse bind matrices. */
10
12
  inverseBindMatrices: Matrix[];
13
+ /** @internal */
14
+ _skinMatrices: Float32Array;
15
+ /** @internal */
16
+ _updatedManager: UpdateFlagManager;
11
17
  private _rootBone;
12
18
  private _bones;
13
19
  private _updateMark;
@@ -22,6 +28,10 @@ export declare class Skin extends DataObject {
22
28
  get bones(): ReadonlyArray<Entity>;
23
29
  set bones(value: ReadonlyArray<Entity>);
24
30
  constructor(name: string);
31
+ /**
32
+ * @internal
33
+ */
34
+ _updateSkinMatrices(renderer: SkinnedMeshRenderer): void;
25
35
  /** @deprecated Please use `bones` instead. */
26
36
  joints: string[];
27
37
  /** @deprecated Please use `rootBone` instead. */
@@ -1,15 +1,20 @@
1
1
  import { BoundingBox } from "@galacean/engine-math";
2
2
  import { Entity } from "../Entity";
3
3
  import { RenderContext } from "../RenderPipeline/RenderContext";
4
+ import { RenderElement } from "../RenderPipeline/RenderElement";
4
5
  import { MeshRenderer } from "./MeshRenderer";
5
6
  import { Skin } from "./Skin";
6
7
  /**
7
8
  * SkinnedMeshRenderer.
8
9
  */
9
10
  export declare class SkinnedMeshRenderer extends MeshRenderer {
11
+ /** @internal */
12
+ static _baseVertexUniformVectorCount: number;
10
13
  private static _jointCountProperty;
11
14
  private static _jointSamplerProperty;
12
15
  private static _jointMatrixProperty;
16
+ /** @internal */
17
+ _condensedBlendShapeWeights: Float32Array;
13
18
  private _localBounds;
14
19
  private _jointDataCreateCache;
15
20
  private _blendShapeWeights;
@@ -32,11 +37,27 @@ export declare class SkinnedMeshRenderer extends MeshRenderer {
32
37
  */
33
38
  get localBounds(): BoundingBox;
34
39
  set localBounds(value: BoundingBox);
40
+ /**
41
+ * @internal
42
+ */
43
+ constructor(entity: Entity);
44
+ /**
45
+ * @internal
46
+ */
47
+ _canBatch(_preElement: RenderElement, _curElement: RenderElement): boolean;
48
+ /**
49
+ * @internal
50
+ */
51
+ _onDestroy(): void;
35
52
  /**
36
53
  * @inheritdoc
37
54
  */
38
55
  _onClone(target: SkinnedMeshRenderer): void;
39
56
  protected _update(context: RenderContext): void;
57
+ /**
58
+ * @internal
59
+ */
60
+ protected _updateBounds(worldBounds: BoundingBox): void;
40
61
  private _checkBlendShapeWeightLength;
41
62
  private _onLocalBoundsChanged;
42
63
  private _onSkinUpdated;
@@ -1 +1,26 @@
1
- export {};
1
+ import { Engine } from "../Engine";
2
+ import { IndexBufferBinding } from "../graphic/IndexBufferBinding";
3
+ import { VertexBufferBinding } from "../graphic/VertexBufferBinding";
4
+ import { VertexElement } from "../graphic/VertexElement";
5
+ /**
6
+ * @internal
7
+ */
8
+ export declare class ParticleBufferUtils {
9
+ static readonly feedbackVertexStride = 24;
10
+ static readonly feedbackVertexElements: VertexElement[];
11
+ static readonly feedbackInstanceElements: VertexElement[];
12
+ static readonly instanceVertexStride = 168;
13
+ static readonly instanceVertexFloatStride: number;
14
+ static readonly startLifeTimeOffset = 3;
15
+ static readonly timeOffset = 7;
16
+ static readonly simulationUVOffset = 34;
17
+ static readonly billboardIndexCount = 6;
18
+ static readonly boundsFloatStride = 8;
19
+ static readonly boundsTimeOffset = 6;
20
+ static readonly boundsMaxLifetimeOffset = 7;
21
+ readonly billboardVertexElement: VertexElement;
22
+ readonly instanceVertexElements: VertexElement[];
23
+ readonly billboardVertexBufferBinding: VertexBufferBinding;
24
+ readonly billboardIndexBufferBinding: IndexBufferBinding;
25
+ constructor(engine: Engine);
26
+ }
@@ -1,5 +1,12 @@
1
1
  import { DataObject } from "../base/DataObject";
2
+ import { BoundingBox, Color, Vector3 } from "@galacean/engine-math";
2
3
  import type { ICloneHook } from "../clone/ICloneHook";
4
+ import { Primitive } from "../graphic/Primitive";
5
+ import { SubMesh } from "../graphic/SubMesh";
6
+ import { VertexBufferBinding } from "../graphic/VertexBufferBinding";
7
+ import { ShaderData } from "../shader";
8
+ import { ParticleRenderer } from "./ParticleRenderer";
9
+ import { ParticleTransformFeedbackSimulator } from "./ParticleTransformFeedbackSimulator";
3
10
  import { ParticleStopMode } from "./enums/ParticleStopMode";
4
11
  import { ColorOverLifetimeModule } from "./modules/ColorOverLifetimeModule";
5
12
  import { CustomDataModule } from "./modules/CustomDataModule";
@@ -57,6 +64,32 @@ export declare class ParticleGenerator extends DataObject implements ICloneHook<
57
64
  readonly subEmitters: SubEmittersModule;
58
65
  /** Custom data module. */
59
66
  readonly customData: CustomDataModule;
67
+ /** @internal */
68
+ _currentParticleCount: number;
69
+ /** @internal */
70
+ _playTime: number;
71
+ /** @internal */
72
+ _firstNewElement: number;
73
+ /** @internal */
74
+ _firstActiveElement: number;
75
+ /** @internal */
76
+ _firstFreeElement: number;
77
+ /** @internal */
78
+ _firstRetiredElement: number;
79
+ /** @internal */
80
+ _primitive: Primitive;
81
+ /** @internal */
82
+ _vertexBufferBindings: VertexBufferBinding[];
83
+ /** @internal */
84
+ _subPrimitive: SubMesh;
85
+ /** @internal */
86
+ readonly _renderer: ParticleRenderer;
87
+ /** @internal */
88
+ _feedbackSimulator: ParticleTransformFeedbackSimulator;
89
+ /** @internal */
90
+ _useTransformFeedback: boolean;
91
+ /** @internal */
92
+ private _feedbackBindingIndex;
60
93
  private _feedbackReadback;
61
94
  private _isPlaying;
62
95
  private _instanceBufferResized;
@@ -89,6 +122,10 @@ export declare class ParticleGenerator extends DataObject implements ICloneHook<
89
122
  */
90
123
  get randomSeed(): number;
91
124
  set randomSeed(value: number);
125
+ /**
126
+ * @internal
127
+ */
128
+ constructor(renderer: ParticleRenderer);
92
129
  /**
93
130
  * Start emitting particles.
94
131
  * @param withChildren - Whether to start the particle generator of the child entity
@@ -105,12 +142,77 @@ export declare class ParticleGenerator extends DataObject implements ICloneHook<
105
142
  * @param count - Number of particles to emit
106
143
  */
107
144
  emit(count: number): void;
145
+ /**
146
+ * @internal
147
+ */
148
+ _emit(playTime: number, count: number, emitWorldPositionOverride?: Vector3): number;
149
+ /**
150
+ * @internal
151
+ */
152
+ _update(elapsedTime: number): void;
153
+ /**
154
+ * @internal
155
+ * Run Transform Feedback simulation pass.
156
+ */
157
+ _updateFeedback(shaderData: ShaderData, deltaTime: number): void;
158
+ /**
159
+ * @internal
160
+ */
161
+ _reorganizeGeometryBuffers(): void;
162
+ /**
163
+ * @internal
164
+ */
165
+ _resizeInstanceBuffer(isIncrease: boolean, increaseCount?: number): void;
166
+ /**
167
+ * @internal
168
+ */
169
+ _updateShaderData(shaderData: ShaderData): void;
170
+ /**
171
+ * @internal
172
+ */
173
+ _resetGlobalRandSeed(seed: number): void;
174
+ /**
175
+ * @internal
176
+ */
177
+ _setTransformFeedback(): void;
178
+ /**
179
+ * @internal
180
+ */
181
+ _getAliveParticleCount(): number;
182
+ /**
183
+ * @internal
184
+ */
185
+ _getNotRetiredParticleCount(): number;
108
186
  /**
109
187
  * @inheritdoc
110
188
  */
111
189
  _onClone(target: ParticleGenerator): void;
190
+ /**
191
+ * @internal
192
+ */
193
+ _destroy(): void;
194
+ /**
195
+ * @internal
196
+ */
197
+ _updateBoundsSimulationLocal(bounds: BoundingBox): void;
198
+ /**
199
+ * @internal
200
+ */
201
+ _updateBoundsSimulationWorld(bounds: BoundingBox): void;
202
+ /**
203
+ * @internal
204
+ */
205
+ _freeBoundsArray(): void;
206
+ /**
207
+ * @internal
208
+ */
209
+ _generateTransformedBounds(): void;
112
210
  private _addNewParticle;
113
211
  private _onParticleBirth;
212
+ /**
213
+ * @internal
214
+ */
215
+ _emitFromSubEmitter(count: number, worldPosition: Vector3, inheritColor: Color, inheritSize: Vector3, inheritRotation: Vector3, worldDirection?: Vector3): void;
114
216
  private _addFeedbackParticle;
115
217
  private _clearActiveParticles;
116
218
  private _retireActiveParticles;