You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CircleRotateMaterial.glsl 716B

123456789101112131415161718
  1. uniform vec4 color;
  2. uniform sampler2D image;
  3. czm_material czm_getMaterial(czm_materialInput materialInput){
  4. czm_material material = czm_getDefaultMaterial(materialInput);
  5. vec2 st = materialInput.st;
  6. vec2 center = st - vec2(0.5,0.5);
  7. float time = -czm_frameNumber * 3.1415926 / 180.;
  8. float sin_t = sin(time);
  9. float cos_t = cos(time);
  10. vec2 center_rotate = vec2(center.s * cos_t - center.t * sin_t + 0.5,center.s * sin_t + center.t * cos_t + 0.5);
  11. vec4 colorImage = texture2D(image,center_rotate);
  12. vec3 temp = colorImage.rgb * color.rgb;
  13. temp *= color.a;
  14. material.diffuse = temp;
  15. float length = 2. - length(center) / 0.5;
  16. material.alpha = colorImage.a * pow(length, 0.5);
  17. return material;
  18. }