cesium_abc

第 5 位会员

会员
个人信息
  • 加入于 2018-06-24 10:57:11
  • 最后登录时间 6天前
个人成就
  • 发表文章次数 94
  • 发布回复次数 90
  • 个人主页浏览次数 725
各位大神,这个水面效果是怎么做的呀2年前

Cesium绘制河流源代码:

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)),
            //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: 'staticFile/images/waterNormals.jpg',
                    frequency: 1000.0,
                    animationSpeed: 0.01,
                    amplitude: 10.0
                }
            }
        }),
        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,修改水面的透明度
    })
});
waters[idx]=viewer.scene.primitives.add(waterPrimitive);

参考链接:https://blog.csdn.net/weixin_42496466/article/details/80747565

请问一下三维球上面怎么计算两点之间的距离呀2年前

麻烦问一下,有这个公式没~~ 就按照正球算 我们现在的三维地球都是正球

有没有人做过CESIUM直接加载SHP数据?2年前

disableDepthTestDistance : Number.POSITIVE_INFINITY

加一个这个属性

有没有人做过CESIUM直接加载SHP数据?2年前

加不了,cesium不认识 要转geojson或者topjson吧?

node.matrix 和primitive的modelMatrix 怎么计算,有公式吗?2年前

这是求相对节点相对模型原点的位置,没测试过。具体自己调试。

node.matrix 和primitive的modelMatrix 怎么计算,有公式吗?2年前

var gltf = node._model.gltf;
var accessors = gltf.accessors;
var gltfMeshes = gltf.meshes;

var id = node.id;
var mesh = gltfMeshes[id];

var primitives = mesh.primitives;
var length = primitives.length;

for (var i = 0; i < length; ++i) {
	var primitive = primitives[i];
	var positions = accessors[primitive.attributes.POSITION];
}

cesium 支持的移动端手势都有啥?2年前

Cesium.ScreenSpaceEventType.PINCH_END
Cesium.ScreenSpaceEventType.PINCH_MOVE
Cesium.ScreenSpaceEventType.PINCH_START

重置场景的lightCamera,无论位置设为多少,投影都是这样,怎么解释2年前

API里就没有light属性 我的理解就是,相机位置即光源位置,然后用相机的深度图做阴影效果

重置场景的lightCamera,无论位置设为多少,投影都是这样,怎么解释2年前

我改了

我重新定义一个相机替换掉,能发现投影不是太阳投影,但是无论什么位置都是这样的投影

重置场景的lightCamera,无论位置设为多少,投影都是这样,怎么解释2年前

默认好像是太阳的位置吧 还没顾上研究

moveStartPosition 这个函数 从哪来的?2年前

这行代码移动的时候 视角倾斜了

 camera.setView({destination:camera.positionWC,orientation:{heading:camera.heading,pitch:camera.pitch,roll:0.0}});、

这行代码移动的时候视角不会倾斜但是 镜头会遁地 如何结合使用它们

cesium加载obj转成的3dtiles文件,写js控制旋转结果不对,有人碰到过这个问题吗?2年前

我之前想修改3DTile的tilesetjson里的transform,但不知道数据怎么设置

entity的orientation要填啥2年前

哪里有写呀,我看的有具体类型的倒好,凡是Propety的都不知道去哪找资料看

Your Site Analytics