addbackground.js 3.4 KB

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