You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
861 B
GLSL
30 lines
861 B
GLSL
#ifdef GL_OES_standard_derivatives
|
|
#extension GL_OES_standard_derivatives : enable
|
|
#endif
|
|
|
|
uniform vec4 color;
|
|
uniform float spacing;
|
|
uniform float width;
|
|
|
|
czm_material czm_getMaterial(czm_materialInput materialInput)
|
|
{
|
|
czm_material material = czm_getDefaultMaterial(materialInput);
|
|
|
|
float distanceToContour = mod(materialInput.height, spacing);
|
|
|
|
#ifdef GL_OES_standard_derivatives
|
|
float dxc = abs(dFdx(materialInput.height));
|
|
float dyc = abs(dFdy(materialInput.height));
|
|
float dF = max(dxc, dyc) * czm_pixelRatio * width;
|
|
float alpha = (distanceToContour < dF) ? 1.0 : 0.0;
|
|
#else
|
|
float alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0;
|
|
#endif
|
|
|
|
vec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a));
|
|
material.diffuse = outColor.rgb;
|
|
material.alpha = outColor.a;
|
|
|
|
return material;
|
|
}
|