addbackground.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. window.prepareBackgroundMaterial = function() {
  2. var backSky = new BABYLON.BackgroundMaterial("backSky", scene);
  3. var hdrTexture = BABYLON.CubeTexture.CreateFromPrefilteredData("/playground/textures/environment.dds", scene);
  4. hdrTexture.coordinatesMode = BABYLON.Texture.SKYBOX_MODE
  5. backSky.reflectionTexture = hdrTexture;
  6. backSky.backFaceCulling = false;
  7. var back = new BABYLON.BackgroundMaterial("back", scene);
  8. back.diffuseTexture = new BABYLON.Texture("/playground/textures/WhiteTransarentRamp.png", scene);
  9. back.diffuseTexture.hasAlpha = true;
  10. // Skybox
  11. backgroundSkybox = BABYLON.Mesh.CreateBox("hdrSkyBox", 1000.0, scene);
  12. backgroundSkybox.material = backSky;
  13. backgroundSkybox.setEnabled(false);
  14. registerRangeUI("background", "primaryColorR", 0, 1, function(value) {
  15. back.primaryColor.r = value;
  16. backSky.primaryColor.r = value;
  17. }, function() {
  18. return back.primaryColor.r;
  19. });
  20. registerRangeUI("background", "primaryColorG", 0, 1, function(value) {
  21. back.primaryColor.g = value;
  22. backSky.primaryColor.g = value;
  23. }, function() {
  24. return back.primaryColor.g;
  25. });
  26. registerRangeUI("background", "primaryColorB", 0, 1, function(value) {
  27. back.primaryColor.b = value;
  28. backSky.primaryColor.b = value;
  29. }, function() {
  30. return back.primaryColor.b;
  31. });
  32. registerRangeUI("background", "primaryLevel", 0, 30, function(value) {
  33. back.primaryLevel = value;
  34. backSky.primaryLevel = value;
  35. }, function() {
  36. return back.primaryLevel;
  37. });
  38. registerRangeUI("background", "secondaryColorR", 0, 1, function(value) {
  39. back.secondaryColor.r = value;
  40. backSky.secondaryColor.r = value;
  41. }, function() {
  42. return back.secondaryColor.r;
  43. });
  44. registerRangeUI("background", "secondaryColorG", 0, 1, function(value) {
  45. back.secondaryColor.g = value;
  46. backSky.secondaryColor.g = value;
  47. }, function() {
  48. return back.secondaryColor.g;
  49. });
  50. registerRangeUI("background", "secondaryColorB", 0, 1, function(value) {
  51. back.secondaryColor.b = value;
  52. backSky.secondaryColor.b = value;
  53. }, function() {
  54. return back.secondaryColor.b;
  55. });
  56. registerRangeUI("background", "secondaryLevel", 0, 30, function(value) {
  57. back.secondaryLevel = value;
  58. backSky.secondaryLevel = value;
  59. }, function() {
  60. return back.secondaryLevel;
  61. });
  62. registerRangeUI("background", "thirdColorR", 0, 1, function(value) {
  63. back.thirdColor.r = value;
  64. backSky.thirdColor.r = value;
  65. }, function() {
  66. return back.thirdColor.r;
  67. });
  68. registerRangeUI("background", "thirdColorG", 0, 1, function(value) {
  69. back.thirdColor.g = value;
  70. backSky.thirdColor.g = value;
  71. }, function() {
  72. return back.thirdColor.g;
  73. });
  74. registerRangeUI("background", "thirdColorB", 0, 1, function(value) {
  75. back.thirdColor.b = value;
  76. backSky.thirdColor.b = value;
  77. }, function() {
  78. return back.thirdColor.b;
  79. });
  80. registerRangeUI("background", "thirdLevel", 0, 30, function(value) {
  81. back.thirdLevel = value;
  82. backSky.thirdLevel = value;
  83. }, function() {
  84. return back.thirdLevel;
  85. });
  86. registerRangeUI("background", "reflectionBlur", 0, 1, function(value) {
  87. back.reflectionBlur = value;
  88. backSky.reflectionBlur = value;
  89. }, function() {
  90. return back.reflectionBlur;
  91. });
  92. registerRangeUI("background", "shadowLevel", 0, 1, function(value) {
  93. back.shadowLevel = value;
  94. backSky.shadowLevel = value;
  95. }, function() {
  96. return back.shadowLevel;
  97. });
  98. registerRangeUI("background", "alpha", 0, 1, function(value) {
  99. back.alpha = value;
  100. }, function() {
  101. return back.alpha;
  102. });
  103. registerButtonUI("background", "ToggleBackRGB", function() {
  104. back.useRGBColor = !back.useRGBColor;
  105. });
  106. registerButtonUI("background", "ToggleSkyRGB", function() {
  107. backSky.useRGBColor = !backSky.useRGBColor;
  108. });
  109. return back;
  110. }