700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > cesium加载S3M白膜 通过分层设色实现渐变效果 设置点光源

cesium加载S3M白膜 通过分层设色实现渐变效果 设置点光源

时间:2019-09-25 03:09:07

相关推荐

cesium加载S3M白膜 通过分层设色实现渐变效果 设置点光源

var hyp = null;var layer = null;//加载白膜function fnOpenSCENE() {var promise = scene.open('/realspace/services/3D-CBDbuilding/rest/realspace');Cesium.when.all(promise, function () {//切换视角至模型位置scene.camera.setView({"destination": {"x": -2184052.8561826544, "y": 4388517.457033638, "z": 4070341.9478602377 },"orientation": {"pitch": -0.8394038119311453, "heading": 6.247957622130757, "roll": 0.00001267923949921368 }});layer = scene.layers.find("ExtrudeBodyResult@CBD");hyp = new Cesium.HypsometricSetting();setHypsometric(layer);//渐变效果// switchLight();//点光源});}

渐变效果

function setHypsometric(layer) {//创建分层设色对象var colorTable = new Cesium.ColorTable();//设置最大/最小可见高度, 颜色表 colorTable.insert(0, new Cesium.Color(0, 39 / 255, 148 / 255));colorTable.insert(150, new Cesium.Color(149 / 255, 232 / 255, 249 / 255));hyp.ColorTable = colorTable;hyp.Opacity = 0.8;//透明度hyp.LineInterval = 10.0;//线宽layer.hypsometricSetting = {hypsometricSetting: hyp,analysisMode: Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL //显示模式}};

点光源

var directionalLight, directionalLight_1, directionalLight_2, directionalLight_3, directionalLight_4, pointLight7;function switchLight() {//设置环境光(白天)scene.lightSource.ambientLightColor = new Cesium.Color(0, 0, 0, 1);//开启HDRviewer.scene.hdrEnabled = true;// 指定范围var pointLightPos7 = new Cesium.Cartesian3.fromDegrees(116.45775058552576, 39.91295039170964, 300);var pointLightOptions7 = {cutoffDistance: 1000,//点光源的扩散距离color: new Cesium.Color(1, 0, 0, 1),intensity: 2.5 //点光源强度};pointLight7 && scene.removeLightSource(pointLight7)pointLight7 = new Cesium.PointLight(pointLightPos7, pointLightOptions7);scene.addLightSource(pointLight7);// 新增直射光--西北侧光// var position = new Cesium.Cartesian3.fromDegrees(106.28734667, 29.7615756638933, 630);// var targetPosition = new Cesium.Cartesian3.fromDegrees(106.75684048, 29.3980661015228, 500);// var dirLightOptions = {// targetPosition: targetPosition,// color: new Cesium.Color(0, 0, 1, 1),//蓝色// intensity: 2// };// directionalLight && scene.removeLightSource(directionalLight)// directionalLight = new Cesium.DirectionalLight(position, dirLightOptions);// scene.addLightSource(directionalLight);// 新增直射光1--东南侧光// var position1 = new Cesium.Cartesian3.fromDegrees(106.75684048, 29.3980661015228, 500);// var targetPosition1 = new Cesium.Cartesian3.fromDegrees(106.28734667, 29.7615756638933, 630);// var dirLightOptions1 = {// targetPosition: targetPosition1,// color: new Cesium.Color(1, 0, 0, 1),//红色// intensity: 2// };// directionalLight_1 && scene.removeLightSource(directionalLight_1)// directionalLight_1 = new Cesium.DirectionalLight(position1, dirLightOptions1);// scene.addLightSource(directionalLight_1);// 新增直射光2--东北侧光// var position2 = new Cesium.Cartesian3.fromDegrees(106.437, 29.571, 71);// var targetPosition2 = new Cesium.Cartesian3.fromDegrees(106.436, 29.569, 1);// var dirLightOptions2 = {// targetPosition: targetPosition2,// color: new Cesium.Color(0, 1, 0, 1),//绿色// intensity: 2// };// directionalLight_2 && scene.removeLightSource(directionalLight_2)// directionalLight_2 = new Cesium.DirectionalLight(position2, dirLightOptions2);// scene.addLightSource(directionalLight_2); // 新增直射光3--西南侧光// var position3 = new Cesium.Cartesian3.fromDegrees(106.452, 29.573, 1);// var targetPosition3 = new Cesium.Cartesian3.fromDegrees(106.454, 29.581, 91);// var dirLightOptions3 = {// targetPosition: targetPosition3,// color: new Cesium.Color(1, 0, 1, 1),//紫色// intensity: 2// };// directionalLight_3 && scene.removeLightSource(directionalLight_3)// directionalLight_3 = new Cesium.DirectionalLight(position3, dirLightOptions3);// scene.addLightSource(directionalLight_3);// 新增直射光4--顶光+正面光// var position4 = new Cesium.Cartesian3.fromDegrees(106.492, 29.593, 100);// var targetPosition4 = new Cesium.Cartesian3.fromDegrees(106.492, 29.593, 10);// var dirLightOptions4 = {// targetPosition: targetPosition4,// color: new Cesium.Color(1, 1, 0, 1),//黄色// intensity: 2// };// directionalLight_4 && scene.removeLightSource(directionalLight_4)// directionalLight_4 = new Cesium.DirectionalLight(position4, dirLightOptions4);// scene.addLightSource(directionalLight_4);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。