addbackground.js 3.9 KB

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