首页 / 浏览问题 / 三维GIS / 问题详情
iclient3D 产品,PostProcessStage的selected无效
akk
16EXP 2022年03月09日
超图的三维webg框架对 PostProcessStage 做了什么修改呢?为什么设置selected无效,依然会应用到整个画面呢?原生的Cesium都是可以的。。。

1个回答

您好, selected是可以的,PostProcessStage的接口在WebGL中未做出逻辑向更改。如果方便的话您这边能否提供一下您这边的代码,方便我测试一下具体的情况。可以百度云盘私信我,或者发送到QQ邮箱799685031@qq.com
4,151EXP 2022年03月09日

selected是可用的,是原帖中没有做选中判断,加入选中判断的逻辑后就可以了。

单独测试时还发现depthTexture是有区别?原生cesium获取的深度值是不同的,而超图中获取的深度值都是相同的吗?

代码看这个帖子

https://www.cnblogs.com/webgl-angela/p/9272810.html

uniform sampler2D depthTexture;
 
varying vec2 v_textureCoordinates;

float linearDepth(float depth)
{
    float far = czm_currentFrustum.y;
    float near = czm_currentFrustum.x;
    return (2.0 * near) / (far + near - depth * (far - near));
}

void main(void)
{
   float depth = czm_readDepth(depthTexture, v_textureCoordinates);
   gl_FragColor = vec4(linearDepth(depth));
}

您好,关于depthTexture的话您这边可以参考一下这个https://www.cnblogs.com/sifenkesi/p/4721649.html ,实际上就是WebGL和原生Cesium的区别,我们的产品中,适用于的球体为圆球,而Cesium适用于椭球体,球体半径造成的误差会影响depthTexture的使用。

...