// // Copyright (c) Andrew Porter. All Rights Reserved. // License: https://github.com/ServiRegis/Licenses/blob/master/CODEX-CREATIVUS-ET-PUBLICUS.txt // #define LUMA_COEFFICIENT float3(0.2126f, 0.7152f, 0.0722f) void main() { float4 screen = Sample(); screen.a = dot(screen.rgb, LUMA_COEFFICIENT); // chroma screen.rgb = screen.rgb - screen.a; // luma screen.a = screen.a - 2.0f; screen.a = screen.a * screen.a; screen.a = 1.0f / screen.a - 0.25f; screen.a = sqrt(screen.a); screen.a *= 1.1547005383792515290182975610039f; screen.rgb = screen.rgb + screen.a; SetOutput(screen); }