sphereExample.html 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>BabylonJS Viewer - Sphere</title>
  8. <style>
  9. babylon,
  10. #viewport {
  11. max-width: 800px;
  12. max-height: 500px;
  13. width: 100%;
  14. height: 600px;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <babylon id="babylon-viewer" extends="extended"></babylon>
  20. <div id="viewport" touch-action="none"></div>
  21. <script src="viewer.js"></script>
  22. <script>
  23. BabylonViewer.viewerManager.onViewerAdded = function (viewer) {
  24. console.log('Using viewerManager.onViewerAdded: ', 'viewer - ' + viewer.getBaseId());
  25. viewer.onInitDoneObservable.add(() => {
  26. let meshModel = new BabylonViewer.ViewerModel(viewer, {
  27. "material": {
  28. "albedoColor": {
  29. "r": 1,
  30. "g": 1,
  31. "b": 1
  32. },
  33. "reflectivityColor": {
  34. "r": 1,
  35. "g": 1,
  36. "b": 1
  37. },
  38. "microSurface": 0
  39. }
  40. });
  41. let sphereMesh = BABYLON.Mesh.CreateSphere('sphere-', 20, 1.0, viewer.sceneManager.scene);
  42. let material = new BABYLON.PBRMaterial("sphereMat", viewer.sceneManager.scene);
  43. material.environmentBRDFTexture = null;
  44. material.useAlphaFresnel = material.needAlphaBlending();
  45. material.backFaceCulling = material.forceDepthWrite;
  46. material.twoSidedLighting = true;
  47. material.useSpecularOverAlpha = false;
  48. material.useRadianceOverAlpha = false;
  49. material.usePhysicalLightFalloff = true;
  50. material.forceNormalForward = true;
  51. sphereMesh.material = material;
  52. meshModel.addMesh(sphereMesh, true);
  53. })
  54. }
  55. </script>
  56. </body>
  57. </html>