addwater.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. window.prepareWater = function() {
  2. var water = new BABYLON.WaterMaterial("water", scene);
  3. water.backFaceCulling = false;
  4. water.enableRenderTargets(false);
  5. water.bumpTexture = new BABYLON.Texture("/Playground/textures/waterbump.png", scene);
  6. water.windForce = 45;
  7. water.waveHeight = 1.3;
  8. water.windDirection = new BABYLON.Vector2(1, 1);
  9. registerRangeUI("water", "windForce", 0, 100, function(value) {
  10. water.windForce = value;
  11. }, function() {
  12. return water.windForce;
  13. });
  14. registerRangeUI("water", "waveHeight", 0, 20, function(value) {
  15. water.waveHeight = value;
  16. }, function() {
  17. return water.waveHeight;
  18. });
  19. registerRangeUI("water", "bumpHeight", 0, 10, function(value) {
  20. water.bumpHeight = value;
  21. }, function() {
  22. return water.bumpHeight;
  23. });
  24. registerRangeUI("water", "colorBlendFactor", 0, 1, function(value) {
  25. water.colorBlendFactor = value;
  26. }, function() {
  27. return water.colorBlendFactor;
  28. });
  29. registerRangeUI("water", "waveLength", 0, 1, function(value) {
  30. water.waveLength = value;
  31. }, function() {
  32. return water.waveLength;
  33. });
  34. registerRangeUI("water", "waveSpeed", 0, 100, function(value) {
  35. water.waveSpeed = value;
  36. }, function() {
  37. return water.waveSpeed;
  38. });
  39. // Specular color
  40. registerColorPicker("water", "specularColor", "#703605", function(value) {
  41. water.specularColor.r = value.r/255;
  42. water.specularColor.g = value.g/255;
  43. water.specularColor.b = value.b/255;
  44. }, function() {
  45. return water.specularColor;
  46. });
  47. registerRangeUI("water", "specularPower", 0, 512, function(value) {
  48. water.specularPower = value;
  49. }, function() {
  50. return water.specularPower;
  51. });
  52. // Advanced
  53. registerRangeUI("water", "bumpSuperimpose", 0, 1, function(value) {
  54. water.bumpSuperimpose = value;
  55. }, function() {
  56. return water.bumpSuperimpose;
  57. });
  58. registerRangeUI("water", "fresnelSeparate", 0, 1, function(value) {
  59. water.fresnelSeparate = value;
  60. }, function() {
  61. return water.fresnelSeparate ;
  62. });
  63. registerRangeUI("water", "bumpAffectsReflection", 0, 1, function(value) {
  64. water.bumpAffectsReflection = value;
  65. }, function() {
  66. return water.bumpAffectsReflection ;
  67. });
  68. registerRangeUI("water", "colorBlendFactor2", 0, 1, function(value) {
  69. water.colorBlendFactor2 = value;
  70. }, function() {
  71. return water.colorBlendFactor2;
  72. });
  73. registerColorPicker("water", "waterColor", "#703605", function(value) {
  74. water.waterColor.r = value.r/255;
  75. water.waterColor.g = value.g/255;
  76. water.waterColor.b = value.b/255;
  77. }, function() {
  78. return water.waterColor;
  79. });
  80. registerColorPicker("water", "waterColor2", "#703605", function(value) {
  81. water.waterColor2.r = value.r/255;
  82. water.waterColor2.g = value.g/255;
  83. water.waterColor2.b = value.b/255;
  84. }, function() {
  85. return water.waterColor2;
  86. });
  87. return water;
  88. }