You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

depth_of_field.html 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. <title>dc-example</title>
  7. <script src='/libs/dc-sdk/dc.base.min.js'></script>
  8. <script src='/libs/dc-sdk/dc.core.min.js'></script>
  9. <script>DC.baseUrl='../libs/dc-sdk/resources/'</script>
  10. <script src="https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.7.9/dat.gui.min.js"></script>
  11. <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'>
  12. <link href='../index.css' type='text/css' rel='stylesheet'>
  13. <style>
  14. *{
  15. margin: 0;
  16. padding: 0;
  17. }
  18. html,body,#viewer-container{
  19. width: 100%;
  20. height: 100%;
  21. overflow: hidden;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div id="viewer-container"></div>
  27. <script>
  28. let viewer = undefined
  29. function initViewer() {
  30. viewer = new DC.Viewer('viewer-container')
  31. let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({
  32. style: 'midnight'
  33. })
  34. viewer.addBaseLayer(baselayer_midnight)
  35. viewer.use(new DC.Effect())
  36. viewer.effect.depthOfField.enable= true
  37. addGuiController() // add controller
  38. }
  39. function addGuiController(){
  40. let controls = {
  41. enable:true,
  42. focalDistance: 87,
  43. delta: 1,
  44. sigma: 3.8,
  45. stepSize: 2.5,
  46. }
  47. let gui = new dat.GUI()
  48. gui.add(controls,'enable').onChange(value=>{
  49. viewer.effect.depthOfField.enable=value
  50. })
  51. gui.add(controls,'focalDistance',0,1000).step(1).onChange(value=>{
  52. viewer.effect.depthOfField.focalDistance=value
  53. })
  54. gui.add(controls,'delta',0,5).step(0.1).onChange(value=>{
  55. viewer.effect.depthOfField.delta=value
  56. })
  57. gui.add(controls,'sigma',0,5).step(0.1).onChange(value=>{
  58. viewer.effect.depthOfField.delta=value
  59. })
  60. gui.add(controls,'stepSize',0,10).step(0.1).onChange(value=>{
  61. viewer.effect.depthOfField.delta=value
  62. })
  63. }
  64. DC.ready(initViewer)
  65. </script>