babylon.brickProceduralTexture.ts 2.0 KB

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