$(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",
|
});
|
}
|
});
|
});
|
})
|