hdr rendering pipeline.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. var createScene = function () {
  2. var scene = new BABYLON.Scene(engine);
  3. var camera = new BABYLON.ArcRotateCamera("Camera", 0, 0, 10, BABYLON.Vector3.Zero(), scene);
  4. var material = new BABYLON.StandardMaterial("kosh", scene);
  5. var sphere = BABYLON.Mesh.CreateSphere("Sphere1", 32, 3, scene);
  6. var light = new BABYLON.PointLight("Omni0", new BABYLON.Vector3(-17.6, 18.8, -49.9), scene);
  7. camera.setPosition(new BABYLON.Vector3(-15, 3, 0));
  8. camera.attachControl(canvas, true);
  9. // Sphere material
  10. material.reflectionTexture = new BABYLON.CubeTexture("textures/TropicalSunnyDay", scene);
  11. material.diffuseColor = new BABYLON.Color3(0, 0, 0);
  12. material.emissiveColor = new BABYLON.Color3(0.5, 0.5, 0.5);
  13. material.alpha = 0.2;
  14. material.specularPower = 16;
  15. // Fresnel
  16. material.reflectionFresnelParameters = new BABYLON.FresnelParameters();
  17. material.reflectionFresnelParameters.bias = 0.1;
  18. material.emissiveFresnelParameters = new BABYLON.FresnelParameters();
  19. material.emissiveFresnelParameters.bias = 0.6;
  20. material.emissiveFresnelParameters.power = 4;
  21. material.emissiveFresnelParameters.leftColor = BABYLON.Color3.White();
  22. material.emissiveFresnelParameters.rightColor = BABYLON.Color3.Black();
  23. material.opacityFresnelParameters = new BABYLON.FresnelParameters();
  24. material.opacityFresnelParameters.leftColor = BABYLON.Color3.White();
  25. material.opacityFresnelParameters.rightColor = BABYLON.Color3.Black();
  26. sphere.material = material;
  27. // Skybox
  28. var skybox = BABYLON.Mesh.CreateBox("skyBox", 100.0, scene);
  29. var skyboxMaterial = new BABYLON.StandardMaterial("skyBox", scene);
  30. skyboxMaterial.backFaceCulling = false;
  31. skyboxMaterial.reflectionTexture = new BABYLON.CubeTexture("textures/TropicalSunnyDay", scene);
  32. skyboxMaterial.reflectionTexture.coordinatesMode = BABYLON.Texture.SKYBOX_MODE;
  33. skyboxMaterial.diffuseColor = new BABYLON.Color3(0, 0, 0);
  34. skyboxMaterial.specularColor = new BABYLON.Color3(0, 0, 0);
  35. skyboxMaterial.disableLighting = true;
  36. skybox.material = skyboxMaterial;
  37. var hdr = new BABYLON.HDRRenderingPipeline("hdr", scene, 1.0, null, [camera]);
  38. hdr.brightThreshold = 0.5;
  39. hdr.gaussCoeff = 0.4;
  40. hdr.gaussMean = 1.0;
  41. hdr.gaussStandDev = 10.0;
  42. hdr.minimumLuminance = 0.5;
  43. hdr.luminanceDecreaseRate = 0.5;
  44. hdr.luminanceIncreaserate = 0.5;
  45. hdr.exposure = 1.0;
  46. hdr.gaussMultiplier = 4;
  47. return scene;
  48. }