@galacean/engine-core 2.0.0-alpha.43 → 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 (238) hide show
  1. package/dist/main.js +3 -3
  2. package/dist/main.js.map +1 -1
  3. package/dist/module.js +3 -3
  4. package/dist/module.js.map +1 -1
  5. package/package.json +3 -3
  6. package/types/2d/atlas/FontAtlas.d.ts +23 -1
  7. package/types/2d/atlas/SpriteAtlas.d.ts +8 -0
  8. package/types/2d/sprite/Sprite.d.ts +27 -1
  9. package/types/2d/sprite/SpriteMask.d.ts +43 -0
  10. package/types/2d/sprite/SpriteRenderer.d.ts +29 -0
  11. package/types/2d/text/CharInfo.d.ts +20 -1
  12. package/types/2d/text/CharRenderInfo.d.ts +15 -1
  13. package/types/2d/text/Font.d.ts +10 -0
  14. package/types/2d/text/SubFont.d.ts +35 -1
  15. package/types/2d/text/TextRenderer.d.ts +53 -0
  16. package/types/2d/text/TextUtils.d.ts +89 -1
  17. package/types/Background.d.ts +17 -0
  18. package/types/BasicResources.d.ts +52 -0
  19. package/types/Camera.d.ts +71 -1
  20. package/types/Canvas.d.ts +13 -0
  21. package/types/Component.d.ts +33 -0
  22. package/types/ComponentsDependencies.d.ts +34 -1
  23. package/types/ComponentsManager.d.ts +17 -0
  24. package/types/Engine.d.ts +106 -2
  25. package/types/Entity.d.ts +88 -0
  26. package/types/Polyfill.d.ts +12 -1
  27. package/types/RenderPipeline/BasicRenderPipeline.d.ts +3 -0
  28. package/types/RenderPipeline/BatcherManager.d.ts +23 -1
  29. package/types/RenderPipeline/CullingResults.d.ts +17 -1
  30. package/types/RenderPipeline/DepthOnlyPass.d.ts +18 -1
  31. package/types/RenderPipeline/InstanceBuffer.d.ts +28 -1
  32. package/types/RenderPipeline/MaskManager.d.ts +36 -1
  33. package/types/RenderPipeline/OpaqueTexturePass.d.ts +16 -1
  34. package/types/RenderPipeline/PipelineUtils.d.ts +11 -1
  35. package/types/RenderPipeline/PrimitiveChunk.d.ts +27 -1
  36. package/types/RenderPipeline/PrimitiveChunkManager.d.ts +16 -1
  37. package/types/RenderPipeline/RenderContext.d.ts +46 -1
  38. package/types/RenderPipeline/RenderElement.d.ts +9 -0
  39. package/types/RenderPipeline/RenderQueue.d.ts +23 -1
  40. package/types/RenderPipeline/RenderTargetPool.d.ts +17 -1
  41. package/types/RenderPipeline/SubPrimitiveChunk.d.ts +14 -1
  42. package/types/RenderPipeline/VertexArea.d.ts +10 -1
  43. package/types/RenderPipeline/VertexMergeBatcher.d.ts +11 -1
  44. package/types/RenderPipeline/enums/RenderQueueMaskType.d.ts +9 -1
  45. package/types/RenderPipeline/index.d.ts +2 -0
  46. package/types/Renderer.d.ts +58 -0
  47. package/types/Scene.d.ts +28 -0
  48. package/types/SceneManager.d.ts +13 -0
  49. package/types/Script.d.ts +40 -0
  50. package/types/SystemInfo.d.ts +10 -0
  51. package/types/Transform.d.ts +13 -0
  52. package/types/UpdateFlag.d.ts +3 -0
  53. package/types/UpdateFlagManager.d.ts +41 -1
  54. package/types/Utils.d.ts +20 -0
  55. package/types/VirtualCamera.d.ts +16 -1
  56. package/types/animation/AnimationClip.d.ts +5 -0
  57. package/types/animation/AnimationClipCurveBinding.d.ts +16 -1
  58. package/types/animation/Animator.d.ts +25 -0
  59. package/types/animation/AnimatorController.d.ts +17 -0
  60. package/types/animation/AnimatorControllerLayer.d.ts +9 -0
  61. package/types/animation/AnimatorControllerParameter.d.ts +4 -0
  62. package/types/animation/AnimatorState.d.ts +44 -0
  63. package/types/animation/AnimatorStateInstance.d.ts +8 -0
  64. package/types/animation/AnimatorStateMachine.d.ts +14 -0
  65. package/types/animation/AnimatorStateTransition.d.ts +9 -0
  66. package/types/animation/AnimatorStateTransitionCollection.d.ts +23 -1
  67. package/types/animation/StateMachineScript.d.ts +2 -0
  68. package/types/animation/animationCurve/AnimationArrayCurve.d.ts +39 -0
  69. package/types/animation/animationCurve/AnimationBoolCurve.d.ts +39 -0
  70. package/types/animation/animationCurve/AnimationColorCurve.d.ts +39 -0
  71. package/types/animation/animationCurve/AnimationCurve.d.ts +8 -0
  72. package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +38 -0
  73. package/types/animation/animationCurve/AnimationFloatCurve.d.ts +39 -0
  74. package/types/animation/animationCurve/AnimationQuaternionCurve.d.ts +41 -0
  75. package/types/animation/animationCurve/AnimationRectCurve.d.ts +18 -0
  76. package/types/animation/animationCurve/AnimationRefCurve.d.ts +18 -0
  77. package/types/animation/animationCurve/AnimationStringCurve.d.ts +39 -0
  78. package/types/animation/animationCurve/AnimationVector2Curve.d.ts +39 -0
  79. package/types/animation/animationCurve/AnimationVector3Curve.d.ts +43 -0
  80. package/types/animation/animationCurve/AnimationVector4Curve.d.ts +39 -0
  81. package/types/animation/animationCurve/interfaces/IAnimationCurveCalculator.d.ts +18 -1
  82. package/types/animation/enums/AnimatorStatePlayState.d.ts +8 -1
  83. package/types/animation/internal/AnimationCurveLayerOwner.d.ts +15 -1
  84. package/types/animation/internal/AnimationEventHandler.d.ts +8 -1
  85. package/types/animation/internal/AnimatorLayerData.d.ts +28 -1
  86. package/types/animation/internal/AnimatorStateData.d.ts +14 -1
  87. package/types/animation/internal/AnimatorStatePlayData.d.ts +27 -1
  88. package/types/animation/internal/AnimatorTempValue.d.ts +12 -1
  89. package/types/animation/internal/animationCurveOwner/AnimationCurveOwner.d.ts +39 -0
  90. package/types/animation/internal/animationCurveOwner/assembler/BlendShapeWeightsAnimationCurveOwnerAssembler.d.ts +12 -1
  91. package/types/animation/internal/animationCurveOwner/assembler/IAnimationCurveOwnerAssembler.d.ts +10 -1
  92. package/types/animation/internal/animationCurveOwner/assembler/PositionAnimationCurveOwnerAssembler.d.ts +13 -1
  93. package/types/animation/internal/animationCurveOwner/assembler/RotationAnimationCurveOwnerAssembler.d.ts +13 -1
  94. package/types/animation/internal/animationCurveOwner/assembler/ScaleAnimationCurveOwnerAssembler.d.ts +13 -1
  95. package/types/animation/internal/animationCurveOwner/assembler/UniversalAnimationCurveOwnerAssembler.d.ts +23 -1
  96. package/types/asset/GraphicsResource.d.ts +10 -0
  97. package/types/asset/IReferable.d.ts +8 -0
  98. package/types/asset/ReferResource.d.ts +28 -0
  99. package/types/asset/RenderingStatistics.d.ts +8 -0
  100. package/types/asset/ResourceManager.d.ts +94 -4
  101. package/types/audio/AudioClip.d.ts +8 -0
  102. package/types/audio/AudioManager.d.ts +14 -0
  103. package/types/audio/AudioSource.d.ts +17 -0
  104. package/types/base/EngineObject.d.ts +4 -0
  105. package/types/base/Time.d.ts +13 -0
  106. package/types/clone/CloneDecorators.d.ts +20 -0
  107. package/types/clone/CloneUtil.d.ts +30 -1
  108. package/types/clone/ComponentCloner.d.ts +11 -1
  109. package/types/enums/CameraType.d.ts +9 -1
  110. package/types/env-probe/CubeProbe.d.ts +2 -0
  111. package/types/graphic/Buffer.d.ts +10 -0
  112. package/types/graphic/BufferUtil.d.ts +5 -0
  113. package/types/graphic/IndexBufferBinding.d.ts +4 -0
  114. package/types/graphic/Mesh.d.ts +54 -0
  115. package/types/graphic/Primitive.d.ts +50 -1
  116. package/types/graphic/TransformFeedback.d.ts +46 -1
  117. package/types/graphic/TransformFeedbackPrimitive.d.ts +67 -1
  118. package/types/graphic/TransformFeedbackSimulator.d.ts +55 -1
  119. package/types/graphic/VertexBufferBinding.d.ts +4 -0
  120. package/types/input/InputManager.d.ts +19 -0
  121. package/types/input/enums/PointerButton.d.ts +8 -0
  122. package/types/input/keyboard/KeyboardManager.d.ts +41 -1
  123. package/types/input/pointer/Pointer.d.ts +36 -0
  124. package/types/input/pointer/PointerEventData.d.ts +4 -0
  125. package/types/input/pointer/PointerManager.d.ts +58 -0
  126. package/types/input/pointer/emitter/IHitResult.d.ts +11 -1
  127. package/types/input/pointer/emitter/PhysicsPointerEventEmitter.d.ts +20 -1
  128. package/types/input/wheel/WheelManager.d.ts +34 -1
  129. package/types/lighting/AmbientLight.d.ts +9 -0
  130. package/types/lighting/DirectLight.d.ts +17 -0
  131. package/types/lighting/Light.d.ts +2 -0
  132. package/types/lighting/LightManager.d.ts +57 -0
  133. package/types/lighting/PointLight.d.ts +17 -0
  134. package/types/lighting/SpotLight.d.ts +17 -0
  135. package/types/lighting/ambientOcclusion/AmbientOcclusion.d.ts +4 -0
  136. package/types/lighting/ambientOcclusion/ScalableAmbientObscurancePass.d.ts +38 -1
  137. package/types/material/BaseMaterial.d.ts +4 -0
  138. package/types/material/Material.d.ts +2 -0
  139. package/types/mesh/BlendShape.d.ts +13 -0
  140. package/types/mesh/BlendShapeFrame.d.ts +7 -0
  141. package/types/mesh/BlendShapeManager.d.ts +101 -1
  142. package/types/mesh/MeshRenderer.d.ts +37 -0
  143. package/types/mesh/ModelMesh.d.ts +18 -0
  144. package/types/mesh/PrimitiveMesh.d.ts +31 -3
  145. package/types/mesh/PrimitiveMeshRestorer.d.ts +107 -0
  146. package/types/mesh/Skin.d.ts +10 -0
  147. package/types/mesh/SkinnedMeshRenderer.d.ts +21 -0
  148. package/types/particle/ParticleBufferUtils.d.ts +26 -1
  149. package/types/particle/ParticleGenerator.d.ts +102 -0
  150. package/types/particle/ParticleRenderer.d.ts +55 -0
  151. package/types/particle/ParticleTransformFeedbackSimulator.d.ts +52 -1
  152. package/types/particle/enums/ParticleRandomSubSeeds.d.ts +25 -1
  153. package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +6 -1
  154. package/types/particle/enums/attributes/ParticleFeedbackVertexAttribute.d.ts +8 -1
  155. package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +17 -1
  156. package/types/particle/modules/ColorOverLifetimeModule.d.ts +12 -0
  157. package/types/particle/modules/CustomDataModule.d.ts +5 -0
  158. package/types/particle/modules/EmissionModule.d.ts +28 -0
  159. package/types/particle/modules/ForceOverLifetimeModule.d.ts +16 -1
  160. package/types/particle/modules/LimitVelocityOverLifetimeModule.d.ts +20 -1
  161. package/types/particle/modules/MainModule.d.ts +33 -1
  162. package/types/particle/modules/NoiseModule.d.ts +12 -1
  163. package/types/particle/modules/ParticleCompositeCurve.d.ts +37 -0
  164. package/types/particle/modules/ParticleCurve.d.ts +28 -0
  165. package/types/particle/modules/ParticleGeneratorModule.d.ts +7 -0
  166. package/types/particle/modules/ParticleGradient.d.ts +16 -0
  167. package/types/particle/modules/RotationOverLifetimeModule.d.ts +12 -0
  168. package/types/particle/modules/SizeOverLifetimeModule.d.ts +16 -0
  169. package/types/particle/modules/SubEmitter.d.ts +3 -0
  170. package/types/particle/modules/SubEmittersModule.d.ts +17 -0
  171. package/types/particle/modules/TextureSheetAnimationModule.d.ts +14 -1
  172. package/types/particle/modules/VelocityOverLifetimeModule.d.ts +28 -1
  173. package/types/particle/modules/shape/BaseShape.d.ts +33 -1
  174. package/types/particle/modules/shape/BoxShape.d.ts +13 -1
  175. package/types/particle/modules/shape/CircleShape.d.ts +13 -0
  176. package/types/particle/modules/shape/ConeShape.d.ts +13 -0
  177. package/types/particle/modules/shape/HemisphereShape.d.ts +13 -0
  178. package/types/particle/modules/shape/MeshShape.d.ts +17 -0
  179. package/types/particle/modules/shape/ShapeUtils.d.ts +13 -1
  180. package/types/particle/modules/shape/SphereShape.d.ts +13 -0
  181. package/types/physics/CharacterController.d.ts +21 -0
  182. package/types/physics/Collider.d.ts +39 -0
  183. package/types/physics/Collision.d.ts +3 -0
  184. package/types/physics/DynamicCollider.d.ts +14 -0
  185. package/types/physics/PhysicsMaterial.d.ts +3 -0
  186. package/types/physics/PhysicsScene.d.ts +51 -0
  187. package/types/physics/StaticCollider.d.ts +5 -0
  188. package/types/physics/enums/ColliderShapeChangeFlag.d.ts +8 -1
  189. package/types/physics/enums/HingeJointFlag.d.ts +14 -1
  190. package/types/physics/joint/HingeJoint.d.ts +4 -0
  191. package/types/physics/joint/Joint.d.ts +20 -0
  192. package/types/physics/joint/JointLimits.d.ts +3 -0
  193. package/types/physics/joint/JointMotor.d.ts +3 -0
  194. package/types/physics/shape/ColliderShape.d.ts +17 -0
  195. package/types/physics/shape/MeshColliderShape.d.ts +4 -0
  196. package/types/postProcess/FinalPass.d.ts +19 -1
  197. package/types/postProcess/PostProcess.d.ts +2 -0
  198. package/types/postProcess/PostProcessEffect.d.ts +4 -0
  199. package/types/postProcess/PostProcessEffectParameter.d.ts +4 -0
  200. package/types/postProcess/PostProcessManager.d.ts +43 -0
  201. package/types/postProcess/effects/BloomEffect.d.ts +25 -0
  202. package/types/postProcess/effects/TonemappingEffect.d.ts +3 -0
  203. package/types/renderingHardwareInterface/IPlatformTransformFeedback.d.ts +36 -1
  204. package/types/renderingHardwareInterface/IPlatformTransformFeedbackPrimitive.d.ts +40 -1
  205. package/types/shader/Shader.d.ts +22 -0
  206. package/types/shader/ShaderBlockProperty.d.ts +19 -1
  207. package/types/shader/ShaderData.d.ts +29 -0
  208. package/types/shader/ShaderFactory.d.ts +23 -0
  209. package/types/shader/ShaderMacro.d.ts +15 -0
  210. package/types/shader/ShaderMacroCollection.d.ts +57 -1
  211. package/types/shader/ShaderMacroProcessor.d.ts +72 -1
  212. package/types/shader/ShaderPass.d.ts +38 -0
  213. package/types/shader/ShaderProgram.d.ts +91 -1
  214. package/types/shader/ShaderProgramMap.d.ts +20 -1
  215. package/types/shader/ShaderProperty.d.ts +17 -0
  216. package/types/shader/ShaderTagKey.d.ts +2 -0
  217. package/types/shader/ShaderUniform.d.ts +49 -1
  218. package/types/shader/ShaderUniformBlock.d.ts +9 -1
  219. package/types/shader/enums/ConstantBufferBindingPoint.d.ts +7 -1
  220. package/types/shader/state/BlendState.d.ts +14 -0
  221. package/types/shader/state/DepthState.d.ts +14 -0
  222. package/types/shader/state/RasterState.d.ts +17 -0
  223. package/types/shader/state/RenderState.d.ts +11 -0
  224. package/types/shader/state/StencilState.d.ts +13 -0
  225. package/types/shadow/CascadedShadowCasterPass.d.ts +5 -0
  226. package/types/shadow/ShadowSliceData.d.ts +13 -1
  227. package/types/shadow/ShadowUtils.d.ts +43 -1
  228. package/types/sky/Sky.d.ts +9 -0
  229. package/types/texture/RenderTarget.d.ts +21 -0
  230. package/types/texture/Texture.d.ts +21 -0
  231. package/types/texture/Texture2D.d.ts +4 -0
  232. package/types/texture/Texture2DArray.d.ts +4 -0
  233. package/types/texture/TextureCube.d.ts +4 -0
  234. package/types/texture/TextureUtils.d.ts +16 -1
  235. package/types/trail/TrailRenderer.d.ts +5 -0
  236. package/types/ui/IUICanvas.d.ts +16 -1
  237. package/types/utils/DisorderedArray.d.ts +2 -0
  238. 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;
@@ -40,10 +40,10 @@ export declare class PrimitiveMesh {
40
40
  */
41
41
  static createCuboid(engine: Engine, width?: number, height?: number, depth?: number, noLongerAccessible?: boolean): ModelMesh;
42
42
  /**
43
- * Create a plane mesh.
43
+ * Create a plane mesh with U mapped along local +X and V along local +Z.
44
44
  * @param engine - Engine
45
- * @param width - Plane width
46
- * @param height - Plane height
45
+ * @param width - Plane width along the local X axis
46
+ * @param height - Plane height along the local Z axis
47
47
  * @param horizontalSegments - Plane horizontal segments
48
48
  * @param verticalSegments - Plane vertical segments
49
49
  * @param noLongerAccessible - No longer access the vertices of the mesh after creation
@@ -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
+ }