ElevationContourMaterial.glsl 861 B

1234567891011121314151617181920212223242526272829
  1. #ifdef GL_OES_standard_derivatives
  2. #extension GL_OES_standard_derivatives : enable
  3. #endif
  4. uniform vec4 color;
  5. uniform float spacing;
  6. uniform float width;
  7. czm_material czm_getMaterial(czm_materialInput materialInput)
  8. {
  9. czm_material material = czm_getDefaultMaterial(materialInput);
  10. float distanceToContour = mod(materialInput.height, spacing);
  11. #ifdef GL_OES_standard_derivatives
  12. float dxc = abs(dFdx(materialInput.height));
  13. float dyc = abs(dFdy(materialInput.height));
  14. float dF = max(dxc, dyc) * czm_pixelRatio * width;
  15. float alpha = (distanceToContour < dF) ? 1.0 : 0.0;
  16. #else
  17. float alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0;
  18. #endif
  19. vec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a));
  20. material.diffuse = outColor.rgb;
  21. material.alpha = outColor.a;
  22. return material;
  23. }