index.d.ts 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740
  1. declare module 'babylonjs/nullEngine' {
  2. class NullEngineOptions {
  3. renderWidth: number;
  4. renderHeight: number;
  5. textureSize: number;
  6. deterministicLockstep: boolean;
  7. lockstepMaxSteps: number;
  8. }
  9. /**
  10. * The null engine class provides support for headless version of babylon.js.
  11. * This can be used in server side scenario or for testing purposes
  12. */
  13. class NullEngine extends Engine {
  14. private _options;
  15. isDeterministicLockStep(): boolean;
  16. getLockstepMaxSteps(): number;
  17. constructor(options?: NullEngineOptions);
  18. createVertexBuffer(vertices: FloatArray): WebGLBuffer;
  19. createIndexBuffer(indices: IndicesArray): WebGLBuffer;
  20. clear(color: Color4, backBuffer: boolean, depth: boolean, stencil?: boolean): void;
  21. getRenderWidth(useScreen?: boolean): number;
  22. getRenderHeight(useScreen?: boolean): number;
  23. setViewport(viewport: Viewport, requiredWidth?: number, requiredHeight?: number): void;
  24. createShaderProgram(vertexCode: string, fragmentCode: string, defines: string, context?: WebGLRenderingContext): WebGLProgram;
  25. getUniforms(shaderProgram: WebGLProgram, uniformsNames: string[]): WebGLUniformLocation[];
  26. getAttributes(shaderProgram: WebGLProgram, attributesNames: string[]): number[];
  27. bindSamplers(effect: Effect): void;
  28. enableEffect(effect: Effect): void;
  29. setState(culling: boolean, zOffset?: number, force?: boolean, reverseSide?: boolean): void;
  30. setIntArray(uniform: WebGLUniformLocation, array: Int32Array): void;
  31. setIntArray2(uniform: WebGLUniformLocation, array: Int32Array): void;
  32. setIntArray3(uniform: WebGLUniformLocation, array: Int32Array): void;
  33. setIntArray4(uniform: WebGLUniformLocation, array: Int32Array): void;
  34. setFloatArray(uniform: WebGLUniformLocation, array: Float32Array): void;
  35. setFloatArray2(uniform: WebGLUniformLocation, array: Float32Array): void;
  36. setFloatArray3(uniform: WebGLUniformLocation, array: Float32Array): void;
  37. setFloatArray4(uniform: WebGLUniformLocation, array: Float32Array): void;
  38. setArray(uniform: WebGLUniformLocation, array: number[]): void;
  39. setArray2(uniform: WebGLUniformLocation, array: number[]): void;
  40. setArray3(uniform: WebGLUniformLocation, array: number[]): void;
  41. setArray4(uniform: WebGLUniformLocation, array: number[]): void;
  42. setMatrices(uniform: WebGLUniformLocation, matrices: Float32Array): void;
  43. setMatrix(uniform: WebGLUniformLocation, matrix: Matrix): void;
  44. setMatrix3x3(uniform: WebGLUniformLocation, matrix: Float32Array): void;
  45. setMatrix2x2(uniform: WebGLUniformLocation, matrix: Float32Array): void;
  46. setFloat(uniform: WebGLUniformLocation, value: number): void;
  47. setFloat2(uniform: WebGLUniformLocation, x: number, y: number): void;
  48. setFloat3(uniform: WebGLUniformLocation, x: number, y: number, z: number): void;
  49. setBool(uniform: WebGLUniformLocation, bool: number): void;
  50. setFloat4(uniform: WebGLUniformLocation, x: number, y: number, z: number, w: number): void;
  51. setColor3(uniform: WebGLUniformLocation, color3: Color3): void;
  52. setColor4(uniform: WebGLUniformLocation, color3: Color3, alpha: number): void;
  53. setAlphaMode(mode: number, noDepthWriteChange?: boolean): void;
  54. bindBuffers(vertexBuffers: {
  55. [key: string]: VertexBuffer;
  56. }, indexBuffer: WebGLBuffer, effect: Effect): void;
  57. wipeCaches(bruteForce?: boolean): void;
  58. draw(useTriangles: boolean, indexStart: number, indexCount: number, instancesCount?: number): void;
  59. drawElementsType(fillMode: number, indexStart: number, indexCount: number, instancesCount?: number): void;
  60. drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount?: number): void;
  61. _createTexture(): WebGLTexture;
  62. createTexture(urlArg: string, noMipmap: boolean, invertY: boolean, scene: Scene, samplingMode?: number, onLoad?: Nullable<() => void>, onError?: Nullable<(message: string, exception: any) => void>, buffer?: Nullable<ArrayBuffer | HTMLImageElement>, fallBack?: InternalTexture, format?: number): InternalTexture;
  63. createRenderTargetTexture(size: any, options: boolean | RenderTargetCreationOptions): InternalTexture;
  64. updateTextureSamplingMode(samplingMode: number, texture: InternalTexture): void;
  65. bindFramebuffer(texture: InternalTexture, faceIndex?: number, requiredWidth?: number, requiredHeight?: number, forceFullscreenViewport?: boolean): void;
  66. unBindFramebuffer(texture: InternalTexture, disableGenerateMipMaps?: boolean, onBeforeUnbind?: () => void): void;
  67. createDynamicVertexBuffer(vertices: FloatArray): WebGLBuffer;
  68. updateDynamicIndexBuffer(indexBuffer: WebGLBuffer, indices: IndicesArray, offset?: number): void;
  69. updateDynamicVertexBuffer(vertexBuffer: WebGLBuffer, vertices: FloatArray, offset?: number, count?: number): void;
  70. _bindTextureDirectly(target: number, texture: InternalTexture): void;
  71. _bindTexture(channel: number, texture: InternalTexture): void;
  72. _releaseBuffer(buffer: WebGLBuffer): boolean;
  73. }
  74. }
  75. export interface WebGLRenderingContext {
  76. readonly RASTERIZER_DISCARD: number;
  77. readonly TEXTURE_3D: number;
  78. readonly TEXTURE_2D_ARRAY: number;
  79. readonly TEXTURE_WRAP_R: number;
  80. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ArrayBufferView | null): void;
  81. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ArrayBufferView, offset: number): void;
  82. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ImageBitmap | ImageData | HTMLVideoElement | HTMLImageElement | HTMLCanvasElement): void;
  83. compressedTexImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, data: ArrayBufferView, offset?: number, length?: number): void;
  84. readonly TRANSFORM_FEEDBACK: number;
  85. readonly INTERLEAVED_ATTRIBS: number;
  86. readonly TRANSFORM_FEEDBACK_BUFFER: number;
  87. createTransformFeedback(): WebGLTransformFeedback;
  88. deleteTransformFeedback(transformFeedbac: WebGLTransformFeedback): void;
  89. bindTransformFeedback(target: number, transformFeedback: WebGLTransformFeedback | null): void;
  90. beginTransformFeedback(primitiveMode: number): void;
  91. endTransformFeedback(): void;
  92. transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: number): void;
  93. }
  94. export interface ImageBitmap {
  95. readonly width: number;
  96. readonly height: number;
  97. close(): void;
  98. }
  99. export interface WebGLQuery extends WebGLObject {
  100. }
  101. declare var WebGLQuery: {
  102. prototype: WebGLQuery;
  103. new (): WebGLQuery;
  104. };
  105. export interface WebGLSampler extends WebGLObject {
  106. }
  107. declare var WebGLSampler: {
  108. prototype: WebGLSampler;
  109. new (): WebGLSampler;
  110. };
  111. export interface WebGLSync extends WebGLObject {
  112. }
  113. declare var WebGLSync: {
  114. prototype: WebGLSync;
  115. new (): WebGLSync;
  116. };
  117. export interface WebGLTransformFeedback extends WebGLObject {
  118. }
  119. declare var WebGLTransformFeedback: {
  120. prototype: WebGLTransformFeedback;
  121. new (): WebGLTransformFeedback;
  122. };
  123. export interface WebGLVertexArrayObject extends WebGLObject {
  124. }
  125. declare var WebGLVertexArrayObject: {
  126. prototype: WebGLVertexArrayObject;
  127. new (): WebGLVertexArrayObject;
  128. };
  129. export interface Window {
  130. mozIndexedDB: IDBFactory;
  131. webkitIndexedDB: IDBFactory;
  132. msIndexedDB: IDBFactory;
  133. webkitURL: typeof URL;
  134. mozRequestAnimationFrame(callback: FrameRequestCallback): number;
  135. oRequestAnimationFrame(callback: FrameRequestCallback): number;
  136. WebGLRenderingContext: WebGLRenderingContext;
  137. MSGesture: MSGesture;
  138. CANNON: any;
  139. SIMD: any;
  140. AudioContext: AudioContext;
  141. webkitAudioContext: AudioContext;
  142. PointerEvent: any;
  143. Math: Math;
  144. Uint8Array: Uint8ArrayConstructor;
  145. Float32Array: Float32ArrayConstructor;
  146. mozURL: typeof URL;
  147. msURL: typeof URL;
  148. VRFrameData: any;
  149. }
  150. export interface WebGLRenderingContext {
  151. drawArraysInstanced(mode: number, first: number, count: number, primcount: number): void;
  152. drawElementsInstanced(mode: number, count: number, type: number, offset: number, primcount: number): void;
  153. vertexAttribDivisor(index: number, divisor: number): void;
  154. createVertexArray(): any;
  155. bindVertexArray(vao?: WebGLVertexArrayObject | null): void;
  156. deleteVertexArray(vao: WebGLVertexArrayObject): void;
  157. blitFramebuffer(srcX0: number, srcY0: number, srcX1: number, srcY1: number, dstX0: number, dstY0: number, dstX1: number, dstY1: number, mask: number, filter: number): void;
  158. renderbufferStorageMultisample(target: number, samples: number, internalformat: number, width: number, height: number): void;
  159. bindBufferBase(target: number, index: number, buffer: WebGLBuffer | null): void;
  160. getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): number;
  161. uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: number, uniformBlockBinding: number): void;
  162. createQuery(): WebGLQuery;
  163. deleteQuery(query: WebGLQuery): void;
  164. beginQuery(target: number, query: WebGLQuery): void;
  165. endQuery(target: number): void;
  166. getQueryParameter(query: WebGLQuery, pname: number): any;
  167. getQuery(target: number, pname: number): any;
  168. MAX_SAMPLES: number;
  169. RGBA8: number;
  170. READ_FRAMEBUFFER: number;
  171. DRAW_FRAMEBUFFER: number;
  172. UNIFORM_BUFFER: number;
  173. HALF_FLOAT_OES: number;
  174. RGBA16F: number;
  175. RGBA32F: number;
  176. DEPTH24_STENCIL8: number;
  177. drawBuffers(buffers: number[]): void;
  178. readBuffer(src: number): void;
  179. readonly COLOR_ATTACHMENT0: number;
  180. readonly COLOR_ATTACHMENT1: number;
  181. readonly COLOR_ATTACHMENT2: number;
  182. readonly COLOR_ATTACHMENT3: number;
  183. ANY_SAMPLES_PASSED_CONSERVATIVE: number;
  184. ANY_SAMPLES_PASSED: number;
  185. QUERY_RESULT_AVAILABLE: number;
  186. QUERY_RESULT: number;
  187. }
  188. export interface Document {
  189. mozCancelFullScreen(): void;
  190. msCancelFullScreen(): void;
  191. mozFullScreen: boolean;
  192. msIsFullScreen: boolean;
  193. fullscreen: boolean;
  194. mozPointerLockElement: HTMLElement;
  195. msPointerLockElement: HTMLElement;
  196. webkitPointerLockElement: HTMLElement;
  197. }
  198. export interface HTMLCanvasElement {
  199. msRequestPointerLock?(): void;
  200. mozRequestPointerLock?(): void;
  201. webkitRequestPointerLock?(): void;
  202. }
  203. export interface CanvasRenderingContext2D {
  204. msImageSmoothingEnabled: boolean;
  205. }
  206. export interface WebGLBuffer {
  207. references: number;
  208. capacity: number;
  209. is32Bits: boolean;
  210. }
  211. export interface WebGLProgram {
  212. transformFeedback?: WebGLTransformFeedback | null;
  213. __SPECTOR_rebuildProgram?: ((vertexSourceCode: string, fragmentSourceCode: string, onCompiled: (program: WebGLProgram) => void, onError: (message: string) => void) => void) | null;
  214. }
  215. export interface MouseEvent {
  216. mozMovementX: number;
  217. mozMovementY: number;
  218. webkitMovementX: number;
  219. webkitMovementY: number;
  220. msMovementX: number;
  221. msMovementY: number;
  222. }
  223. export interface Navigator {
  224. getVRDisplays: () => any;
  225. mozGetVRDevices: (any: any) => any;
  226. webkitGetUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void;
  227. mozGetUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void;
  228. msGetUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void;
  229. webkitGetGamepads(): Gamepad[];
  230. msGetGamepads(): Gamepad[];
  231. webkitGamepads(): Gamepad[];
  232. }
  233. export interface HTMLVideoElement {
  234. mozSrcObject: any;
  235. }
  236. export interface Screen {
  237. orientation: string;
  238. mozOrientation: string;
  239. }
  240. export interface Math {
  241. fround(x: number): number;
  242. imul(a: number, b: number): number;
  243. }
  244. export interface SIMDglobal {
  245. SIMD: SIMD;
  246. Math: Math;
  247. Uint8Array: Uint8ArrayConstructor;
  248. Float32Array: Float32ArrayConstructor;
  249. }
  250. export interface SIMD {
  251. Float32x4: SIMD.Float32x4Constructor;
  252. Int32x4: SIMD.Int32x4Constructor;
  253. Int16x8: SIMD.Int16x8Constructor;
  254. Int8x16: SIMD.Int8x16Constructor;
  255. Uint32x4: SIMD.Uint32x4Constructor;
  256. Uint16x8: SIMD.Uint16x8Constructor;
  257. Uint8x16: SIMD.Uint8x16Constructor;
  258. Bool32x4: SIMD.Bool32x4Constructor;
  259. Bool16x8: SIMD.Bool16x8Constructor;
  260. Bool8x16: SIMD.Bool8x16Constructor;
  261. }
  262. export interface GamepadPose {
  263. hasOrientation: boolean;
  264. hasPosition: boolean;
  265. position?: Float32Array;
  266. linearVelocity?: Float32Array;
  267. linearAcceleration?: Float32Array;
  268. orientation?: Float32Array;
  269. angularVelocity?: Float32Array;
  270. angularAcceleration?: Float32Array;
  271. }
  272. declare namespace SIMD {
  273. interface Float32x4 {
  274. constructor: Float32x4Constructor;
  275. valueOf(): Float32x4;
  276. toLocaleString(): string;
  277. toString(): string;
  278. }
  279. interface Float32x4Constructor {
  280. (s0?: number, s1?: number, s2?: number, s3?: number): Float32x4;
  281. prototype: Float32x4;
  282. extractLane(simd: SIMD.Float32x4, lane: number): number;
  283. swizzle(a: SIMD.Float32x4, l1: number, l2: number, l3: number, l4: number): SIMD.Float32x4;
  284. shuffle(a: SIMD.Float32x4, b: SIMD.Float32x4, l1: number, l2: number, l3: number, l4: number): SIMD.Float32x4;
  285. check(a: SIMD.Float32x4): SIMD.Float32x4;
  286. splat(n: number): SIMD.Float32x4;
  287. replaceLane(simd: SIMD.Float32x4, lane: number, value: number): SIMD.Float32x4;
  288. select(selector: SIMD.Bool32x4, a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  289. equal(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Bool32x4;
  290. notEqual(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Bool32x4;
  291. lessThan(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Bool32x4;
  292. lessThanOrEqual(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Bool32x4;
  293. greaterThan(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Bool32x4;
  294. greaterThanOrEqual(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Bool32x4;
  295. add(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  296. sub(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  297. mul(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  298. div(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  299. neg(a: SIMD.Float32x4): SIMD.Float32x4;
  300. abs(a: SIMD.Float32x4): SIMD.Float32x4;
  301. min(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  302. max(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  303. minNum(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  304. maxNum(a: SIMD.Float32x4, b: SIMD.Float32x4): SIMD.Float32x4;
  305. reciprocalApproximation(a: SIMD.Float32x4): SIMD.Float32x4;
  306. reciprocalSqrtApproximation(a: SIMD.Float32x4): SIMD.Float32x4;
  307. sqrt(a: SIMD.Float32x4): SIMD.Float32x4;
  308. load(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Float32x4;
  309. load1(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Float32x4;
  310. load2(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Float32x4;
  311. load3(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Float32x4;
  312. store(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Float32x4): SIMD.Float32x4;
  313. store1(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Float32x4): SIMD.Float32x4;
  314. store2(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Float32x4): SIMD.Float32x4;
  315. store3(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Float32x4): SIMD.Float32x4;
  316. fromInt32x4(value: SIMD.Int32x4): SIMD.Float32x4;
  317. fromUint32x4(value: SIMD.Uint32x4): SIMD.Float32x4;
  318. fromInt32x4Bits(value: SIMD.Int32x4): SIMD.Float32x4;
  319. fromInt16x8Bits(value: SIMD.Int16x8): SIMD.Float32x4;
  320. fromInt8x16Bits(value: SIMD.Int8x16): SIMD.Float32x4;
  321. fromUint32x4Bits(value: SIMD.Uint32x4): SIMD.Float32x4;
  322. fromUint16x8Bits(value: SIMD.Uint16x8): SIMD.Float32x4;
  323. fromUint8x16Bits(value: SIMD.Uint8x16): SIMD.Float32x4;
  324. }
  325. interface Int32x4 {
  326. constructor: Int32x4Constructor;
  327. valueOf(): Int32x4;
  328. toLocaleString(): string;
  329. toString(): string;
  330. }
  331. interface Int32x4Constructor {
  332. (s0?: number, s1?: number, s2?: number, s3?: number): Int32x4;
  333. prototype: Int32x4;
  334. extractLane(simd: SIMD.Int32x4, lane: number): number;
  335. swizzle(a: SIMD.Int32x4, l1: number, l2: number, l3: number, l4: number): SIMD.Int32x4;
  336. shuffle(a: SIMD.Int32x4, b: SIMD.Int32x4, l1: number, l2: number, l3: number, l4: number): SIMD.Int32x4;
  337. check(a: SIMD.Int32x4): SIMD.Int32x4;
  338. splat(n: number): SIMD.Int32x4;
  339. replaceLane(simd: SIMD.Int32x4, lane: number, value: number): SIMD.Int32x4;
  340. select(selector: SIMD.Bool32x4, a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  341. equal(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Bool32x4;
  342. notEqual(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Bool32x4;
  343. lessThan(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Bool32x4;
  344. lessThanOrEqual(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Bool32x4;
  345. greaterThan(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Bool32x4;
  346. greaterThanOrEqual(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Bool32x4;
  347. and(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  348. or(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  349. xor(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  350. not(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  351. add(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  352. sub(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  353. mul(a: SIMD.Int32x4, b: SIMD.Int32x4): SIMD.Int32x4;
  354. neg(a: SIMD.Int32x4): SIMD.Int32x4;
  355. shiftLeftByScalar(a: SIMD.Int32x4, bits: number): SIMD.Int32x4;
  356. shiftRightByScalar(a: SIMD.Int32x4, bits: number): SIMD.Int32x4;
  357. load(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Int32x4;
  358. load1(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Int32x4;
  359. load2(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Int32x4;
  360. load3(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Int32x4;
  361. store(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Int32x4): SIMD.Int32x4;
  362. store1(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Int32x4): SIMD.Int32x4;
  363. store2(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Int32x4): SIMD.Int32x4;
  364. store3(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Int32x4): SIMD.Int32x4;
  365. fromFloat32x4(value: SIMD.Float32x4): SIMD.Int32x4;
  366. fromUint32x4(value: SIMD.Uint32x4): SIMD.Int32x4;
  367. fromFloat32x4Bits(value: SIMD.Float32x4): SIMD.Int32x4;
  368. fromInt16x8Bits(value: SIMD.Int16x8): SIMD.Int32x4;
  369. fromInt8x16Bits(value: SIMD.Int8x16): SIMD.Int32x4;
  370. fromUint32x4Bits(value: SIMD.Uint32x4): SIMD.Int32x4;
  371. fromUint16x8Bits(value: SIMD.Uint16x8): SIMD.Int32x4;
  372. fromUint8x16Bits(value: SIMD.Uint8x16): SIMD.Int32x4;
  373. }
  374. interface Int16x8 {
  375. constructor: Int16x8Constructor;
  376. valueOf(): Int16x8;
  377. toLocaleString(): string;
  378. toString(): string;
  379. }
  380. interface Int16x8Constructor {
  381. (s0?: number, s1?: number, s2?: number, s3?: number, s4?: number, s5?: number, s6?: number, s7?: number): Int16x8;
  382. prototype: Int16x8;
  383. extractLane(simd: SIMD.Int16x8, lane: number): number;
  384. swizzle(a: SIMD.Int16x8, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number): SIMD.Int16x8;
  385. shuffle(a: SIMD.Int16x8, b: SIMD.Int16x8, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number): SIMD.Int16x8;
  386. check(a: SIMD.Int16x8): SIMD.Int16x8;
  387. splat(n: number): SIMD.Int16x8;
  388. replaceLane(simd: SIMD.Int16x8, lane: number, value: number): SIMD.Int16x8;
  389. select(selector: SIMD.Bool16x8, a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  390. equal(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Bool16x8;
  391. notEqual(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Bool16x8;
  392. lessThan(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Bool16x8;
  393. lessThanOrEqual(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Bool16x8;
  394. greaterThan(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Bool16x8;
  395. greaterThanOrEqual(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Bool16x8;
  396. and(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  397. or(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  398. xor(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  399. not(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  400. add(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  401. sub(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  402. mul(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  403. neg(a: SIMD.Int16x8): SIMD.Int16x8;
  404. shiftLeftByScalar(a: SIMD.Int16x8, bits: number): SIMD.Int16x8;
  405. shiftRightByScalar(a: SIMD.Int16x8, bits: number): SIMD.Int16x8;
  406. addSaturate(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  407. subSaturate(a: SIMD.Int16x8, b: SIMD.Int16x8): SIMD.Int16x8;
  408. load(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Int16x8;
  409. store(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Int16x8): SIMD.Int16x8;
  410. fromUint16x8(value: SIMD.Uint16x8): SIMD.Int16x8;
  411. fromFloat32x4Bits(value: SIMD.Float32x4): SIMD.Int16x8;
  412. fromInt32x4Bits(value: SIMD.Int32x4): SIMD.Int16x8;
  413. fromInt8x16Bits(value: SIMD.Int8x16): SIMD.Int16x8;
  414. fromUint32x4Bits(value: SIMD.Uint32x4): SIMD.Int16x8;
  415. fromUint16x8Bits(value: SIMD.Uint16x8): SIMD.Int16x8;
  416. fromUint8x16Bits(value: SIMD.Uint8x16): SIMD.Int16x8;
  417. }
  418. interface Int8x16 {
  419. constructor: Int8x16Constructor;
  420. valueOf(): Int8x16;
  421. toLocaleString(): string;
  422. toString(): string;
  423. }
  424. interface Int8x16Constructor {
  425. (s0?: number, s1?: number, s2?: number, s3?: number, s4?: number, s5?: number, s6?: number, s7?: number, s8?: number, s9?: number, s10?: number, s11?: number, s12?: number, s13?: number, s14?: number, s15?: number): Int8x16;
  426. prototype: Int8x16;
  427. extractLane(simd: SIMD.Int8x16, lane: number): number;
  428. swizzle(a: SIMD.Int8x16, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number, l9: number, l10: number, l11: number, l12: number, l13: number, l14: number, l15: number, l16: number): SIMD.Int8x16;
  429. shuffle(a: SIMD.Int8x16, b: SIMD.Int8x16, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number, l9: number, l10: number, l11: number, l12: number, l13: number, l14: number, l15: number, l16: number): SIMD.Int8x16;
  430. check(a: SIMD.Int8x16): SIMD.Int8x16;
  431. splat(n: number): SIMD.Int8x16;
  432. replaceLane(simd: SIMD.Int8x16, lane: number, value: number): SIMD.Int8x16;
  433. select(selector: SIMD.Bool8x16, a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  434. equal(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Bool8x16;
  435. notEqual(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Bool8x16;
  436. lessThan(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Bool8x16;
  437. lessThanOrEqual(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Bool8x16;
  438. greaterThan(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Bool8x16;
  439. greaterThanOrEqual(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Bool8x16;
  440. and(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  441. or(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  442. xor(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  443. not(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  444. add(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  445. sub(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  446. mul(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  447. neg(a: SIMD.Int8x16): SIMD.Int8x16;
  448. shiftLeftByScalar(a: SIMD.Int8x16, bits: number): SIMD.Int8x16;
  449. shiftRightByScalar(a: SIMD.Int8x16, bits: number): SIMD.Int8x16;
  450. addSaturate(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  451. subSaturate(a: SIMD.Int8x16, b: SIMD.Int8x16): SIMD.Int8x16;
  452. load(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Int8x16;
  453. store(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Int8x16): SIMD.Int8x16;
  454. fromUint8x16(value: SIMD.Uint8x16): SIMD.Int8x16;
  455. fromFloat32x4Bits(value: SIMD.Float32x4): SIMD.Int8x16;
  456. fromInt32x4Bits(value: SIMD.Int32x4): SIMD.Int8x16;
  457. fromInt16x8Bits(value: SIMD.Int16x8): SIMD.Int8x16;
  458. fromUint32x4Bits(value: SIMD.Uint32x4): SIMD.Int8x16;
  459. fromUint16x8Bits(value: SIMD.Uint16x8): SIMD.Int8x16;
  460. fromUint8x16Bits(value: SIMD.Uint8x16): SIMD.Int8x16;
  461. }
  462. interface Uint32x4 {
  463. constructor: Uint32x4Constructor;
  464. valueOf(): Uint32x4;
  465. toLocaleString(): string;
  466. toString(): string;
  467. }
  468. interface Uint32x4Constructor {
  469. (s0?: number, s1?: number, s2?: number, s3?: number): Uint32x4;
  470. prototype: Uint32x4;
  471. extractLane(simd: SIMD.Uint32x4, lane: number): number;
  472. swizzle(a: SIMD.Uint32x4, l1: number, l2: number, l3: number, l4: number): SIMD.Uint32x4;
  473. shuffle(a: SIMD.Uint32x4, b: SIMD.Uint32x4, l1: number, l2: number, l3: number, l4: number): SIMD.Uint32x4;
  474. check(a: SIMD.Uint32x4): SIMD.Uint32x4;
  475. splat(n: number): SIMD.Uint32x4;
  476. replaceLane(simd: SIMD.Uint32x4, lane: number, value: number): SIMD.Uint32x4;
  477. select(selector: SIMD.Bool32x4, a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  478. equal(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Bool32x4;
  479. notEqual(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Bool32x4;
  480. lessThan(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Bool32x4;
  481. lessThanOrEqual(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Bool32x4;
  482. greaterThan(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Bool32x4;
  483. greaterThanOrEqual(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Bool32x4;
  484. and(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  485. or(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  486. xor(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  487. not(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  488. add(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  489. sub(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  490. mul(a: SIMD.Uint32x4, b: SIMD.Uint32x4): SIMD.Uint32x4;
  491. shiftLeftByScalar(a: SIMD.Uint32x4, bits: number): SIMD.Uint32x4;
  492. shiftRightByScalar(a: SIMD.Uint32x4, bits: number): SIMD.Uint32x4;
  493. load(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Uint32x4;
  494. load1(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Uint32x4;
  495. load2(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Uint32x4;
  496. load3(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Uint32x4;
  497. store(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Uint32x4): SIMD.Uint32x4;
  498. store1(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Uint32x4): SIMD.Uint32x4;
  499. store2(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Uint32x4): SIMD.Uint32x4;
  500. store3(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Uint32x4): SIMD.Uint32x4;
  501. fromFloat32x4(value: SIMD.Float32x4): SIMD.Uint32x4;
  502. fromInt32x4(value: SIMD.Int32x4): SIMD.Uint32x4;
  503. fromFloat32x4Bits(value: SIMD.Float32x4): SIMD.Uint32x4;
  504. fromInt32x4Bits(value: SIMD.Int32x4): SIMD.Uint32x4;
  505. fromInt16x8Bits(value: SIMD.Int16x8): SIMD.Uint32x4;
  506. fromInt8x16Bits(value: SIMD.Int8x16): SIMD.Uint32x4;
  507. fromUint16x8Bits(value: SIMD.Uint16x8): SIMD.Uint32x4;
  508. fromUint8x16Bits(value: SIMD.Uint8x16): SIMD.Uint32x4;
  509. }
  510. interface Uint16x8 {
  511. constructor: Uint16x8Constructor;
  512. valueOf(): Uint16x8;
  513. toLocaleString(): string;
  514. toString(): string;
  515. }
  516. interface Uint16x8Constructor {
  517. (s0?: number, s1?: number, s2?: number, s3?: number, s4?: number, s5?: number, s6?: number, s7?: number): Uint16x8;
  518. prototype: Uint16x8;
  519. extractLane(simd: SIMD.Uint16x8, lane: number): number;
  520. swizzle(a: SIMD.Uint16x8, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number): SIMD.Uint16x8;
  521. shuffle(a: SIMD.Uint16x8, b: SIMD.Uint16x8, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number): SIMD.Uint16x8;
  522. check(a: SIMD.Uint16x8): SIMD.Uint16x8;
  523. splat(n: number): SIMD.Uint16x8;
  524. replaceLane(simd: SIMD.Uint16x8, lane: number, value: number): SIMD.Uint16x8;
  525. select(selector: SIMD.Bool16x8, a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  526. equal(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Bool16x8;
  527. notEqual(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Bool16x8;
  528. lessThan(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Bool16x8;
  529. lessThanOrEqual(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Bool16x8;
  530. greaterThan(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Bool16x8;
  531. greaterThanOrEqual(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Bool16x8;
  532. and(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  533. or(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  534. xor(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  535. not(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  536. add(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  537. sub(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  538. mul(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  539. shiftLeftByScalar(a: SIMD.Uint16x8, bits: number): SIMD.Uint16x8;
  540. shiftRightByScalar(a: SIMD.Uint16x8, bits: number): SIMD.Uint16x8;
  541. addSaturate(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  542. subSaturate(a: SIMD.Uint16x8, b: SIMD.Uint16x8): SIMD.Uint16x8;
  543. load(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Uint16x8;
  544. store(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Uint16x8): SIMD.Uint16x8;
  545. fromInt16x8(value: SIMD.Int16x8): SIMD.Uint16x8;
  546. fromFloat32x4Bits(value: SIMD.Float32x4): SIMD.Uint16x8;
  547. fromInt32x4Bits(value: SIMD.Int32x4): SIMD.Uint16x8;
  548. fromInt16x8Bits(value: SIMD.Int16x8): SIMD.Uint16x8;
  549. fromInt8x16Bits(value: SIMD.Int8x16): SIMD.Uint16x8;
  550. fromUint32x4Bits(value: SIMD.Uint32x4): SIMD.Uint16x8;
  551. fromUint8x16Bits(value: SIMD.Uint8x16): SIMD.Uint16x8;
  552. }
  553. interface Uint8x16 {
  554. constructor: Uint8x16Constructor;
  555. valueOf(): Uint8x16;
  556. toLocaleString(): string;
  557. toString(): string;
  558. }
  559. interface Uint8x16Constructor {
  560. (s0?: number, s1?: number, s2?: number, s3?: number, s4?: number, s5?: number, s6?: number, s7?: number, s8?: number, s9?: number, s10?: number, s11?: number, s12?: number, s13?: number, s14?: number, s15?: number): Uint8x16;
  561. prototype: Uint8x16;
  562. extractLane(simd: SIMD.Uint8x16, lane: number): number;
  563. swizzle(a: SIMD.Uint8x16, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number, l9: number, l10: number, l11: number, l12: number, l13: number, l14: number, l15: number, l16: number): SIMD.Uint8x16;
  564. shuffle(a: SIMD.Uint8x16, b: SIMD.Uint8x16, l1: number, l2: number, l3: number, l4: number, l5: number, l6: number, l7: number, l8: number, l9: number, l10: number, l11: number, l12: number, l13: number, l14: number, l15: number, l16: number): SIMD.Uint8x16;
  565. check(a: SIMD.Uint8x16): SIMD.Uint8x16;
  566. splat(n: number): SIMD.Uint8x16;
  567. replaceLane(simd: SIMD.Uint8x16, lane: number, value: number): SIMD.Uint8x16;
  568. select(selector: SIMD.Bool8x16, a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  569. equal(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Bool8x16;
  570. notEqual(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Bool8x16;
  571. lessThan(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Bool8x16;
  572. lessThanOrEqual(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Bool8x16;
  573. greaterThan(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Bool8x16;
  574. greaterThanOrEqual(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Bool8x16;
  575. and(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  576. or(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  577. xor(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  578. not(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  579. add(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  580. sub(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  581. mul(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  582. shiftLeftByScalar(a: SIMD.Uint8x16, bits: number): SIMD.Uint8x16;
  583. shiftRightByScalar(a: SIMD.Uint8x16, bits: number): SIMD.Uint8x16;
  584. addSaturate(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  585. subSaturate(a: SIMD.Uint8x16, b: SIMD.Uint8x16): SIMD.Uint8x16;
  586. load(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number): SIMD.Uint8x16;
  587. store(tarray: Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, index: number, value: SIMD.Uint8x16): SIMD.Uint8x16;
  588. fromInt8x16(value: SIMD.Int8x16): SIMD.Uint8x16;
  589. fromFloat32x4Bits(value: SIMD.Float32x4): SIMD.Uint8x16;
  590. fromInt32x4Bits(value: SIMD.Int32x4): SIMD.Uint8x16;
  591. fromInt16x8Bits(value: SIMD.Int16x8): SIMD.Uint8x16;
  592. fromInt8x16Bits(value: SIMD.Int8x16): SIMD.Uint8x16;
  593. fromUint32x4Bits(value: SIMD.Uint32x4): SIMD.Uint8x16;
  594. fromUint16x8Bits(value: SIMD.Uint16x8): SIMD.Uint8x16;
  595. }
  596. interface Bool32x4 {
  597. constructor: Bool32x4Constructor;
  598. valueOf(): Bool32x4;
  599. toLocaleString(): string;
  600. toString(): string;
  601. }
  602. interface Bool32x4Constructor {
  603. (s0?: boolean, s1?: boolean, s2?: boolean, s3?: boolean): Bool32x4;
  604. prototype: Bool32x4;
  605. extractLane(simd: SIMD.Bool32x4, lane: number): boolean;
  606. check(a: SIMD.Bool32x4): SIMD.Bool32x4;
  607. splat(n: boolean): SIMD.Bool32x4;
  608. replaceLane(simd: SIMD.Bool32x4, lane: number, value: boolean): SIMD.Bool32x4;
  609. allTrue(a: SIMD.Bool32x4): boolean;
  610. anyTrue(a: SIMD.Bool32x4): boolean;
  611. and(a: SIMD.Bool32x4, b: SIMD.Bool32x4): SIMD.Bool32x4;
  612. or(a: SIMD.Bool32x4, b: SIMD.Bool32x4): SIMD.Bool32x4;
  613. xor(a: SIMD.Bool32x4, b: SIMD.Bool32x4): SIMD.Bool32x4;
  614. not(a: SIMD.Bool32x4, b: SIMD.Bool32x4): SIMD.Bool32x4;
  615. }
  616. interface Bool16x8 {
  617. constructor: Bool16x8Constructor;
  618. valueOf(): Bool16x8;
  619. toLocaleString(): string;
  620. toString(): string;
  621. }
  622. interface Bool16x8Constructor {
  623. (s0?: boolean, s1?: boolean, s2?: boolean, s3?: boolean, s4?: boolean, s5?: boolean, s6?: boolean, s7?: boolean): Bool16x8;
  624. prototype: Bool16x8;
  625. extractLane(simd: SIMD.Bool16x8, lane: number): boolean;
  626. check(a: SIMD.Bool16x8): SIMD.Bool16x8;
  627. splat(n: boolean): SIMD.Bool16x8;
  628. replaceLane(simd: SIMD.Bool16x8, lane: number, value: boolean): SIMD.Bool16x8;
  629. allTrue(a: SIMD.Bool16x8): boolean;
  630. anyTrue(a: SIMD.Bool16x8): boolean;
  631. and(a: SIMD.Bool16x8, b: SIMD.Bool16x8): SIMD.Bool16x8;
  632. or(a: SIMD.Bool16x8, b: SIMD.Bool16x8): SIMD.Bool16x8;
  633. xor(a: SIMD.Bool16x8, b: SIMD.Bool16x8): SIMD.Bool16x8;
  634. not(a: SIMD.Bool16x8, b: SIMD.Bool16x8): SIMD.Bool16x8;
  635. }
  636. interface Bool8x16 {
  637. constructor: Bool8x16Constructor;
  638. valueOf(): Bool8x16;
  639. toLocaleString(): string;
  640. toString(): string;
  641. }
  642. interface Bool8x16Constructor {
  643. (s0?: boolean, s1?: boolean, s2?: boolean, s3?: boolean, s4?: boolean, s5?: boolean, s6?: boolean, s7?: boolean, s8?: boolean, s9?: boolean, s10?: boolean, s11?: boolean, s12?: boolean, s13?: boolean, s14?: boolean, s15?: boolean): Bool8x16;
  644. prototype: Bool8x16;
  645. extractLane(simd: SIMD.Bool8x16, lane: number): boolean;
  646. check(a: SIMD.Bool8x16): SIMD.Bool8x16;
  647. splat(n: boolean): SIMD.Bool8x16;
  648. replaceLane(simd: SIMD.Bool8x16, lane: number, value: boolean): SIMD.Bool8x16;
  649. allTrue(a: SIMD.Bool8x16): boolean;
  650. anyTrue(a: SIMD.Bool8x16): boolean;
  651. and(a: SIMD.Bool8x16, b: SIMD.Bool8x16): SIMD.Bool8x16;
  652. or(a: SIMD.Bool8x16, b: SIMD.Bool8x16): SIMD.Bool8x16;
  653. xor(a: SIMD.Bool8x16, b: SIMD.Bool8x16): SIMD.Bool8x16;
  654. not(a: SIMD.Bool8x16, b: SIMD.Bool8x16): SIMD.Bool8x16;
  655. }
  656. }
  657. export interface EXT_disjoint_timer_query {
  658. QUERY_COUNTER_BITS_EXT: number;
  659. TIME_ELAPSED_EXT: number;
  660. TIMESTAMP_EXT: number;
  661. GPU_DISJOINT_EXT: number;
  662. QUERY_RESULT_EXT: number;
  663. QUERY_RESULT_AVAILABLE_EXT: number;
  664. queryCounterEXT(query: WebGLQuery, target: number): void;
  665. createQueryEXT(): WebGLQuery;
  666. beginQueryEXT(target: number, query: WebGLQuery): void;
  667. endQueryEXT(target: number): void;
  668. getQueryObjectEXT(query: WebGLQuery, target: number): any;
  669. deleteQueryEXT(query: WebGLQuery): void;
  670. }
  671. 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';
  672. import {EngineInstrumentation,SceneInstrumentation,_TimeToken} from 'babylonjs/instrumentation';
  673. import {Particle,IParticleSystem,ParticleSystem,BoxParticleEmitter,ConeParticleEmitter,SphereParticleEmitter,SphereDirectedParticleEmitter,IParticleEmitterType} from 'babylonjs/particles';
  674. import {GPUParticleSystem} from 'babylonjs/gpuParticles';
  675. import {FramingBehavior,BouncingBehavior,AutoRotationBehavior} from 'babylonjs/cameraBehaviors';
  676. import {TextureTools} from 'babylonjs/textureTools';
  677. import {SolidParticle,ModelShape,DepthSortedParticle,SolidParticleSystem} from 'babylonjs/solidParticles';
  678. import {Collider,CollisionWorker,ICollisionCoordinator,SerializedMesh,SerializedSubMesh,SerializedGeometry,BabylonMessage,SerializedColliderToWorker,WorkerTaskType,WorkerReply,CollisionReplyPayload,InitPayload,CollidePayload,UpdatePayload,WorkerReplyType,CollisionCoordinatorWorker,CollisionCoordinatorLegacy} from 'babylonjs/collisions';
  679. import {IntersectionInfo,PickingInfo,Ray} from 'babylonjs/picking';
  680. import {SpriteManager,Sprite} from 'babylonjs/sprites';
  681. 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';
  682. import {Condition,ValueCondition,PredicateCondition,StateCondition,Action,ActionEvent,ActionManager,InterpolateValueAction,SwitchBooleanAction,SetStateAction,SetValueAction,IncrementValueAction,PlayAnimationAction,StopAnimationAction,DoNothingAction,CombineAction,ExecuteCodeAction,SetParentAction,PlaySoundAction,StopSoundAction} from 'babylonjs/actions';
  683. import {GroundMesh,InstancedMesh,LinesMesh} from 'babylonjs/additionalMeshes';
  684. import {ShaderMaterial} from 'babylonjs/shaderMaterial';
  685. import {MeshBuilder} from 'babylonjs/meshBuilder';
  686. import {PBRBaseMaterial,PBRBaseSimpleMaterial,PBRMaterial,PBRMetallicRoughnessMaterial,PBRSpecularGlossinessMaterial} from 'babylonjs/pbrMaterial';
  687. import {CameraInputTypes,ICameraInput,CameraInputsMap,CameraInputsManager,TargetCamera} from 'babylonjs/targetCamera';
  688. import {ArcRotateCameraKeyboardMoveInput,ArcRotateCameraMouseWheelInput,ArcRotateCameraPointersInput,ArcRotateCameraInputsManager,ArcRotateCamera} from 'babylonjs/arcRotateCamera';
  689. import {FreeCameraMouseInput,FreeCameraKeyboardMoveInput,FreeCameraInputsManager,FreeCamera} from 'babylonjs/freeCamera';
  690. import {HemisphericLight} from 'babylonjs/hemisphericLight';
  691. import {IShadowLight,ShadowLight,PointLight} from 'babylonjs/pointLight';
  692. import {DirectionalLight} from 'babylonjs/directionalLight';
  693. import {SpotLight} from 'babylonjs/spotLight';
  694. import {CubeTexture,RenderTargetTexture,IMultiRenderTargetOptions,MultiRenderTarget,MirrorTexture,RefractionTexture,DynamicTexture,VideoTexture,RawTexture} from 'babylonjs/additionalTextures';
  695. import {AudioEngine,Sound,SoundTrack,Analyser} from 'babylonjs/audio';
  696. import {ILoadingScreen,DefaultLoadingScreen,SceneLoaderProgressEvent,ISceneLoaderPluginExtensions,ISceneLoaderPluginFactory,ISceneLoaderPlugin,ISceneLoaderPluginAsync,SceneLoader,FilesInput} from 'babylonjs/loader';
  697. import {IShadowGenerator,ShadowGenerator} from 'babylonjs/shadows';
  698. import {StringDictionary} from 'babylonjs/stringDictionary';
  699. import {Tags,AndOrNotEvaluator} from 'babylonjs/userData';
  700. import {FresnelParameters} from 'babylonjs/fresnel';
  701. import {MultiMaterial} from 'babylonjs/multiMaterial';
  702. import {Database} from 'babylonjs/offline';
  703. import {FreeCameraTouchInput,TouchCamera} from 'babylonjs/touchCamera';
  704. import {ProceduralTexture,CustomProceduralTexture} from 'babylonjs/procedural';
  705. import {FreeCameraGamepadInput,ArcRotateCameraGamepadInput,GamepadManager,StickValues,GamepadButtonChanges,Gamepad,GenericPad,Xbox360Button,Xbox360Dpad,Xbox360Pad,PoseEnabledControllerType,MutableGamepadButton,ExtendedGamepadButton,PoseEnabledControllerHelper,PoseEnabledController,WebVRController,OculusTouchController,ViveController,GenericController,WindowsMotionController} from 'babylonjs/gamepad';
  706. import {FollowCamera,ArcFollowCamera,UniversalCamera,GamepadCamera} from 'babylonjs/additionalCameras';
  707. import {DepthRenderer} from 'babylonjs/depthRenderer';
  708. import {GeometryBufferRenderer} from 'babylonjs/geometryBufferRenderer';
  709. import {PostProcessOptions,PostProcess,PassPostProcess} from 'babylonjs/postProcesses';
  710. import {BlurPostProcess} from 'babylonjs/additionalPostProcess_blur';
  711. import {FxaaPostProcess} from 'babylonjs/additionalPostProcess_fxaa';
  712. import {HighlightsPostProcess} from 'babylonjs/additionalPostProcess_highlights';
  713. import {RefractionPostProcess,BlackAndWhitePostProcess,ConvolutionPostProcess,FilterPostProcess,VolumetricLightScatteringPostProcess,ColorCorrectionPostProcess,TonemappingOperator,TonemapPostProcess,DisplayPassPostProcess,ImageProcessingPostProcess} from 'babylonjs/additionalPostProcesses';
  714. import {PostProcessRenderPipelineManager,PostProcessRenderPass,PostProcessRenderEffect,PostProcessRenderPipeline} from 'babylonjs/renderingPipeline';
  715. import {SSAORenderingPipeline,SSAO2RenderingPipeline,LensRenderingPipeline,StandardRenderingPipeline} from 'babylonjs/additionalRenderingPipeline';
  716. import {DefaultRenderingPipeline} from 'babylonjs/defaultRenderingPipeline';
  717. import {Bone,BoneIKController,BoneLookController,Skeleton} from 'babylonjs/bones';
  718. import {SphericalPolynomial,SphericalHarmonics,CubeMapToSphericalPolynomialTools,CubeMapInfo,PanoramaToCubeMapTools,HDRInfo,HDRTools,HDRCubeTexture} from 'babylonjs/hdr';
  719. import {CSG} from 'babylonjs/csg';
  720. import {Polygon,PolygonMeshBuilder} from 'babylonjs/polygonMesh';
  721. import {LensFlare,LensFlareSystem} from 'babylonjs/lensFlares';
  722. 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';
  723. import {TGATools,DDSInfo,DDSTools,KhronosTextureContainer} from 'babylonjs/textureFormats';
  724. import {Debug,RayHelper,DebugLayer,BoundingBoxRenderer} from 'babylonjs/debug';
  725. import {MorphTarget,MorphTargetManager} from 'babylonjs/morphTargets';
  726. import {IOctreeContainer,Octree,OctreeBlock} from 'babylonjs/octrees';
  727. import {SIMDHelper} from 'babylonjs/simd';
  728. 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';
  729. import {JoystickAxis,VirtualJoystick,VirtualJoysticksCamera,FreeCameraVirtualJoystickInput} from 'babylonjs/virtualJoystick';
  730. 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';
  731. import {OutlineRenderer,EdgesRenderer,IHighlightLayerOptions,HighlightLayer} from 'babylonjs/highlights';
  732. import {SceneSerializer} from 'babylonjs/serialization';
  733. import {AssetTaskState,AbstractAssetTask,IAssetsProgressEvent,AssetsProgressEvent,MeshAssetTask,TextFileAssetTask,BinaryFileAssetTask,ImageAssetTask,ITextureAssetTask,TextureAssetTask,CubeTextureAssetTask,HDRCubeTextureAssetTask,AssetsManager} from 'babylonjs/assetsManager';
  734. import {ReflectionProbe} from 'babylonjs/probes';
  735. import {BackgroundMaterial} from 'babylonjs/backgroundMaterial';
  736. import {Layer} from 'babylonjs/layer';
  737. import {IEnvironmentHelperOptions,EnvironmentHelper} from 'babylonjs/environmentHelper';