babylonjs.materials.d.ts 21 KB

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