@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.
- package/dist/main.js.map +1 -1
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/atlas/FontAtlas.d.ts +23 -1
- package/types/2d/atlas/SpriteAtlas.d.ts +8 -0
- package/types/2d/sprite/Sprite.d.ts +27 -1
- package/types/2d/sprite/SpriteMask.d.ts +43 -0
- package/types/2d/sprite/SpriteRenderer.d.ts +29 -0
- package/types/2d/text/CharInfo.d.ts +20 -1
- package/types/2d/text/CharRenderInfo.d.ts +15 -1
- package/types/2d/text/Font.d.ts +10 -0
- package/types/2d/text/SubFont.d.ts +35 -1
- package/types/2d/text/TextRenderer.d.ts +53 -0
- package/types/2d/text/TextUtils.d.ts +89 -1
- package/types/Background.d.ts +17 -0
- package/types/BasicResources.d.ts +52 -0
- package/types/Camera.d.ts +71 -1
- package/types/Canvas.d.ts +13 -0
- package/types/Component.d.ts +33 -0
- package/types/ComponentsDependencies.d.ts +34 -1
- package/types/ComponentsManager.d.ts +17 -0
- package/types/Engine.d.ts +106 -2
- package/types/Entity.d.ts +88 -0
- package/types/Polyfill.d.ts +12 -1
- package/types/RenderPipeline/BasicRenderPipeline.d.ts +3 -0
- package/types/RenderPipeline/BatcherManager.d.ts +23 -1
- package/types/RenderPipeline/CullingResults.d.ts +17 -1
- package/types/RenderPipeline/DepthOnlyPass.d.ts +18 -1
- package/types/RenderPipeline/InstanceBuffer.d.ts +28 -1
- package/types/RenderPipeline/MaskManager.d.ts +36 -1
- package/types/RenderPipeline/OpaqueTexturePass.d.ts +16 -1
- package/types/RenderPipeline/PipelineUtils.d.ts +11 -1
- package/types/RenderPipeline/PrimitiveChunk.d.ts +27 -1
- package/types/RenderPipeline/PrimitiveChunkManager.d.ts +16 -1
- package/types/RenderPipeline/RenderContext.d.ts +46 -1
- package/types/RenderPipeline/RenderElement.d.ts +9 -0
- package/types/RenderPipeline/RenderQueue.d.ts +23 -1
- package/types/RenderPipeline/RenderTargetPool.d.ts +17 -1
- package/types/RenderPipeline/SubPrimitiveChunk.d.ts +14 -1
- package/types/RenderPipeline/VertexArea.d.ts +10 -1
- package/types/RenderPipeline/VertexMergeBatcher.d.ts +11 -1
- package/types/RenderPipeline/enums/RenderQueueMaskType.d.ts +9 -1
- package/types/RenderPipeline/index.d.ts +2 -0
- package/types/Renderer.d.ts +58 -0
- package/types/Scene.d.ts +28 -0
- package/types/SceneManager.d.ts +13 -0
- package/types/Script.d.ts +40 -0
- package/types/SystemInfo.d.ts +10 -0
- package/types/Transform.d.ts +13 -0
- package/types/UpdateFlag.d.ts +3 -0
- package/types/UpdateFlagManager.d.ts +41 -1
- package/types/Utils.d.ts +20 -0
- package/types/VirtualCamera.d.ts +16 -1
- package/types/animation/AnimationClip.d.ts +5 -0
- package/types/animation/AnimationClipCurveBinding.d.ts +16 -1
- package/types/animation/Animator.d.ts +25 -0
- package/types/animation/AnimatorController.d.ts +17 -0
- package/types/animation/AnimatorControllerLayer.d.ts +9 -0
- package/types/animation/AnimatorControllerParameter.d.ts +4 -0
- package/types/animation/AnimatorState.d.ts +44 -0
- package/types/animation/AnimatorStateInstance.d.ts +8 -0
- package/types/animation/AnimatorStateMachine.d.ts +14 -0
- package/types/animation/AnimatorStateTransition.d.ts +9 -0
- package/types/animation/AnimatorStateTransitionCollection.d.ts +23 -1
- package/types/animation/StateMachineScript.d.ts +2 -0
- package/types/animation/animationCurve/AnimationArrayCurve.d.ts +39 -0
- package/types/animation/animationCurve/AnimationBoolCurve.d.ts +39 -0
- package/types/animation/animationCurve/AnimationColorCurve.d.ts +39 -0
- package/types/animation/animationCurve/AnimationCurve.d.ts +8 -0
- package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +38 -0
- package/types/animation/animationCurve/AnimationFloatCurve.d.ts +39 -0
- package/types/animation/animationCurve/AnimationQuaternionCurve.d.ts +41 -0
- package/types/animation/animationCurve/AnimationRectCurve.d.ts +18 -0
- package/types/animation/animationCurve/AnimationRefCurve.d.ts +18 -0
- package/types/animation/animationCurve/AnimationStringCurve.d.ts +39 -0
- package/types/animation/animationCurve/AnimationVector2Curve.d.ts +39 -0
- package/types/animation/animationCurve/AnimationVector3Curve.d.ts +43 -0
- package/types/animation/animationCurve/AnimationVector4Curve.d.ts +39 -0
- package/types/animation/animationCurve/interfaces/IAnimationCurveCalculator.d.ts +18 -1
- package/types/animation/enums/AnimatorStatePlayState.d.ts +8 -1
- package/types/animation/internal/AnimationCurveLayerOwner.d.ts +15 -1
- package/types/animation/internal/AnimationEventHandler.d.ts +8 -1
- package/types/animation/internal/AnimatorLayerData.d.ts +28 -1
- package/types/animation/internal/AnimatorStateData.d.ts +14 -1
- package/types/animation/internal/AnimatorStatePlayData.d.ts +27 -1
- package/types/animation/internal/AnimatorTempValue.d.ts +12 -1
- package/types/animation/internal/animationCurveOwner/AnimationCurveOwner.d.ts +39 -0
- package/types/animation/internal/animationCurveOwner/assembler/BlendShapeWeightsAnimationCurveOwnerAssembler.d.ts +12 -1
- package/types/animation/internal/animationCurveOwner/assembler/IAnimationCurveOwnerAssembler.d.ts +10 -1
- package/types/animation/internal/animationCurveOwner/assembler/PositionAnimationCurveOwnerAssembler.d.ts +13 -1
- package/types/animation/internal/animationCurveOwner/assembler/RotationAnimationCurveOwnerAssembler.d.ts +13 -1
- package/types/animation/internal/animationCurveOwner/assembler/ScaleAnimationCurveOwnerAssembler.d.ts +13 -1
- package/types/animation/internal/animationCurveOwner/assembler/UniversalAnimationCurveOwnerAssembler.d.ts +23 -1
- package/types/asset/GraphicsResource.d.ts +10 -0
- package/types/asset/IReferable.d.ts +8 -0
- package/types/asset/ReferResource.d.ts +28 -0
- package/types/asset/RenderingStatistics.d.ts +8 -0
- package/types/asset/ResourceManager.d.ts +94 -4
- package/types/audio/AudioClip.d.ts +8 -0
- package/types/audio/AudioManager.d.ts +14 -0
- package/types/audio/AudioSource.d.ts +17 -0
- package/types/base/EngineObject.d.ts +4 -0
- package/types/base/Time.d.ts +13 -0
- package/types/clone/CloneDecorators.d.ts +20 -0
- package/types/clone/CloneUtil.d.ts +30 -1
- package/types/clone/ComponentCloner.d.ts +11 -1
- package/types/enums/CameraType.d.ts +9 -1
- package/types/env-probe/CubeProbe.d.ts +2 -0
- package/types/graphic/Buffer.d.ts +10 -0
- package/types/graphic/BufferUtil.d.ts +5 -0
- package/types/graphic/IndexBufferBinding.d.ts +4 -0
- package/types/graphic/Mesh.d.ts +54 -0
- package/types/graphic/Primitive.d.ts +50 -1
- package/types/graphic/TransformFeedback.d.ts +46 -1
- package/types/graphic/TransformFeedbackPrimitive.d.ts +67 -1
- package/types/graphic/TransformFeedbackSimulator.d.ts +55 -1
- package/types/graphic/VertexBufferBinding.d.ts +4 -0
- package/types/input/InputManager.d.ts +19 -0
- package/types/input/enums/PointerButton.d.ts +8 -0
- package/types/input/keyboard/KeyboardManager.d.ts +41 -1
- package/types/input/pointer/Pointer.d.ts +36 -0
- package/types/input/pointer/PointerEventData.d.ts +4 -0
- package/types/input/pointer/PointerManager.d.ts +58 -0
- package/types/input/pointer/emitter/IHitResult.d.ts +11 -1
- package/types/input/pointer/emitter/PhysicsPointerEventEmitter.d.ts +20 -1
- package/types/input/wheel/WheelManager.d.ts +34 -1
- package/types/lighting/AmbientLight.d.ts +9 -0
- package/types/lighting/DirectLight.d.ts +17 -0
- package/types/lighting/Light.d.ts +2 -0
- package/types/lighting/LightManager.d.ts +57 -0
- package/types/lighting/PointLight.d.ts +17 -0
- package/types/lighting/SpotLight.d.ts +17 -0
- package/types/lighting/ambientOcclusion/AmbientOcclusion.d.ts +4 -0
- package/types/lighting/ambientOcclusion/ScalableAmbientObscurancePass.d.ts +38 -1
- package/types/material/BaseMaterial.d.ts +4 -0
- package/types/material/Material.d.ts +2 -0
- package/types/mesh/BlendShape.d.ts +13 -0
- package/types/mesh/BlendShapeFrame.d.ts +7 -0
- package/types/mesh/BlendShapeManager.d.ts +101 -1
- package/types/mesh/MeshRenderer.d.ts +37 -0
- package/types/mesh/ModelMesh.d.ts +18 -0
- package/types/mesh/PrimitiveMesh.d.ts +28 -0
- package/types/mesh/PrimitiveMeshRestorer.d.ts +107 -0
- package/types/mesh/Skin.d.ts +10 -0
- package/types/mesh/SkinnedMeshRenderer.d.ts +21 -0
- package/types/particle/ParticleBufferUtils.d.ts +26 -1
- package/types/particle/ParticleGenerator.d.ts +102 -0
- package/types/particle/ParticleRenderer.d.ts +55 -0
- package/types/particle/ParticleTransformFeedbackSimulator.d.ts +52 -1
- package/types/particle/enums/ParticleRandomSubSeeds.d.ts +25 -1
- package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +6 -1
- package/types/particle/enums/attributes/ParticleFeedbackVertexAttribute.d.ts +8 -1
- package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +17 -1
- package/types/particle/modules/ColorOverLifetimeModule.d.ts +12 -0
- package/types/particle/modules/CustomDataModule.d.ts +5 -0
- package/types/particle/modules/EmissionModule.d.ts +28 -0
- package/types/particle/modules/ForceOverLifetimeModule.d.ts +16 -1
- package/types/particle/modules/LimitVelocityOverLifetimeModule.d.ts +20 -1
- package/types/particle/modules/MainModule.d.ts +33 -1
- package/types/particle/modules/NoiseModule.d.ts +12 -1
- package/types/particle/modules/ParticleCompositeCurve.d.ts +37 -0
- package/types/particle/modules/ParticleCurve.d.ts +28 -0
- package/types/particle/modules/ParticleGeneratorModule.d.ts +7 -0
- package/types/particle/modules/ParticleGradient.d.ts +16 -0
- package/types/particle/modules/RotationOverLifetimeModule.d.ts +12 -0
- package/types/particle/modules/SizeOverLifetimeModule.d.ts +16 -0
- package/types/particle/modules/SubEmitter.d.ts +3 -0
- package/types/particle/modules/SubEmittersModule.d.ts +17 -0
- package/types/particle/modules/TextureSheetAnimationModule.d.ts +14 -1
- package/types/particle/modules/VelocityOverLifetimeModule.d.ts +28 -1
- package/types/particle/modules/shape/BaseShape.d.ts +33 -1
- package/types/particle/modules/shape/BoxShape.d.ts +13 -1
- package/types/particle/modules/shape/CircleShape.d.ts +13 -0
- package/types/particle/modules/shape/ConeShape.d.ts +13 -0
- package/types/particle/modules/shape/HemisphereShape.d.ts +13 -0
- package/types/particle/modules/shape/MeshShape.d.ts +17 -0
- package/types/particle/modules/shape/ShapeUtils.d.ts +13 -1
- package/types/particle/modules/shape/SphereShape.d.ts +13 -0
- package/types/physics/CharacterController.d.ts +21 -0
- package/types/physics/Collider.d.ts +39 -0
- package/types/physics/Collision.d.ts +3 -0
- package/types/physics/DynamicCollider.d.ts +14 -0
- package/types/physics/PhysicsMaterial.d.ts +3 -0
- package/types/physics/PhysicsScene.d.ts +51 -0
- package/types/physics/StaticCollider.d.ts +5 -0
- package/types/physics/enums/ColliderShapeChangeFlag.d.ts +8 -1
- package/types/physics/enums/HingeJointFlag.d.ts +14 -1
- package/types/physics/joint/HingeJoint.d.ts +4 -0
- package/types/physics/joint/Joint.d.ts +20 -0
- package/types/physics/joint/JointLimits.d.ts +3 -0
- package/types/physics/joint/JointMotor.d.ts +3 -0
- package/types/physics/shape/ColliderShape.d.ts +17 -0
- package/types/physics/shape/MeshColliderShape.d.ts +4 -0
- package/types/postProcess/FinalPass.d.ts +19 -1
- package/types/postProcess/PostProcess.d.ts +2 -0
- package/types/postProcess/PostProcessEffect.d.ts +4 -0
- package/types/postProcess/PostProcessEffectParameter.d.ts +4 -0
- package/types/postProcess/PostProcessManager.d.ts +43 -0
- package/types/postProcess/effects/BloomEffect.d.ts +25 -0
- package/types/postProcess/effects/TonemappingEffect.d.ts +3 -0
- package/types/renderingHardwareInterface/IPlatformTransformFeedback.d.ts +36 -1
- package/types/renderingHardwareInterface/IPlatformTransformFeedbackPrimitive.d.ts +40 -1
- package/types/shader/Shader.d.ts +22 -0
- package/types/shader/ShaderBlockProperty.d.ts +19 -1
- package/types/shader/ShaderData.d.ts +29 -0
- package/types/shader/ShaderFactory.d.ts +23 -0
- package/types/shader/ShaderMacro.d.ts +15 -0
- package/types/shader/ShaderMacroCollection.d.ts +57 -1
- package/types/shader/ShaderMacroProcessor.d.ts +72 -1
- package/types/shader/ShaderPass.d.ts +38 -0
- package/types/shader/ShaderProgram.d.ts +91 -1
- package/types/shader/ShaderProgramMap.d.ts +20 -1
- package/types/shader/ShaderProperty.d.ts +17 -0
- package/types/shader/ShaderTagKey.d.ts +2 -0
- package/types/shader/ShaderUniform.d.ts +49 -1
- package/types/shader/ShaderUniformBlock.d.ts +9 -1
- package/types/shader/enums/ConstantBufferBindingPoint.d.ts +7 -1
- package/types/shader/state/BlendState.d.ts +14 -0
- package/types/shader/state/DepthState.d.ts +14 -0
- package/types/shader/state/RasterState.d.ts +17 -0
- package/types/shader/state/RenderState.d.ts +11 -0
- package/types/shader/state/StencilState.d.ts +13 -0
- package/types/shadow/CascadedShadowCasterPass.d.ts +5 -0
- package/types/shadow/ShadowSliceData.d.ts +13 -1
- package/types/shadow/ShadowUtils.d.ts +43 -1
- package/types/sky/Sky.d.ts +9 -0
- package/types/texture/RenderTarget.d.ts +21 -0
- package/types/texture/Texture.d.ts +21 -0
- package/types/texture/Texture2D.d.ts +4 -0
- package/types/texture/Texture2DArray.d.ts +4 -0
- package/types/texture/TextureCube.d.ts +4 -0
- package/types/texture/TextureUtils.d.ts +16 -1
- package/types/trail/TrailRenderer.d.ts +5 -0
- package/types/ui/IUICanvas.d.ts +16 -1
- package/types/utils/DisorderedArray.d.ts +2 -0
- 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;
|
|
@@ -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
|
-
|
|
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 {};
|
package/types/mesh/Skin.d.ts
CHANGED
|
@@ -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
|
-
|
|
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;
|