Add existing to tracked
This commit is contained in:
+39
@@ -0,0 +1,39 @@
|
||||
uniform vec4 color;
|
||||
uniform vec4 gapColor;
|
||||
uniform float dashLength;
|
||||
uniform float dashPattern;
|
||||
in float v_polylineAngle;
|
||||
|
||||
const float maskLength = 16.0;
|
||||
|
||||
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);
|
||||
|
||||
vec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy;
|
||||
|
||||
// Get the relative position within the dash from 0 to 1
|
||||
float dashPosition = fract(pos.x / (dashLength * czm_pixelRatio));
|
||||
// Figure out the mask index.
|
||||
float maskIndex = floor(dashPosition * maskLength);
|
||||
// Test the bit mask.
|
||||
float maskTest = floor(dashPattern / pow(2.0, maskIndex));
|
||||
vec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? gapColor : color;
|
||||
if (fragColor.a < 0.005) { // matches 0/255 and 1/255
|
||||
discard;
|
||||
}
|
||||
|
||||
fragColor = czm_gammaCorrect(fragColor);
|
||||
material.emission = fragColor.rgb;
|
||||
material.alpha = fragColor.a;
|
||||
return material;
|
||||
}
|
||||
Reference in New Issue
Block a user