/**
|
* @private
|
*/
|
vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC)
|
{
|
// Diffuse from directional light sources at eye (for top-down and horizon views)
|
float diffuse = czm_getLambertDiffuse(vec3(0.0, 0.0, 1.0), material.normal);
|
|
if (czm_sceneMode == czm_sceneMode3D) {
|
// (and horizon views in 3D)
|
diffuse += czm_getLambertDiffuse(vec3(0.0, 1.0, 0.0), material.normal);
|
}
|
|
diffuse = clamp(diffuse, 0.0, 1.0);
|
|
float specular = czm_getSpecular(lightDirectionEC, toEye, material.normal, material.shininess);
|
|
// Temporary workaround for adding ambient.
|
vec3 materialDiffuse = material.diffuse * 0.5;
|
|
vec3 ambient = materialDiffuse;
|
vec3 color = ambient + material.emission;
|
color += materialDiffuse * diffuse * czm_lightColor;
|
color += material.specular * specular * czm_lightColor;
|
|
return vec4(color, material.alpha);
|
}
|