| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | #ifdef INSTANCEDattribute vec2 direction;#endifattribute vec4 positionHighAndScaleX;attribute vec4 positionLowAndScaleY;attribute vec4 packedAttribute0;attribute vec4 packedAttribute1;attribute vec4 color;varying vec2 v_offset;varying vec3 v_maximumSize;varying vec4 v_color;varying float v_slice;varying float v_brightness;void main() {    // Unpack attributes.    vec3 positionHigh = positionHighAndScaleX.xyz;    vec3 positionLow = positionLowAndScaleY.xyz;    vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w);    float show = packedAttribute0.x;    float brightness = packedAttribute0.y;    vec2 coordinates = packedAttribute0.wz;    vec3 maximumSize = packedAttribute1.xyz;    float slice = packedAttribute1.w;#ifdef INSTANCED    vec2 dir = direction;#else    vec2 dir = coordinates;#endif    vec2 offset = dir - vec2(0.5, 0.5);    vec2 scaledOffset = scale * offset;    vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);    vec4 positionEC = czm_modelViewRelativeToEye * p;    positionEC.xy += scaledOffset;        positionEC.xyz *= show;    gl_Position = czm_projection * positionEC;    v_offset = offset;    v_maximumSize = maximumSize;    v_color = color;    v_slice = slice;    v_brightness = brightness;}
 |