index.d.ts 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. declare module 'babylonjs/additionalTextures' {
  2. class CubeTexture extends BaseTexture {
  3. url: string;
  4. coordinatesMode: number;
  5. private _noMipmap;
  6. private _files;
  7. private _extensions;
  8. private _textureMatrix;
  9. private _format;
  10. private _prefiltered;
  11. static CreateFromImages(files: string[], scene: Scene, noMipmap?: boolean): CubeTexture;
  12. static CreateFromPrefilteredData(url: string, scene: Scene, forcedExtension?: any): CubeTexture;
  13. constructor(rootUrl: string, scene: Scene, extensions?: Nullable<string[]>, noMipmap?: boolean, files?: Nullable<string[]>, onLoad?: Nullable<() => void>, onError?: Nullable<(message?: string, exception?: any) => void>, format?: number, prefiltered?: boolean, forcedExtension?: any);
  14. delayLoad(): void;
  15. getReflectionTextureMatrix(): Matrix;
  16. setReflectionTextureMatrix(value: Matrix): void;
  17. static Parse(parsedTexture: any, scene: Scene, rootUrl: string): CubeTexture;
  18. clone(): CubeTexture;
  19. }
  20. }
  21. declare module 'babylonjs/additionalTextures' {
  22. class RenderTargetTexture extends Texture {
  23. isCube: boolean;
  24. static _REFRESHRATE_RENDER_ONCE: number;
  25. static _REFRESHRATE_RENDER_ONEVERYFRAME: number;
  26. static _REFRESHRATE_RENDER_ONEVERYTWOFRAMES: number;
  27. static readonly REFRESHRATE_RENDER_ONCE: number;
  28. static readonly REFRESHRATE_RENDER_ONEVERYFRAME: number;
  29. static readonly REFRESHRATE_RENDER_ONEVERYTWOFRAMES: number;
  30. /**
  31. * Use this predicate to dynamically define the list of mesh you want to render.
  32. * If set, the renderList property will be overwritten.
  33. */
  34. renderListPredicate: (AbstractMesh: AbstractMesh) => boolean;
  35. /**
  36. * Use this list to define the list of mesh you want to render.
  37. */
  38. renderList: Nullable<Array<AbstractMesh>>;
  39. renderParticles: boolean;
  40. renderSprites: boolean;
  41. coordinatesMode: number;
  42. activeCamera: Nullable<Camera>;
  43. customRenderFunction: (opaqueSubMeshes: SmartArray<SubMesh>, alphaTestSubMeshes: SmartArray<SubMesh>, transparentSubMeshes: SmartArray<SubMesh>, depthOnlySubMeshes: SmartArray<SubMesh>, beforeTransparents?: () => void) => void;
  44. useCameraPostProcesses: boolean;
  45. ignoreCameraViewport: boolean;
  46. private _postProcessManager;
  47. private _postProcesses;
  48. private _resizeObserver;
  49. /**
  50. * An event triggered when the texture is unbind.
  51. * @type {BABYLON.Observable}
  52. */
  53. onBeforeBindObservable: Observable<RenderTargetTexture>;
  54. /**
  55. * An event triggered when the texture is unbind.
  56. * @type {BABYLON.Observable}
  57. */
  58. onAfterUnbindObservable: Observable<RenderTargetTexture>;
  59. private _onAfterUnbindObserver;
  60. onAfterUnbind: () => void;
  61. /**
  62. * An event triggered before rendering the texture
  63. * @type {BABYLON.Observable}
  64. */
  65. onBeforeRenderObservable: Observable<number>;
  66. private _onBeforeRenderObserver;
  67. onBeforeRender: (faceIndex: number) => void;
  68. /**
  69. * An event triggered after rendering the texture
  70. * @type {BABYLON.Observable}
  71. */
  72. onAfterRenderObservable: Observable<number>;
  73. private _onAfterRenderObserver;
  74. onAfterRender: (faceIndex: number) => void;
  75. /**
  76. * An event triggered after the texture clear
  77. * @type {BABYLON.Observable}
  78. */
  79. onClearObservable: Observable<Engine>;
  80. private _onClearObserver;
  81. onClear: (Engine: Engine) => void;
  82. clearColor: Color4;
  83. protected _size: number | {
  84. width: number;
  85. height: number;
  86. };
  87. protected _initialSizeParameter: number | {
  88. width: number;
  89. height: number;
  90. } | {
  91. ratio: number;
  92. };
  93. protected _sizeRatio: Nullable<number>;
  94. _generateMipMaps: boolean;
  95. protected _renderingManager: RenderingManager;
  96. _waitingRenderList: string[];
  97. protected _doNotChangeAspectRatio: boolean;
  98. protected _currentRefreshId: number;
  99. protected _refreshRate: number;
  100. protected _textureMatrix: Matrix;
  101. protected _samples: number;
  102. protected _renderTargetOptions: RenderTargetCreationOptions;
  103. readonly renderTargetOptions: RenderTargetCreationOptions;
  104. protected _engine: Engine;
  105. protected _onRatioRescale(): void;
  106. constructor(name: string, size: number | {
  107. width: number;
  108. height: number;
  109. } | {
  110. ratio: number;
  111. }, scene: Nullable<Scene>, generateMipMaps?: boolean, doNotChangeAspectRatio?: boolean, type?: number, isCube?: boolean, samplingMode?: number, generateDepthBuffer?: boolean, generateStencilBuffer?: boolean, isMulti?: boolean);
  112. private _processSizeParameter(size);
  113. samples: number;
  114. resetRefreshCounter(): void;
  115. refreshRate: number;
  116. addPostProcess(postProcess: PostProcess): void;
  117. clearPostProcesses(dispose?: boolean): void;
  118. removePostProcess(postProcess: PostProcess): void;
  119. _shouldRender(): boolean;
  120. getRenderSize(): number;
  121. getRenderWidth(): number;
  122. getRenderHeight(): number;
  123. readonly canRescale: boolean;
  124. scale(ratio: number): void;
  125. getReflectionTextureMatrix(): Matrix;
  126. resize(size: number | {
  127. width: number;
  128. height: number;
  129. } | {
  130. ratio: number;
  131. }): void;
  132. render(useCameraPostProcess?: boolean, dumpForDebug?: boolean): void;
  133. private _bestReflectionRenderTargetDimension(renderDimension, scale);
  134. protected unbindFrameBuffer(engine: Engine, faceIndex: number): void;
  135. private renderToTarget(faceIndex, currentRenderList, currentRenderListLength, useCameraPostProcess, dumpForDebug);
  136. /**
  137. * Overrides the default sort function applied in the renderging group to prepare the meshes.
  138. * This allowed control for front to back rendering or reversly depending of the special needs.
  139. *
  140. * @param renderingGroupId The rendering group id corresponding to its index
  141. * @param opaqueSortCompareFn The opaque queue comparison function use to sort.
  142. * @param alphaTestSortCompareFn The alpha test queue comparison function use to sort.
  143. * @param transparentSortCompareFn The transparent queue comparison function use to sort.
  144. */
  145. setRenderingOrder(renderingGroupId: number, opaqueSortCompareFn?: Nullable<(a: SubMesh, b: SubMesh) => number>, alphaTestSortCompareFn?: Nullable<(a: SubMesh, b: SubMesh) => number>, transparentSortCompareFn?: Nullable<(a: SubMesh, b: SubMesh) => number>): void;
  146. /**
  147. * Specifies whether or not the stencil and depth buffer are cleared between two rendering groups.
  148. *
  149. * @param renderingGroupId The rendering group id corresponding to its index
  150. * @param autoClearDepthStencil Automatically clears depth and stencil between groups if true.
  151. */
  152. setRenderingAutoClearDepthStencil(renderingGroupId: number, autoClearDepthStencil: boolean): void;
  153. clone(): RenderTargetTexture;
  154. serialize(): any;
  155. disposeFramebufferObjects(): void;
  156. dispose(): void;
  157. _rebuild(): void;
  158. }
  159. }
  160. declare module 'babylonjs/additionalTextures' {
  161. interface IMultiRenderTargetOptions {
  162. generateMipMaps?: boolean;
  163. types?: number[];
  164. samplingModes?: number[];
  165. generateDepthBuffer?: boolean;
  166. generateStencilBuffer?: boolean;
  167. generateDepthTexture?: boolean;
  168. textureCount?: number;
  169. doNotChangeAspectRatio?: boolean;
  170. defaultType?: number;
  171. }
  172. class MultiRenderTarget extends RenderTargetTexture {
  173. private _internalTextures;
  174. private _textures;
  175. readonly isSupported: boolean;
  176. private _multiRenderTargetOptions;
  177. readonly textures: Texture[];
  178. readonly depthTexture: Texture;
  179. wrapU: number;
  180. wrapV: number;
  181. constructor(name: string, size: any, count: number, scene: Scene, options?: IMultiRenderTargetOptions);
  182. _rebuild(): void;
  183. private _createInternalTextures();
  184. private _createTextures();
  185. samples: number;
  186. resize(size: any): void;
  187. protected unbindFrameBuffer(engine: Engine, faceIndex: number): void;
  188. dispose(): void;
  189. releaseInternalTextures(): void;
  190. }
  191. }
  192. declare module 'babylonjs/additionalTextures' {
  193. class MirrorTexture extends RenderTargetTexture {
  194. mirrorPlane: Plane;
  195. private _transformMatrix;
  196. private _mirrorMatrix;
  197. private _savedViewMatrix;
  198. private _blurX;
  199. private _blurY;
  200. private _adaptiveBlurKernel;
  201. private _blurKernelX;
  202. private _blurKernelY;
  203. private _blurRatio;
  204. blurRatio: number;
  205. adaptiveBlurKernel: number;
  206. blurKernel: number;
  207. blurKernelX: number;
  208. blurKernelY: number;
  209. private _autoComputeBlurKernel();
  210. protected _onRatioRescale(): void;
  211. constructor(name: string, size: number | {
  212. width: number;
  213. height: number;
  214. } | {
  215. ratio: number;
  216. }, scene: Scene, generateMipMaps?: boolean, type?: number, samplingMode?: number, generateDepthBuffer?: boolean);
  217. private _preparePostProcesses();
  218. clone(): MirrorTexture;
  219. serialize(): any;
  220. }
  221. }
  222. declare module 'babylonjs/additionalTextures' {
  223. /**
  224. * Creates a refraction texture used by refraction channel of the standard material.
  225. * @param name the texture name
  226. * @param size size of the underlying texture
  227. * @param scene root scene
  228. */
  229. class RefractionTexture extends RenderTargetTexture {
  230. refractionPlane: Plane;
  231. depth: number;
  232. constructor(name: string, size: number, scene: Scene, generateMipMaps?: boolean);
  233. clone(): RefractionTexture;
  234. serialize(): any;
  235. }
  236. }
  237. declare module 'babylonjs/additionalTextures' {
  238. class DynamicTexture extends Texture {
  239. private _generateMipMaps;
  240. private _canvas;
  241. private _context;
  242. private _engine;
  243. constructor(name: string, options: any, scene: Scene | null | undefined, generateMipMaps: boolean, samplingMode?: number, format?: number);
  244. readonly canRescale: boolean;
  245. private _recreate(textureSize);
  246. scale(ratio: number): void;
  247. scaleTo(width: number, height: number): void;
  248. getContext(): CanvasRenderingContext2D;
  249. clear(): void;
  250. update(invertY?: boolean): void;
  251. drawText(text: string, x: number, y: number, font: string, color: string, clearColor: string, invertY?: boolean, update?: boolean): void;
  252. clone(): DynamicTexture;
  253. _rebuild(): void;
  254. }
  255. }
  256. declare module 'babylonjs/additionalTextures' {
  257. class VideoTexture extends Texture {
  258. video: HTMLVideoElement;
  259. private _autoLaunch;
  260. private _lastUpdate;
  261. private _generateMipMaps;
  262. private _setTextureReady;
  263. private _engine;
  264. /**
  265. * Creates a video texture.
  266. * Sample : https://doc.babylonjs.com/tutorials/01._Advanced_Texturing
  267. * @param {Array} urlsOrVideo can be used to provide an array of urls or an already setup HTML video element.
  268. * @param {BABYLON.Scene} scene is obviously the current scene.
  269. * @param {boolean} generateMipMaps can be used to turn on mipmaps (Can be expensive for videoTextures because they are often updated).
  270. * @param {boolean} invertY is false by default but can be used to invert video on Y axis
  271. * @param {number} samplingMode controls the sampling method and is set to TRILINEAR_SAMPLINGMODE by default
  272. */
  273. constructor(name: string, urlsOrVideo: string[] | HTMLVideoElement, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number);
  274. private __setTextureReady();
  275. private _createTexture();
  276. _rebuild(): void;
  277. update(): boolean;
  278. dispose(): void;
  279. static CreateFromWebCam(scene: Scene, onReady: (videoTexture: VideoTexture) => void, constraints: {
  280. minWidth: number;
  281. maxWidth: number;
  282. minHeight: number;
  283. maxHeight: number;
  284. deviceId: string;
  285. }): void;
  286. }
  287. }
  288. declare module 'babylonjs/additionalTextures' {
  289. class RawTexture extends Texture {
  290. format: number;
  291. private _engine;
  292. constructor(data: ArrayBufferView, width: number, height: number, format: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number, type?: number);
  293. update(data: ArrayBufferView): void;
  294. static CreateLuminanceTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
  295. static CreateLuminanceAlphaTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
  296. static CreateAlphaTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
  297. static CreateRGBTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number, type?: number): RawTexture;
  298. static CreateRGBATexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number, type?: number): RawTexture;
  299. }
  300. }
  301. import {EffectFallbacks,EffectCreationOptions,Effect,Nullable,float,double,int,FloatArray,IndicesArray,KeyboardEventTypes,KeyboardInfo,KeyboardInfoPre,PointerEventTypes,PointerInfoBase,PointerInfoPre,PointerInfo,ToGammaSpace,ToLinearSpace,Epsilon,Color3,Color4,Vector2,Vector3,Vector4,ISize,Size,Quaternion,Matrix,Plane,Viewport,Frustum,Space,Axis,BezierCurve,Orientation,Angle,Arc2,Path2,Path3D,Curve3,PositionNormalVertex,PositionNormalTextureVertex,Tmp,Scalar,expandToProperty,serialize,serializeAsTexture,serializeAsColor3,serializeAsFresnelParameters,serializeAsVector2,serializeAsVector3,serializeAsMeshReference,serializeAsColorCurves,serializeAsColor4,serializeAsImageProcessingConfiguration,serializeAsQuaternion,SerializationHelper,EventState,Observer,MultiObserver,Observable,SmartArray,SmartArrayNoDuplicate,IAnimatable,LoadFileError,RetryStrategy,IFileRequest,Tools,PerfCounter,className,AsyncLoop,_AlphaState,_DepthCullingState,_StencilState,InstancingAttributeInfo,RenderTargetCreationOptions,EngineCapabilities,EngineOptions,IDisplayChangedEventArgs,Engine,Node,BoundingSphere,BoundingBox,ICullable,BoundingInfo,TransformNode,AbstractMesh,Light,Camera,RenderingManager,RenderingGroup,IDisposable,IActiveMeshCandidateProvider,RenderingGroupInfo,Scene,Buffer,VertexBuffer,InternalTexture,BaseTexture,Texture,_InstancesBatch,Mesh,BaseSubMesh,SubMesh,MaterialDefines,Material,UniformBuffer,IGetSetVerticesData,VertexData,Geometry,_PrimitiveGeometry,RibbonGeometry,BoxGeometry,SphereGeometry,DiscGeometry,CylinderGeometry,TorusGeometry,GroundGeometry,TiledGroundGeometry,PlaneGeometry,TorusKnotGeometry,PostProcessManager,PerformanceMonitor,RollingAverage,IImageProcessingConfigurationDefines,ImageProcessingConfiguration,ColorGradingTexture,ColorCurves,Behavior,MaterialHelper,PushMaterial,StandardMaterialDefines,StandardMaterial} from 'babylonjs/core';
  302. import {EngineInstrumentation,SceneInstrumentation,_TimeToken} from 'babylonjs/instrumentation';
  303. import {Particle,IParticleSystem,ParticleSystem,BoxParticleEmitter,ConeParticleEmitter,SphereParticleEmitter,SphereDirectedParticleEmitter,IParticleEmitterType} from 'babylonjs/particles';
  304. import {GPUParticleSystem} from 'babylonjs/gpuParticles';
  305. import {FramingBehavior,BouncingBehavior,AutoRotationBehavior} from 'babylonjs/cameraBehaviors';
  306. import {NullEngineOptions,NullEngine} from 'babylonjs/nullEngine';
  307. import {TextureTools} from 'babylonjs/textureTools';
  308. import {SolidParticle,ModelShape,DepthSortedParticle,SolidParticleSystem} from 'babylonjs/solidParticles';
  309. import {Collider,CollisionWorker,ICollisionCoordinator,SerializedMesh,SerializedSubMesh,SerializedGeometry,BabylonMessage,SerializedColliderToWorker,WorkerTaskType,WorkerReply,CollisionReplyPayload,InitPayload,CollidePayload,UpdatePayload,WorkerReplyType,CollisionCoordinatorWorker,CollisionCoordinatorLegacy} from 'babylonjs/collisions';
  310. import {IntersectionInfo,PickingInfo,Ray} from 'babylonjs/picking';
  311. import {SpriteManager,Sprite} from 'babylonjs/sprites';
  312. import {AnimationRange,AnimationEvent,PathCursor,Animation,TargetedAnimation,AnimationGroup,RuntimeAnimation,Animatable,IEasingFunction,EasingFunction,CircleEase,BackEase,BounceEase,CubicEase,ElasticEase,ExponentialEase,PowerEase,QuadraticEase,QuarticEase,QuinticEase,SineEase,BezierCurveEase} from 'babylonjs/animations';
  313. import {Condition,ValueCondition,PredicateCondition,StateCondition,Action,ActionEvent,ActionManager,InterpolateValueAction,SwitchBooleanAction,SetStateAction,SetValueAction,IncrementValueAction,PlayAnimationAction,StopAnimationAction,DoNothingAction,CombineAction,ExecuteCodeAction,SetParentAction,PlaySoundAction,StopSoundAction} from 'babylonjs/actions';
  314. import {GroundMesh,InstancedMesh,LinesMesh} from 'babylonjs/additionalMeshes';
  315. import {ShaderMaterial} from 'babylonjs/shaderMaterial';
  316. import {MeshBuilder} from 'babylonjs/meshBuilder';
  317. import {PBRBaseMaterial,PBRBaseSimpleMaterial,PBRMaterial,PBRMetallicRoughnessMaterial,PBRSpecularGlossinessMaterial} from 'babylonjs/pbrMaterial';
  318. import {CameraInputTypes,ICameraInput,CameraInputsMap,CameraInputsManager,TargetCamera} from 'babylonjs/targetCamera';
  319. import {ArcRotateCameraKeyboardMoveInput,ArcRotateCameraMouseWheelInput,ArcRotateCameraPointersInput,ArcRotateCameraInputsManager,ArcRotateCamera} from 'babylonjs/arcRotateCamera';
  320. import {FreeCameraMouseInput,FreeCameraKeyboardMoveInput,FreeCameraInputsManager,FreeCamera} from 'babylonjs/freeCamera';
  321. import {HemisphericLight} from 'babylonjs/hemisphericLight';
  322. import {IShadowLight,ShadowLight,PointLight} from 'babylonjs/pointLight';
  323. import {DirectionalLight} from 'babylonjs/directionalLight';
  324. import {SpotLight} from 'babylonjs/spotLight';
  325. import {AudioEngine,Sound,SoundTrack,Analyser} from 'babylonjs/audio';
  326. import {ILoadingScreen,DefaultLoadingScreen,SceneLoaderProgressEvent,ISceneLoaderPluginExtensions,ISceneLoaderPluginFactory,ISceneLoaderPlugin,ISceneLoaderPluginAsync,SceneLoader,FilesInput} from 'babylonjs/loader';
  327. import {IShadowGenerator,ShadowGenerator} from 'babylonjs/shadows';
  328. import {StringDictionary} from 'babylonjs/stringDictionary';
  329. import {Tags,AndOrNotEvaluator} from 'babylonjs/userData';
  330. import {FresnelParameters} from 'babylonjs/fresnel';
  331. import {MultiMaterial} from 'babylonjs/multiMaterial';
  332. import {Database} from 'babylonjs/offline';
  333. import {FreeCameraTouchInput,TouchCamera} from 'babylonjs/touchCamera';
  334. import {ProceduralTexture,CustomProceduralTexture} from 'babylonjs/procedural';
  335. import {FreeCameraGamepadInput,ArcRotateCameraGamepadInput,GamepadManager,StickValues,GamepadButtonChanges,Gamepad,GenericPad,Xbox360Button,Xbox360Dpad,Xbox360Pad,PoseEnabledControllerType,MutableGamepadButton,ExtendedGamepadButton,PoseEnabledControllerHelper,PoseEnabledController,WebVRController,OculusTouchController,ViveController,GenericController,WindowsMotionController} from 'babylonjs/gamepad';
  336. import {FollowCamera,ArcFollowCamera,UniversalCamera,GamepadCamera} from 'babylonjs/additionalCameras';
  337. import {DepthRenderer} from 'babylonjs/depthRenderer';
  338. import {GeometryBufferRenderer} from 'babylonjs/geometryBufferRenderer';
  339. import {PostProcessOptions,PostProcess,PassPostProcess} from 'babylonjs/postProcesses';
  340. import {BlurPostProcess} from 'babylonjs/additionalPostProcess_blur';
  341. import {FxaaPostProcess} from 'babylonjs/additionalPostProcess_fxaa';
  342. import {HighlightsPostProcess} from 'babylonjs/additionalPostProcess_highlights';
  343. import {RefractionPostProcess,BlackAndWhitePostProcess,ConvolutionPostProcess,FilterPostProcess,VolumetricLightScatteringPostProcess,ColorCorrectionPostProcess,TonemappingOperator,TonemapPostProcess,DisplayPassPostProcess,ImageProcessingPostProcess} from 'babylonjs/additionalPostProcesses';
  344. import {PostProcessRenderPipelineManager,PostProcessRenderPass,PostProcessRenderEffect,PostProcessRenderPipeline} from 'babylonjs/renderingPipeline';
  345. import {SSAORenderingPipeline,SSAO2RenderingPipeline,LensRenderingPipeline,StandardRenderingPipeline} from 'babylonjs/additionalRenderingPipeline';
  346. import {DefaultRenderingPipeline} from 'babylonjs/defaultRenderingPipeline';
  347. import {Bone,BoneIKController,BoneLookController,Skeleton} from 'babylonjs/bones';
  348. import {SphericalPolynomial,SphericalHarmonics,CubeMapToSphericalPolynomialTools,CubeMapInfo,PanoramaToCubeMapTools,HDRInfo,HDRTools,HDRCubeTexture} from 'babylonjs/hdr';
  349. import {CSG} from 'babylonjs/csg';
  350. import {Polygon,PolygonMeshBuilder} from 'babylonjs/polygonMesh';
  351. import {LensFlare,LensFlareSystem} from 'babylonjs/lensFlares';
  352. import {PhysicsJointData,PhysicsJoint,DistanceJoint,MotorEnabledJoint,HingeJoint,Hinge2Joint,IMotorEnabledJoint,DistanceJointData,SpringJointData,PhysicsImpostorParameters,IPhysicsEnabledObject,PhysicsImpostor,PhysicsImpostorJoint,PhysicsEngine,IPhysicsEnginePlugin,PhysicsHelper,PhysicsRadialExplosionEvent,PhysicsGravitationalFieldEvent,PhysicsUpdraftEvent,PhysicsVortexEvent,PhysicsRadialImpulseFalloff,PhysicsUpdraftMode,PhysicsForceAndContactPoint,PhysicsRadialExplosionEventData,PhysicsGravitationalFieldEventData,PhysicsUpdraftEventData,PhysicsVortexEventData,CannonJSPlugin,OimoJSPlugin} from 'babylonjs/physics';
  353. import {TGATools,DDSInfo,DDSTools,KhronosTextureContainer} from 'babylonjs/textureFormats';
  354. import {Debug,RayHelper,DebugLayer,BoundingBoxRenderer} from 'babylonjs/debug';
  355. import {MorphTarget,MorphTargetManager} from 'babylonjs/morphTargets';
  356. import {IOctreeContainer,Octree,OctreeBlock} from 'babylonjs/octrees';
  357. import {SIMDHelper} from 'babylonjs/simd';
  358. import {VRDistortionCorrectionPostProcess,AnaglyphPostProcess,StereoscopicInterlacePostProcess,FreeCameraDeviceOrientationInput,ArcRotateCameraVRDeviceOrientationInput,VRCameraMetrics,DevicePose,PoseControlled,WebVROptions,WebVRFreeCamera,DeviceOrientationCamera,VRDeviceOrientationFreeCamera,VRDeviceOrientationGamepadCamera,VRDeviceOrientationArcRotateCamera,AnaglyphFreeCamera,AnaglyphArcRotateCamera,AnaglyphGamepadCamera,AnaglyphUniversalCamera,StereoscopicFreeCamera,StereoscopicArcRotateCamera,StereoscopicGamepadCamera,StereoscopicUniversalCamera,VRTeleportationOptions,VRExperienceHelperOptions,VRExperienceHelper} from 'babylonjs/vr';
  359. import {JoystickAxis,VirtualJoystick,VirtualJoysticksCamera,FreeCameraVirtualJoystickInput} from 'babylonjs/virtualJoystick';
  360. import {ISimplifier,ISimplificationSettings,SimplificationSettings,ISimplificationTask,SimplificationQueue,SimplificationType,DecimationTriangle,DecimationVertex,QuadraticMatrix,Reference,QuadraticErrorSimplification,MeshLODLevel,SceneOptimization,TextureOptimization,HardwareScalingOptimization,ShadowsOptimization,PostProcessesOptimization,LensFlaresOptimization,ParticlesOptimization,RenderTargetsOptimization,MergeMeshesOptimization,SceneOptimizerOptions,SceneOptimizer} from 'babylonjs/optimizations';
  361. import {OutlineRenderer,EdgesRenderer,IHighlightLayerOptions,HighlightLayer} from 'babylonjs/highlights';
  362. import {SceneSerializer} from 'babylonjs/serialization';
  363. import {AssetTaskState,AbstractAssetTask,IAssetsProgressEvent,AssetsProgressEvent,MeshAssetTask,TextFileAssetTask,BinaryFileAssetTask,ImageAssetTask,ITextureAssetTask,TextureAssetTask,CubeTextureAssetTask,HDRCubeTextureAssetTask,AssetsManager} from 'babylonjs/assetsManager';
  364. import {ReflectionProbe} from 'babylonjs/probes';
  365. import {BackgroundMaterial} from 'babylonjs/backgroundMaterial';
  366. import {Layer} from 'babylonjs/layer';
  367. import {IEnvironmentHelperOptions,EnvironmentHelper} from 'babylonjs/environmentHelper';