diff --git a/CHANGES.md b/CHANGES.md index f8589d5e9e38..d6057f3b6452 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,6 +5,7 @@ Change Log ##### Fixes :wrench: * Fixed 3D Tiles visibility checking when running multiple passes within the same frame. [#7289](https://github.com/AnalyticalGraphicsInc/cesium/pull/7289) +* Fixed contrast on imagery layers. [#7382](https://github.com/AnalyticalGraphicsInc/cesium/issues/7382) ### 1.52 - 2018-12-03 diff --git a/Source/Shaders/GlobeFS.glsl b/Source/Shaders/GlobeFS.glsl index fd937528bd1e..267202e77491 100644 --- a/Source/Shaders/GlobeFS.glsl +++ b/Source/Shaders/GlobeFS.glsl @@ -132,7 +132,11 @@ vec4 sampleAndBlend( vec3 color = value.rgb; float alpha = value.a; -#ifdef APPLY_GAMMA +#if !defined(APPLY_GAMMA) + vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); + color = tempColor.rgb; + alpha = tempColor.a; +#else color = pow(color, vec3(textureOneOverGamma)); #endif @@ -164,10 +168,6 @@ vec4 sampleAndBlend( color = czm_saturation(color, textureSaturation); #endif - vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); - color = tempColor.rgb; - alpha = tempColor.a; - float sourceAlpha = alpha * textureAlpha; float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha;