babylon.grassProceduralTexture.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /// <reference path="../../../dist/preview release/babylon.d.ts"/>
  2. module BABYLON {
  3. export class GrassProceduralTexture extends ProceduralTexture {
  4. private _grassColors: Color3[];
  5. private _groundColor = new Color3(1, 1, 1);
  6. constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean) {
  7. super(name, size, "grassProceduralTexture", scene, fallbackTexture, generateMipMaps);
  8. this._grassColors = [
  9. new Color3(0.29, 0.38, 0.02),
  10. new Color3(0.36, 0.49, 0.09),
  11. new Color3(0.51, 0.6, 0.28)
  12. ];
  13. this.updateShaderUniforms();
  14. }
  15. public updateShaderUniforms() {
  16. this.setColor3("herb1Color", this._grassColors[0]);
  17. this.setColor3("herb2Color", this._grassColors[1]);
  18. this.setColor3("herb3Color", this._grassColors[2]);
  19. this.setColor3("groundColor", this._groundColor);
  20. }
  21. public get grassColors(): Color3[] {
  22. return this._grassColors;
  23. }
  24. public set grassColors(value: Color3[]) {
  25. this._grassColors = value;
  26. this.updateShaderUniforms();
  27. }
  28. public get groundColor(): Color3 {
  29. return this._groundColor;
  30. }
  31. public set groundColor(value: Color3) {
  32. this._groundColor = value;
  33. this.updateShaderUniforms();
  34. }
  35. }
  36. }