最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

分享:Cesium添加水面效果

2022-11-03 17:32 作者:地理信息技術(shù)雜談  | 我要投稿

Cesium中內(nèi)置了水面效果的shader,通過添加圖元(Primitive),能夠在Cesium的地圖上實現(xiàn)水面流動的效果,借助互聯(lián)網(wǎng)上搜索、并進(jìn)行了修改。

效果實現(xiàn)

下載了一塊水系的geojson數(shù)據(jù),因為按照代碼,需要根據(jù)polygon的坐標(biāo)進(jìn)行勾畫。關(guān)鍵實現(xiàn)代碼:

//_polygonArr?為polygon的坐標(biāo)

? ? ? ? ?let?waterPrimitive?=?new?Cesium.Primitive({

????????????????allowPicking:?false,

????????????????geometryInstances:?new?Cesium.GeometryInstance({

????????????????????geometry:?new?Cesium.PolygonGeometry({

????????????????????????polygonHierarchy:?new?Cesium.PolygonHierarchy(Cesium.Cartesian3

????????????????????????????.fromDegreesArrayHeights(_polygonArr)),

????????????????????????vertexFormat:?Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,

????????????????????})

????????????????}),

????????????????// 使用內(nèi)置的水面shader

????????????????appearance:?new?Cesium.EllipsoidSurfaceAppearance({

????????????????????aboveGround:?true,

????????????????????material:?new?Cesium.Material({

????????????????????????fabric:?{

????????????????????????????type:?'Water',

????????????????????????????uniforms:?{?

????????????????????????????????blendColor:?new?Cesium.Color(0.0,?0.0,?1.0,?0.3),?

? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ?//設(shè)置水面使用的圖片,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //此圖片在Cesium源碼Source\Assets\Textures文件夾中

????????????????????????????????normalMap:?'images/waterNormalsSmall.jpg',

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//頻率速度設(shè)置

????????????????????????????????frequency:?200.0,

????????????????????????????????animationSpeed:?0.01,

????????????????????????????????amplitude:?10.0

????????????????????????????}

????????????????????????}

????????????????????})

?? ? ? ? ? ??//frameShader代碼也可以根據(jù)需要進(jìn)行修改

????????????????????//?????????????????????fragmentShaderSource:?'varying?vec3?v_positionMC;\nvarying?vec3?v_positionEC;\nvarying?vec2?v_st;\nvoid?main()\n{\nczm_materialInput?materialInput;\nvec3?normalEC?=?normalize(czm_normal3D?*?czm_geodeticSurfaceNormal(v_positionMC,?vec3(0.0),?vec3(1.0)));\n#ifdef?FACE_FORWARD\nnormalEC?=?faceforward(normalEC,?vec3(0.0,?0.0,?1.0),?-normalEC);\n#endif\nmaterialInput.s?=?v_st.s;\nmaterialInput.st?=?v_st;\nmaterialInput.str?=?vec3(v_st,?0.0);\nmaterialInput.normalEC?=?normalEC;\nmaterialInput.tangentToEyeMatrix?=?czm_eastNorthUpToEyeCoordinates(v_positionMC,?materialInput.normalEC);\nvec3?positionToEyeEC?=?-v_positionEC;\nmaterialInput.positionToEyeEC?=?positionToEyeEC;\nczm_material?material?=?czm_getMaterial(materialInput);\n#ifdef?FLAT\ngl_FragColor?=?vec4(material.diffuse?+?material.emission,?material.alpha);\n#else\ngl_FragColor?=?czm_phong(normalize(positionToEyeEC),?material);\

????????????????????// gl_FragColor.a=0.5;\n#endif\n}\n'?//重寫shader,修改水面的透明度

????????????????})

????????????});

//添加水面數(shù)據(jù)到viewer中

??viewer.scene.primitives.add(waterPrimitive);

效果圖:


分享:Cesium添加水面效果的評論 (共 條)

分享到微博請遵守國家法律
新丰县| 顺平县| 云阳县| 靖边县| 莱芜市| 顺义区| 沙雅县| 兴化市| 延津县| 济南市| 怀柔区| 府谷县| 鸡泽县| 鹤峰县| 来凤县| 永平县| 泰兴市| 靖边县| 新和县| 双峰县| 庆阳市| 濉溪县| 揭阳市| 南雄市| 吉安市| 犍为县| 会东县| 绥德县| 莒南县| 高阳县| 临沧市| 色达县| 同心县| 通渭县| 日喀则市| 堆龙德庆县| 济宁市| 福安市| 三门县| 娄烦县| 东丽区|