babylon.marbleProceduralTexture.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /// <reference path="../../../dist/preview release/babylon.d.ts"/>
  2. module BABYLON {
  3. export class MarbleProceduralTexture extends ProceduralTexture {
  4. private _numberOfTilesHeight: number = 3;
  5. private _numberOfTilesWidth: number = 3;
  6. private _amplitude: number = 9.0;
  7. private _jointColor = new Color3(0.72, 0.72, 0.72);
  8. constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean) {
  9. super(name, size, "marbleProceduralTexture", scene, fallbackTexture, generateMipMaps);
  10. this.updateShaderUniforms();
  11. }
  12. public updateShaderUniforms() {
  13. this.setFloat("numberOfTilesHeight", this._numberOfTilesHeight);
  14. this.setFloat("numberOfTilesWidth", this._numberOfTilesWidth);
  15. this.setFloat("amplitude", this._amplitude);
  16. this.setColor3("jointColor", this._jointColor);
  17. }
  18. public get numberOfTilesHeight(): number {
  19. return this._numberOfTilesHeight;
  20. }
  21. public set numberOfTilesHeight(value: number) {
  22. this._numberOfTilesHeight = value;
  23. this.updateShaderUniforms();
  24. }
  25. public get amplitude(): number {
  26. return this._amplitude;
  27. }
  28. public set amplitude(value: number) {
  29. this._amplitude = value;
  30. this.updateShaderUniforms();
  31. }
  32. public get numberOfTilesWidth(): number {
  33. return this._numberOfTilesWidth;
  34. }
  35. public set numberOfTilesWidth(value: number) {
  36. this._numberOfTilesWidth = value;
  37. this.updateShaderUniforms();
  38. }
  39. public get jointColor(): Color3 {
  40. return this._jointColor;
  41. }
  42. public set jointColor(value: Color3) {
  43. this._jointColor = value;
  44. this.updateShaderUniforms();
  45. }
  46. }
  47. }