babylonjs.materials.d.ts 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. /*BabylonJS Materials*/
  2. // Dependencies for this module:
  3. // ../../../../Tools/Gulp/babylonjs
  4. declare module BABYLON {
  5. export class CellMaterial extends BABYLON.PushMaterial {
  6. diffuseTexture: BABYLON.BaseTexture;
  7. diffuseColor: BABYLON.Color3;
  8. _computeHighLevel: boolean;
  9. computeHighLevel: boolean;
  10. disableLighting: boolean;
  11. maxSimultaneousLights: number;
  12. constructor(name: string, scene: BABYLON.Scene);
  13. needAlphaBlending(): boolean;
  14. needAlphaTesting(): boolean;
  15. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  16. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  17. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  18. getAnimatables(): BABYLON.IAnimatable[];
  19. getActiveTextures(): BABYLON.BaseTexture[];
  20. hasTexture(texture: BABYLON.BaseTexture): boolean;
  21. dispose(forceDisposeEffect?: boolean): void;
  22. getClassName(): string;
  23. clone(name: string): CellMaterial;
  24. serialize(): any;
  25. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): CellMaterial;
  26. }
  27. }
  28. declare module BABYLON {
  29. export class CustomShaderStructure {
  30. FragmentStore: string;
  31. VertexStore: string;
  32. constructor();
  33. }
  34. export class ShaderSpecialParts {
  35. constructor();
  36. Fragment_Begin: string;
  37. Fragment_Definitions: string;
  38. Fragment_MainBegin: string;
  39. Fragment_Custom_Diffuse: string;
  40. Fragment_Custom_Alpha: string;
  41. Fragment_Before_FragColor: string;
  42. Vertex_Begin: string;
  43. Vertex_Definitions: string;
  44. Vertex_MainBegin: string;
  45. Vertex_Before_PositionUpdated: string;
  46. Vertex_Before_NormalUpdated: string;
  47. }
  48. export class CustomMaterial extends BABYLON.StandardMaterial {
  49. static ShaderIndexer: number;
  50. CustomParts: ShaderSpecialParts;
  51. _isCreatedShader: boolean;
  52. _createdShaderName: string;
  53. _customUniform: string[];
  54. _newUniforms: string[];
  55. _newUniformInstances: any[];
  56. _newSamplerInstances: BABYLON.Texture[];
  57. FragmentShader: string;
  58. VertexShader: string;
  59. AttachAfterBind(mesh: BABYLON.Mesh, effect: BABYLON.Effect): void;
  60. ReviewUniform(name: string, arr: string[]): string[];
  61. Builder(shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: BABYLON.StandardMaterialDefines): string;
  62. constructor(name: string, scene: BABYLON.Scene);
  63. AddUniform(name: string, kind: string, param: any): CustomMaterial;
  64. Fragment_Begin(shaderPart: string): CustomMaterial;
  65. Fragment_Definitions(shaderPart: string): CustomMaterial;
  66. Fragment_MainBegin(shaderPart: string): CustomMaterial;
  67. Fragment_Custom_Diffuse(shaderPart: string): CustomMaterial;
  68. Fragment_Custom_Alpha(shaderPart: string): CustomMaterial;
  69. Fragment_Before_FragColor(shaderPart: string): CustomMaterial;
  70. Vertex_Begin(shaderPart: string): CustomMaterial;
  71. Vertex_Definitions(shaderPart: string): CustomMaterial;
  72. Vertex_MainBegin(shaderPart: string): CustomMaterial;
  73. Vertex_Before_PositionUpdated(shaderPart: string): CustomMaterial;
  74. Vertex_Before_NormalUpdated(shaderPart: string): CustomMaterial;
  75. }
  76. }
  77. declare module BABYLON {
  78. export class FireMaterial extends BABYLON.PushMaterial {
  79. diffuseTexture: BABYLON.Nullable<BABYLON.BaseTexture>;
  80. distortionTexture: BABYLON.Nullable<BABYLON.BaseTexture>;
  81. opacityTexture: BABYLON.Nullable<BABYLON.BaseTexture>;
  82. diffuseColor: BABYLON.Color3;
  83. speed: number;
  84. constructor(name: string, scene: BABYLON.Scene);
  85. needAlphaBlending(): boolean;
  86. needAlphaTesting(): boolean;
  87. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  88. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  89. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  90. getAnimatables(): BABYLON.IAnimatable[];
  91. getActiveTextures(): BABYLON.BaseTexture[];
  92. hasTexture(texture: BABYLON.BaseTexture): boolean;
  93. getClassName(): string;
  94. dispose(forceDisposeEffect?: boolean): void;
  95. clone(name: string): FireMaterial;
  96. serialize(): any;
  97. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): FireMaterial;
  98. }
  99. }
  100. declare module BABYLON {
  101. export class FurMaterial extends BABYLON.PushMaterial {
  102. diffuseTexture: BABYLON.BaseTexture;
  103. heightTexture: BABYLON.BaseTexture;
  104. diffuseColor: BABYLON.Color3;
  105. furLength: number;
  106. furAngle: number;
  107. furColor: BABYLON.Color3;
  108. furOffset: number;
  109. furSpacing: number;
  110. furGravity: BABYLON.Vector3;
  111. furSpeed: number;
  112. furDensity: number;
  113. furOcclusion: number;
  114. furTexture: BABYLON.DynamicTexture;
  115. disableLighting: boolean;
  116. maxSimultaneousLights: number;
  117. highLevelFur: boolean;
  118. _meshes: BABYLON.AbstractMesh[];
  119. constructor(name: string, scene: BABYLON.Scene);
  120. furTime: number;
  121. needAlphaBlending(): boolean;
  122. needAlphaTesting(): boolean;
  123. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  124. updateFur(): void;
  125. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  126. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  127. getAnimatables(): BABYLON.IAnimatable[];
  128. getActiveTextures(): BABYLON.BaseTexture[];
  129. hasTexture(texture: BABYLON.BaseTexture): boolean;
  130. dispose(forceDisposeEffect?: boolean): void;
  131. clone(name: string): FurMaterial;
  132. serialize(): any;
  133. getClassName(): string;
  134. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): FurMaterial;
  135. static GenerateTexture(name: string, scene: BABYLON.Scene): BABYLON.DynamicTexture;
  136. static FurifyMesh(sourceMesh: BABYLON.Mesh, quality: number): BABYLON.Mesh[];
  137. }
  138. }
  139. declare module BABYLON {
  140. export class GradientMaterial extends BABYLON.PushMaterial {
  141. maxSimultaneousLights: number;
  142. topColor: BABYLON.Color3;
  143. topColorAlpha: number;
  144. bottomColor: BABYLON.Color3;
  145. bottomColorAlpha: number;
  146. offset: number;
  147. scale: number;
  148. smoothness: number;
  149. disableLighting: boolean;
  150. constructor(name: string, scene: BABYLON.Scene);
  151. needAlphaBlending(): boolean;
  152. needAlphaTesting(): boolean;
  153. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  154. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  155. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  156. getAnimatables(): BABYLON.IAnimatable[];
  157. dispose(forceDisposeEffect?: boolean): void;
  158. clone(name: string): GradientMaterial;
  159. serialize(): any;
  160. getClassName(): string;
  161. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): GradientMaterial;
  162. }
  163. }
  164. declare module BABYLON {
  165. /**
  166. * The grid materials allows you to wrap any shape with a grid.
  167. * Colors are customizable.
  168. */
  169. export class GridMaterial extends BABYLON.PushMaterial {
  170. /**
  171. * Main color of the grid (e.g. between lines)
  172. */
  173. mainColor: BABYLON.Color3;
  174. /**
  175. * Color of the grid lines.
  176. */
  177. lineColor: BABYLON.Color3;
  178. /**
  179. * The scale of the grid compared to unit.
  180. */
  181. gridRatio: number;
  182. /**
  183. * Allows setting an offset for the grid lines.
  184. */
  185. gridOffset: BABYLON.Vector3;
  186. /**
  187. * The frequency of thicker lines.
  188. */
  189. majorUnitFrequency: number;
  190. /**
  191. * The visibility of minor units in the grid.
  192. */
  193. minorUnitVisibility: number;
  194. /**
  195. * The grid opacity outside of the lines.
  196. */
  197. opacity: number;
  198. /**
  199. * Determine RBG output is premultiplied by alpha value.
  200. */
  201. preMultiplyAlpha: boolean;
  202. /**
  203. * constructor
  204. * @param name The name given to the material in order to identify it afterwards.
  205. * @param scene The scene the material is used in.
  206. */
  207. constructor(name: string, scene: BABYLON.Scene);
  208. /**
  209. * Returns wehter or not the grid requires alpha blending.
  210. */
  211. needAlphaBlending(): boolean;
  212. needAlphaBlendingForMesh(mesh: BABYLON.AbstractMesh): boolean;
  213. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  214. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  215. /**
  216. * Dispose the material and its associated resources.
  217. * @param forceDisposeEffect will also dispose the used effect when true
  218. */
  219. dispose(forceDisposeEffect?: boolean): void;
  220. clone(name: string): GridMaterial;
  221. serialize(): any;
  222. getClassName(): string;
  223. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): GridMaterial;
  224. }
  225. }
  226. declare module BABYLON {
  227. export class LavaMaterial extends BABYLON.PushMaterial {
  228. diffuseTexture: BABYLON.BaseTexture;
  229. noiseTexture: BABYLON.BaseTexture;
  230. fogColor: BABYLON.Color3;
  231. speed: number;
  232. movingSpeed: number;
  233. lowFrequencySpeed: number;
  234. fogDensity: number;
  235. diffuseColor: BABYLON.Color3;
  236. disableLighting: boolean;
  237. unlit: boolean;
  238. maxSimultaneousLights: number;
  239. constructor(name: string, scene: BABYLON.Scene);
  240. needAlphaBlending(): boolean;
  241. needAlphaTesting(): boolean;
  242. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  243. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  244. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  245. getAnimatables(): BABYLON.IAnimatable[];
  246. getActiveTextures(): BABYLON.BaseTexture[];
  247. hasTexture(texture: BABYLON.BaseTexture): boolean;
  248. dispose(forceDisposeEffect?: boolean): void;
  249. clone(name: string): LavaMaterial;
  250. serialize(): any;
  251. getClassName(): string;
  252. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): LavaMaterial;
  253. }
  254. }
  255. declare module BABYLON {
  256. export class MixMaterial extends BABYLON.PushMaterial {
  257. mixTexture1: BABYLON.BaseTexture;
  258. mixTexture2: BABYLON.BaseTexture;
  259. diffuseTexture1: BABYLON.Texture;
  260. diffuseTexture2: BABYLON.Texture;
  261. diffuseTexture3: BABYLON.Texture;
  262. diffuseTexture4: BABYLON.Texture;
  263. diffuseTexture5: BABYLON.Texture;
  264. diffuseTexture6: BABYLON.Texture;
  265. diffuseTexture7: BABYLON.Texture;
  266. diffuseTexture8: BABYLON.Texture;
  267. /**
  268. * Uniforms
  269. */
  270. diffuseColor: BABYLON.Color3;
  271. specularColor: BABYLON.Color3;
  272. specularPower: number;
  273. disableLighting: boolean;
  274. maxSimultaneousLights: number;
  275. constructor(name: string, scene: BABYLON.Scene);
  276. needAlphaBlending(): boolean;
  277. needAlphaTesting(): boolean;
  278. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  279. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  280. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  281. getAnimatables(): BABYLON.IAnimatable[];
  282. getActiveTextures(): BABYLON.BaseTexture[];
  283. hasTexture(texture: BABYLON.BaseTexture): boolean;
  284. dispose(forceDisposeEffect?: boolean): void;
  285. clone(name: string): MixMaterial;
  286. serialize(): any;
  287. getClassName(): string;
  288. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): MixMaterial;
  289. }
  290. }
  291. declare module BABYLON {
  292. export class NormalMaterial extends BABYLON.PushMaterial {
  293. diffuseTexture: BABYLON.BaseTexture;
  294. diffuseColor: BABYLON.Color3;
  295. disableLighting: boolean;
  296. maxSimultaneousLights: number;
  297. constructor(name: string, scene: BABYLON.Scene);
  298. needAlphaBlending(): boolean;
  299. needAlphaTesting(): boolean;
  300. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  301. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  302. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  303. getAnimatables(): BABYLON.IAnimatable[];
  304. getActiveTextures(): BABYLON.BaseTexture[];
  305. hasTexture(texture: BABYLON.BaseTexture): boolean;
  306. dispose(forceDisposeEffect?: boolean): void;
  307. clone(name: string): NormalMaterial;
  308. serialize(): any;
  309. getClassName(): string;
  310. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): NormalMaterial;
  311. }
  312. }
  313. declare module BABYLON {
  314. export class ShadowOnlyMaterial extends BABYLON.PushMaterial {
  315. constructor(name: string, scene: BABYLON.Scene);
  316. shadowColor: BABYLON.Color3;
  317. needAlphaBlending(): boolean;
  318. needAlphaTesting(): boolean;
  319. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  320. activeLight: BABYLON.IShadowLight;
  321. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  322. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  323. clone(name: string): ShadowOnlyMaterial;
  324. serialize(): any;
  325. getClassName(): string;
  326. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): ShadowOnlyMaterial;
  327. }
  328. }
  329. declare module BABYLON {
  330. export class SimpleMaterial extends BABYLON.PushMaterial {
  331. diffuseTexture: BABYLON.BaseTexture;
  332. diffuseColor: BABYLON.Color3;
  333. disableLighting: boolean;
  334. maxSimultaneousLights: number;
  335. constructor(name: string, scene: BABYLON.Scene);
  336. needAlphaBlending(): boolean;
  337. needAlphaTesting(): boolean;
  338. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  339. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  340. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  341. getAnimatables(): BABYLON.IAnimatable[];
  342. getActiveTextures(): BABYLON.BaseTexture[];
  343. hasTexture(texture: BABYLON.BaseTexture): boolean;
  344. dispose(forceDisposeEffect?: boolean): void;
  345. clone(name: string): SimpleMaterial;
  346. serialize(): any;
  347. getClassName(): string;
  348. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): SimpleMaterial;
  349. }
  350. }
  351. declare module BABYLON {
  352. export class SkyMaterial extends BABYLON.PushMaterial {
  353. luminance: number;
  354. turbidity: number;
  355. rayleigh: number;
  356. mieCoefficient: number;
  357. mieDirectionalG: number;
  358. distance: number;
  359. inclination: number;
  360. azimuth: number;
  361. sunPosition: BABYLON.Vector3;
  362. useSunPosition: boolean;
  363. constructor(name: string, scene: BABYLON.Scene);
  364. needAlphaBlending(): boolean;
  365. needAlphaTesting(): boolean;
  366. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  367. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  368. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  369. getAnimatables(): BABYLON.IAnimatable[];
  370. dispose(forceDisposeEffect?: boolean): void;
  371. clone(name: string): SkyMaterial;
  372. serialize(): any;
  373. getClassName(): string;
  374. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): SkyMaterial;
  375. }
  376. }
  377. declare module BABYLON {
  378. export class TerrainMaterial extends BABYLON.PushMaterial {
  379. mixTexture: BABYLON.BaseTexture;
  380. diffuseTexture1: BABYLON.Texture;
  381. diffuseTexture2: BABYLON.Texture;
  382. diffuseTexture3: BABYLON.Texture;
  383. bumpTexture1: BABYLON.Texture;
  384. bumpTexture2: BABYLON.Texture;
  385. bumpTexture3: BABYLON.Texture;
  386. diffuseColor: BABYLON.Color3;
  387. specularColor: BABYLON.Color3;
  388. specularPower: number;
  389. disableLighting: boolean;
  390. maxSimultaneousLights: number;
  391. constructor(name: string, scene: BABYLON.Scene);
  392. needAlphaBlending(): boolean;
  393. needAlphaTesting(): boolean;
  394. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  395. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  396. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  397. getAnimatables(): BABYLON.IAnimatable[];
  398. getActiveTextures(): BABYLON.BaseTexture[];
  399. hasTexture(texture: BABYLON.BaseTexture): boolean;
  400. dispose(forceDisposeEffect?: boolean): void;
  401. clone(name: string): TerrainMaterial;
  402. serialize(): any;
  403. getClassName(): string;
  404. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): TerrainMaterial;
  405. }
  406. }
  407. declare module BABYLON {
  408. export class TriPlanarMaterial extends BABYLON.PushMaterial {
  409. mixTexture: BABYLON.BaseTexture;
  410. diffuseTextureX: BABYLON.BaseTexture;
  411. diffuseTextureY: BABYLON.BaseTexture;
  412. diffuseTextureZ: BABYLON.BaseTexture;
  413. normalTextureX: BABYLON.BaseTexture;
  414. normalTextureY: BABYLON.BaseTexture;
  415. normalTextureZ: BABYLON.BaseTexture;
  416. tileSize: number;
  417. diffuseColor: BABYLON.Color3;
  418. specularColor: BABYLON.Color3;
  419. specularPower: number;
  420. disableLighting: boolean;
  421. maxSimultaneousLights: number;
  422. constructor(name: string, scene: BABYLON.Scene);
  423. needAlphaBlending(): boolean;
  424. needAlphaTesting(): boolean;
  425. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  426. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  427. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  428. getAnimatables(): BABYLON.IAnimatable[];
  429. getActiveTextures(): BABYLON.BaseTexture[];
  430. hasTexture(texture: BABYLON.BaseTexture): boolean;
  431. dispose(forceDisposeEffect?: boolean): void;
  432. clone(name: string): TriPlanarMaterial;
  433. serialize(): any;
  434. getClassName(): string;
  435. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): TriPlanarMaterial;
  436. }
  437. }
  438. declare module BABYLON {
  439. export class WaterMaterial extends BABYLON.PushMaterial {
  440. renderTargetSize: BABYLON.Vector2;
  441. bumpTexture: BABYLON.BaseTexture;
  442. diffuseColor: BABYLON.Color3;
  443. specularColor: BABYLON.Color3;
  444. specularPower: number;
  445. disableLighting: boolean;
  446. maxSimultaneousLights: number;
  447. /**
  448. * @param {number}: Represents the wind force
  449. */
  450. windForce: number;
  451. /**
  452. * @param {Vector2}: The direction of the wind in the plane (X, Z)
  453. */
  454. windDirection: BABYLON.Vector2;
  455. /**
  456. * @param {number}: Wave height, represents the height of the waves
  457. */
  458. waveHeight: number;
  459. /**
  460. * @param {number}: Bump height, represents the bump height related to the bump map
  461. */
  462. bumpHeight: number;
  463. bumpSuperimpose: boolean;
  464. fresnelSeparate: boolean;
  465. bumpAffectsReflection: boolean;
  466. /**
  467. * @param {number}: The water color blended with the refraction (near)
  468. */
  469. waterColor: BABYLON.Color3;
  470. /**
  471. * @param {number}: The blend factor related to the water color
  472. */
  473. colorBlendFactor: number;
  474. /**
  475. * @param {number}: The water color blended with the reflection (far)
  476. */
  477. waterColor2: BABYLON.Color3;
  478. /**
  479. * @param {number}: The blend factor related to the water color (reflection, far)
  480. */
  481. colorBlendFactor2: number;
  482. /**
  483. * @param {number}: Represents the maximum length of a wave
  484. */
  485. waveLength: number;
  486. /**
  487. * @param {number}: Defines the waves speed
  488. */
  489. waveSpeed: number;
  490. protected _renderTargets: BABYLON.SmartArray<BABYLON.RenderTargetTexture>;
  491. /**
  492. * Gets a boolean indicating that current material needs to register RTT
  493. */
  494. readonly hasRenderTargetTextures: boolean;
  495. /**
  496. * Constructor
  497. */
  498. constructor(name: string, scene: BABYLON.Scene, renderTargetSize?: BABYLON.Vector2);
  499. useLogarithmicDepth: boolean;
  500. readonly refractionTexture: BABYLON.Nullable<BABYLON.RenderTargetTexture>;
  501. readonly reflectionTexture: BABYLON.Nullable<BABYLON.RenderTargetTexture>;
  502. addToRenderList(node: any): void;
  503. enableRenderTargets(enable: boolean): void;
  504. getRenderList(): BABYLON.Nullable<BABYLON.AbstractMesh[]>;
  505. readonly renderTargetsEnabled: boolean;
  506. needAlphaBlending(): boolean;
  507. needAlphaTesting(): boolean;
  508. getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
  509. isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
  510. bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
  511. getAnimatables(): BABYLON.IAnimatable[];
  512. getActiveTextures(): BABYLON.BaseTexture[];
  513. hasTexture(texture: BABYLON.BaseTexture): boolean;
  514. dispose(forceDisposeEffect?: boolean): void;
  515. clone(name: string): WaterMaterial;
  516. serialize(): any;
  517. getClassName(): string;
  518. static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): WaterMaterial;
  519. static CreateDefaultMesh(name: string, scene: BABYLON.Scene): BABYLON.Mesh;
  520. }
  521. }