$(function () { //环境 var hjg = false; var jhjgzb = false; //光 var gy = false; //景深 var js = true; layui.use(['form', 'slider'], function () { var form = layui.form; var slider = layui.slider; var viewer = parent.sgworld._Viewer; var Cesium = parent.Cesium; var sgworld = parent.sgworld; var ambientSetting = parent.window.ambientSetting; var ambientOcclusionModel, bloomModel, depthOfFieldModel; if (ambientSetting && ambientSetting.ambientOcclusionModel) { ambientOcclusionModel = ambientSetting.ambientOcclusionModel; } else { ambientOcclusionModel = { show: false, ambientOcclusionOnly: false, intensity: 2.0, bias: 0.2, lengthCap: 1, stepSize: 0, blurStepSize: 3 }; } if (ambientSetting && ambientSetting.bloomModel) { bloomModel = ambientSetting.bloomModel; } else { bloomModel = { show: false, glowOnly: false, contrast: 48, brightness: -0.62, delta: 1, sigma: 1, stepSize: 0 }; } var depthOfField; if (ambientSetting && ambientSetting.depthOfFieldModel) { depthOfFieldModel = ambientSetting.depthOfFieldModel; depthOfField = depthOfFieldModel.depthOfField; } else { depthOfFieldModel = { show: true, focalDistance: 87, delta: 1, sigma: 3.78, stepSize: 2.46, depthOfField: undefined }; } var ambientOcclusion = viewer.scene.postProcessStages.ambientOcclusion; if (ambientOcclusionModel.show) { $('#AmbientOcclusion').attr('checked', 'checked'); form.render(); } form.on('checkbox(AmbientOcclusion)', function (data) { ambientOcclusionModel.show = this.checked; updateAmbientOcclusionProcess(); hjg = !hjg; if (hjg || jhjgzb) { slider.render({ elem: '#slideTest1', theme: '#1E9FFF', //主题色 min: 0, max: 10, disabled: false, value: ambientOcclusionModel.intensity, change: function (value) { ambientOcclusionModel.intensity = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest2', theme: '#1E9FFF', //主题色 min: 0, max: 100, disabled: false, value: ambientOcclusionModel.bias * 100, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.bias = value; updateAmbientOcclusionProcess(); } }); } else { slider.render({ elem: '#slideTest1', theme: '#1E9FFF', //主题色 min: 0, max: 10, disabled: true, value: 1, change: function (value) { ambientOcclusionModel.intensity = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest2', theme: '#1E9FFF', //主题色 min: 0, max: 100, disabled: true, value: 0, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.bias = value; updateAmbientOcclusionProcess(); } }); } }); if (ambientOcclusionModel.ambientOcclusionOnly) { $('#AmbientOcclusionOnly').attr('checked', 'checked'); form.render(); } form.on('checkbox(AmbientOcclusionOnly)', function (data) { ambientOcclusionModel.ambientOcclusionOnly = this.checked; updateAmbientOcclusionProcess(); jhjgzb = !jhjgzb; if (hjg || jhjgzb) { slider.render({ elem: '#slideTest1', theme: '#1E9FFF', //主题色 min: 0, max: 10, disabled: false, value: ambientOcclusionModel.intensity, change: function (value) { ambientOcclusionModel.intensity = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest2', theme: '#1E9FFF', //主题色 min: 0, max: 100, disabled: false, value: ambientOcclusionModel.bias * 100, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.bias = value; updateAmbientOcclusionProcess(); } }); } else { slider.render({ elem: '#slideTest1', theme: '#1E9FFF', //主题色 min: 0, max: 10, disabled: true, value: 1, change: function (value) { ambientOcclusionModel.intensity = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest2', theme: '#1E9FFF', //主题色 min: 0, max: 100, disabled: true, value: 0, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.bias = value; updateAmbientOcclusionProcess(); } }); } }); slider.render({ elem: '#slideTest1', theme: '#1E9FFF', //主题色 min: 0, max: 10, disabled: true, change: function (value) { ambientOcclusionModel.intensity = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest2', theme: '#1E9FFF', //主题色 min: 0, max: 100, disabled: true, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.bias = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest3', theme: '#1E9FFF', //主题色 min: 100, max: 1000, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.lengthCap = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest4', theme: '#1E9FFF', //主题色 min: 0, max: 100, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.stepSize = value; updateAmbientOcclusionProcess(); } }); slider.render({ elem: '#slideTest5', theme: '#1E9FFF', //主题色 min: 0, max: 400, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { ambientOcclusionModel.blurStepSize = value; updateAmbientOcclusionProcess(); } }); var bloom = viewer.scene.postProcessStages.bloom; if (bloomModel.show) { $('#Bloom').attr('checked', 'checked'); form.render(); } form.on('checkbox(Bloom)', function (data) { bloomModel.show = this.checked; updateBloomProcess(); gy = !gy; if (gy) { slider.render({ elem: '#slideTest6', theme: '#1E9FFF', //主题色 min: 0, max: 255.0, disabled: false, value: bloomModel.contrast, change: function (value) { bloomModel.contrast = value; updateBloomProcess(); } }); slider.render({ elem: '#slideTest7', theme: '#1E9FFF', //主题色 min: -100, max: 100, disabled: false, value: bloomModel.brightness * 100, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { bloomModel.brightness = value; updateBloomProcess(); } }); } else { slider.render({ elem: '#slideTest6', theme: '#1E9FFF', //主题色 min: 0, max: 255.0, disabled: true, value: 0, change: function (value) { bloomModel.contrast = value; updateBloomProcess(); } }); slider.render({ elem: '#slideTest7', theme: '#1E9FFF', //主题色 min: -100, max: 100, disabled: true, value: -100, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { bloomModel.brightness = value; updateBloomProcess(); } }); } }); // form.on('checkbox(GlowOnly)', function (data) { // bloomModel.glowOnly = this.checked; // updateBloomProcess(); // }); slider.render({ elem: '#slideTest6', theme: '#1E9FFF', //主题色 min: 0, max: 255.0, disabled: true, change: function (value) { bloomModel.contrast = value; updateBloomProcess(); } }); slider.render({ elem: '#slideTest7', theme: '#1E9FFF', //主题色 min: -100, max: 100, disabled: true, value: -100, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { bloomModel.brightness = value; updateBloomProcess(); } }); slider.render({ elem: '#slideTest8', theme: '#1E9FFF', //主题色 min: 100, max: 500, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { bloomModel.delta = value; updateBloomProcess(); } }); slider.render({ elem: '#slideTest9', theme: '#1E9FFF', //主题色 min: 100, max: 1000, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { bloomModel.sigma = value; updateBloomProcess(); } }); slider.render({ elem: '#slideTest10', theme: '#1E9FFF', //主题色 min: 0, max: 700, setTips: function (value) { //自定义提示文本 return value / 100; }, change: function (value) { bloomModel.stepSize = value; updateBloomProcess(); } }); // if (!depthOfField) { // depthOfField = viewer.scene.postProcessStages.add(Cesium.PostProcessStageLibrary.createDepthOfFieldStage()); // depthOfFieldModel.depthOfField = depthOfField; // } // if (depthOfFieldModel.show) { // $('#DepthOfField').attr('checked', 'checked'); // form.render(); // } // form.on('checkbox(DepthOfField)', function (data) { // depthOfFieldModel.show = this.checked; // updateDepthFieldProcess(); // js=!js; // if(js){ // slider.render({ // elem: '#slideTest14', // theme: '#1E9FFF', //主题色 // min: 0, // max: 700, // disabled:false, // value: depthOfFieldModel.stepSize * 100, // setTips: function (value) { //自定义提示文本 // return value / 100; // }, // change: function (value) { // depthOfFieldModel.stepSize = value; // updateDepthFieldProcess(); // } // }); // }else{ // slider.render({ // elem: '#slideTest14', // theme: '#1E9FFF', //主题色 // min: 0, // max: 700, // disabled:true, // value: depthOfFieldModel.stepSize * 100, // setTips: function (value) { //自定义提示文本 // return value / 100; // }, // change: function (value) { // depthOfFieldModel.stepSize = value; // updateDepthFieldProcess(); // } // }); // } // }); // slider.render({ // elem: '#slideTest11', // theme: '#1E9FFF', //主题色 // min: 0.0, // max: 500.0, // value: depthOfFieldModel.focalDistance, // change: function (value) { // depthOfFieldModel.focalDistance = value; // updateDepthFieldProcess(); // } // }); // slider.render({ // elem: '#slideTest12', // theme: '#1E9FFF', //主题色 // min: 10, // max: 200, // value: depthOfFieldModel.delta * 100, // setTips: function (value) { //自定义提示文本 // return value / 100; // }, // change: function (value) { // depthOfFieldModel.delta = value; // updateDepthFieldProcess(); // } // }); // slider.render({ // elem: '#slideTest13', // theme: '#1E9FFF', //主题色 // min: 50, // max: 500, // value: depthOfFieldModel.sigma * 100, // setTips: function (value) { //自定义提示文本 // return value / 100; // }, // change: function (value) { // depthOfFieldModel.sigma = value; // updateDepthFieldProcess(); // } // }); // slider.render({ // elem: '#slideTest14', // theme: '#1E9FFF', //主题色 // min: 0, // max: 700, // disabled:false, // value: depthOfFieldModel.stepSize * 100, // setTips: function (value) { //自定义提示文本 // return value / 100; // }, // change: function (value) { // depthOfFieldModel.stepSize = value; // updateDepthFieldProcess(); // } // }); function updateAmbientOcclusionProcess() { ambientOcclusion.enabled = Boolean(ambientOcclusionModel.show) || Boolean(ambientOcclusionModel.ambientOcclusionOnly); ambientOcclusion.uniforms.ambientOcclusionOnly = Boolean(ambientOcclusionModel.ambientOcclusionOnly); ambientOcclusion.uniforms.intensity = Number(ambientOcclusionModel.intensity); ambientOcclusion.uniforms.bias = Number(ambientOcclusionModel.bias); ambientOcclusion.uniforms.lengthCap = Number(ambientOcclusionModel.lengthCap); ambientOcclusion.uniforms.stepSize = Number(ambientOcclusionModel.stepSize); ambientOcclusion.uniforms.blurStepSize = Number(ambientOcclusionModel.blurStepSize); saveData(); } function updateBloomProcess() { bloom.enabled = Boolean(bloomModel.show); bloom.uniforms.glowOnly = Boolean(bloomModel.glowOnly); bloom.uniforms.contrast = Number(bloomModel.contrast); bloom.uniforms.brightness = Number(bloomModel.brightness); bloom.uniforms.delta = Number(bloomModel.delta); bloom.uniforms.sigma = Number(bloomModel.sigma); bloom.uniforms.stepSize = Number(bloomModel.stepSize); saveData(); } function updateDepthFieldProcess() { depthOfField.enabled = Boolean(depthOfFieldModel.show); depthOfField.uniforms.focalDistance = Number(depthOfFieldModel.focalDistance); depthOfField.uniforms.delta = Number(depthOfFieldModel.delta); depthOfField.uniforms.sigma = Number(depthOfFieldModel.sigma); depthOfField.uniforms.stepSize = Number(depthOfFieldModel.stepSize); saveData(); } function saveData() { var newSet = { 'ambientOcclusionModel': ambientOcclusionModel, 'bloomModel': bloomModel, 'depthOfFieldModel': depthOfFieldModel }; parent.window.ambientSetting = newSet; } updateAmbientOcclusionProcess(); updateBloomProcess(); // updateDepthFieldProcess(); saveData(); if (viewer.scene.globe.enableLighting) { $('#enableLighting').next().click(); } form.on('checkbox(enableLighting)', function (data) { viewer.scene.globe.enableLighting = this.checked; }); if (parent.SpaceBackgroundData) { $('#background').next().click(); } form.on('checkbox(background)', function (data) { var isChecked = this.checked; if (!isChecked) { if (parent.SpaceBackgroundData && parent.SpaceBackgroundData.clear) { parent.SpaceBackgroundData.clear(); parent.SpaceBackgroundData = undefined; } } else { if (parent.SkyBoxData) { $('#SkyBox').next().click(); } parent.SpaceBackgroundData = sgworld.Creator.setSpaceBackground("./static/img/background.jpg"); } }); if (parent.SkyBoxData) { $('#SkyBox').next().click(); } form.on('checkbox(SkyBox)', function (data) { var isChecked = this.checked; if (!isChecked) { if (parent.SkyBoxData && parent.SkyBoxData.clear) { parent.SkyBoxData.clear(); parent.SkyBoxData = undefined; } } else { if (parent.SpaceBackgroundData) { $('#background').next().click(); } parent.SkyBoxData = sgworld.Creator.SkyBox(true, { positiveX: "./static/img/rightav9.jpg", negativeX: "./static/img/leftav9.jpg", positiveY: "./static/img/frontav9.jpg", negativeY: "./static/img/backav9.jpg", positiveZ: "./static/img/topav9.jpg", negativeZ: "./static/img/bottomav9.jpg", }); } }); }); })