addpbrspecularglossiness.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. window.preparePBRSpecularGlossiness = function() {
  2. var pbr = new BABYLON.PBRSpecularGlossinessMaterial("pbrspecularglossiness", scene);
  3. pbr.diffuseTexture = new BABYLON.Texture("/playground/textures/amiga.jpg", scene);
  4. pbr.diffuseTexture.uScale = 5;
  5. pbr.diffuseTexture.vScale = 5;
  6. pbr.specularColor = new BABYLON.Color3(0.3, 0.3, 0.3);
  7. pbr.glossiness = 0.9;
  8. // Uncomment for PMREM Generation
  9. var hdrTexture = new BABYLON.HDRCubeTexture("/playground/textures/environment.hdr", scene, 512);
  10. // var hdrTexture = new BABYLON.HDRCubeTexture("textures/hdr/environment.hdr", scene, 128, false, true, false, true);
  11. // Skybox
  12. var hdrSkybox = scene.createDefaultSkybox(hdrTexture, true);
  13. hdrSkybox.setEnabled(false);
  14. registerRangeUI("pbrspecularglossiness", "alpha", 0, 1, function(value) {
  15. pbr.alpha = value;
  16. }, function() {
  17. return pbr.alpha;
  18. });
  19. registerRangeUI("pbrspecularglossiness", "glossiness", 0, 1, function(value) {
  20. pbr.glossiness = value;
  21. }, function() {
  22. return pbr.glossiness;
  23. });
  24. registerRangeUI("pbrspecularglossiness", "diffuseColorR", 0, 1, function(value) {
  25. pbr.diffuseColor.r = value;
  26. }, function() {
  27. return pbr.diffuseColor.r;
  28. });
  29. registerRangeUI("pbrspecularglossiness", "diffuseColorG", 0, 1, function(value) {
  30. pbr.diffuseColor.g = value;
  31. }, function() {
  32. return pbr.diffuseColor.g;
  33. });
  34. registerRangeUI("pbrspecularglossiness", "diffuseColorB", 0, 1, function(value) {
  35. pbr.diffuseColor.b = value;
  36. }, function() {
  37. return pbr.diffuseColor.b;
  38. });
  39. registerRangeUI("pbrspecularglossiness", "specularColorR", 0, 1, function(value) {
  40. pbr.specularColor.r = value;
  41. }, function() {
  42. return pbr.specularColor.r;
  43. });
  44. registerRangeUI("pbrspecularglossiness", "specularColorG", 0, 1, function(value) {
  45. pbr.specularColor.g = value;
  46. }, function() {
  47. return pbr.specularColor.g;
  48. });
  49. registerRangeUI("pbrspecularglossiness", "specularColorB", 0, 1, function(value) {
  50. pbr.specularColor.b = value;
  51. }, function() {
  52. return pbr.specularColor.b;
  53. });
  54. registerRangeUI("pbrspecularglossiness", "emissiveColorR", 0, 1, function(value) {
  55. pbr.emissiveColor.r = value;
  56. }, function() {
  57. return pbr.emissiveColor.r;
  58. });
  59. registerRangeUI("pbrspecularglossiness", "emissiveColorG", 0, 1, function(value) {
  60. pbr.emissiveColor.g = value;
  61. }, function() {
  62. return pbr.emissiveColor.g;
  63. });
  64. registerRangeUI("pbrspecularglossiness", "emissiveColorB", 0, 1, function(value) {
  65. pbr.emissiveColor.b = value;
  66. }, function() {
  67. return pbr.emissiveColor.b;
  68. });
  69. registerRangeUI("pbrspecularglossiness", "diffuseTextureLevel", 0, 1, function(value) {
  70. pbr.diffuseTexture.level = value;
  71. }, function() {
  72. return pbr.diffuseTexture.level;
  73. });
  74. registerButtonUI("pbrspecularglossiness", "Toggle Skybox", function() {
  75. hdrSkybox.setEnabled(!hdrSkybox.isEnabled());
  76. });
  77. return pbr;
  78. }