zoukankan      html  css  js  c++  java
  • Cesium添加水面

    var viewer = new Cesium.Viewer('cesiumContainer');
    var
    waterPrimitive = new Cesium.Primitive({ //show:false,// 默认隐藏 allowPicking:false, geometryInstances : new Cesium.GeometryInstance({ geometry : new Cesium.PolygonGeometry({ polygonHierarchy : new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArrayHeights(waterFace)),//waterFace是一个组成多边形顶点数组[lon,lat,alt] //extrudedHeight: 0,//注释掉此属性可以只显示水面 perPositionHeight : true//注释掉此属性水面就贴地了 }) }), // 可以设置内置的水面shader appearance : new Cesium.EllipsoidSurfaceAppearance({ material : new Cesium.Material({ fabric : { type : 'Water', uniforms : { //baseWaterColor:new Cesium.Color(0.0, 0.0, 1.0, 0.5), //blendColor: new Cesium.Color(0.0, 0.0, 1.0, 0.5), //specularMap: 'gray.jpg', normalMap: 'waterNormals.jpg', frequency: 1000.0, animationSpeed: 0.01, amplitude: 10.0 } } }), fragmentShaderSource:'varying vec3 v_positionMC; varying vec3 v_positionEC; varying vec2 v_st; void main() { czm_materialInput materialInput; vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); #ifdef FACE_FORWARD normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); #endif materialInput.s = v_st.s; materialInput.st = v_st; materialInput.str = vec3(v_st, 0.0); materialInput.normalEC = normalEC; materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); vec3 positionToEyeEC = -v_positionEC; materialInput.positionToEyeEC = positionToEyeEC; czm_material material = czm_getMaterial(materialInput); #ifdef FLAT gl_FragColor = vec4(material.diffuse + material.emission, material.alpha); #else gl_FragColor = czm_phong(normalize(positionToEyeEC), material); gl_FragColor.a=0.5; #endif } '//重写shader,修改水面的透明度 }) });
    water
    =viewer.scene.primitives.add(waterPrimitive);
  • 相关阅读:
    Linux系统启动流程
    linux系统目录介绍
    Nginx 安装配置教程
    深入理解linux系统的目录结构
    Mac 下安装Ruby环境(转)
    Android逆向之旅---SO(ELF)文件格式详解(转)
    TAG-9F10 发卡行相关数据(转)
    公钥,私钥,数字证书,签名,加密,认证,的概念区分(转)
    PBOC~PPT-补充内容B(转)
    PBOC~PPT-补充A(转)
  • 原文地址:https://www.cnblogs.com/coolbear/p/9039653.html
Copyright © 2011-2022 走看看