/**
|
* DOC_TBA
|
*
|
* @name czm_multiplyWithColorBalance
|
* @glslFunction
|
*/
|
vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)
|
{
|
// Algorithm from Chapter 10 of Graphics Shaders.
|
const vec3 W = vec3(0.2125, 0.7154, 0.0721);
|
|
vec3 target = left * right;
|
float leftLuminance = dot(left, W);
|
float rightLuminance = dot(right, W);
|
float targetLuminance = dot(target, W);
|
|
return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;
|
}
|