美文网首页开源
Cesium绘制一实一虚线

Cesium绘制一实一虚线

作者: 周五蛋碎一地 | 来源:发表于2023-02-16 16:14 被阅读0次

双实线做完了发现还有个一实一虚线要做,正好那就把双实线改一下得了,让一侧显示虚线就可以了,相当于把polyline与polylineDash结合到一块

mat2 rotate(float rad) {
    float c = cos(rad);
    float s = sin(rad);
    return mat2(c, s, -s, c);
}

czm_material czm_getMaterial(czm_materialInput materialInput) {
    czm_material material = czm_getDefaultMaterial(materialInput);
    float minIntervalRatio = min(intervalRatio, 0.9);
    vec2 st = materialInput.st;
    vec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy;
    float dashPosition = fract(pos.x / (dashLength * czm_pixelRatio));
    float maskIndex = floor(dashPosition * maskLength);
    float maskTest = floor(dashPattern / pow(2.0, maskIndex));
    vec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? vec4(0.0) : color;
    if(sideWise) {
        if(st.t < 0.5 && fragColor.a < 0.005) {
            discard;
        }
    } else {
        if(st.t > 0.5 && fragColor.a < 0.005) {
            discard;
        }
    }

    fragColor = color;
    if(st.t < 0.5 + minIntervalRatio * 0.5 && st.t > 0.5 - minIntervalRatio * 0.5) {
        fragColor.a = 0.0;
    } else {
        fragColor.a = color.a;
    }

    fragColor = czm_gammaCorrect(fragColor);

    material.emission = fragColor.rgb;
    material.alpha = fragColor.a;

    return material;
}

效果如下:


让这里能掉头,怎么样?

相关文章

  • Cesium绘制一实一虚线

    双实线做完了发现还有个一实一虚线要做,正好那就把双实线改一下得了,让一侧显示虚线就可以了,相当于把polyline...

  • iOS两种绘制虚线的方法

    个人CSND 一、绘制单条的虚线 二、给一个控件添加虚线 1、绘制单条的虚线 样式1:------- 2、给一个控...

  • iOS开发绘制虚线的方法

    iOS开发绘制虚线的方法 方法一:通过Quartz 2D 在 UIView drawRect:方法进行绘制虚线 -...

  • IOS绘制虚线的方法总结

    一、重写drawRect方法 二、采用CAShapeLayer方式绘制虚线 三、经济实惠型:采用贴图的方式绘制虚线...

  • 画虚线

    绘制一条水平的虚线

  • iOS 绘制虚线

    /** ** lineView: 需要绘制成虚线的view ** lineLength: 虚线的宽度 ** ...

  • Swift-虚线绘制

    iOS中有时候会遇到虚线绘制,关于绘制虚线有两种方式,一种是通过Context绘制图片通过UIImageView展...

  • canvas绘制虚线,虚线方框,虚线圆

    canvas没有提供绘制虚线的api,我们可以通过moveTo,和lineTo来实现绘制虚线的需求。思路是将一整条...

  • flutter draw虚线问题

    这是一个很好的绘制虚线的办法: 在flutter 中 canvas 没有直接绘制虚线的方法, 但是有drawlin...

  • Cesium随笔:视锥绘制(下)

    0.前言 上一次Cesium随笔中介绍的视锥的绘制方法并不准确,使用camera.debugShow便可以检查到实...

网友评论

    本文标题:Cesium绘制一实一虚线

    本文链接:https://www.haomeiwen.com/subject/arvpkdtx.html