uniform_float uGamma { default = 1.0; step = 0.01; min = 0.0; max = 5.0; display_name = "#{OMWShaders:GammaLevelName}"; description = "#{OMWShaders:GammaLevelDescription}"; } uniform_float uContrast { default = 1.0; step = 0.01; min = 0.0; max = 5.0; display_name = "#{OMWShaders:ContrastLevelName}"; description = "#{OMWShaders:ContrastLevelDescription}"; } fragment main { omw_In vec2 omw_TexCoord; void main() { vec4 color = omw_GetLastShader(omw_TexCoord); color.rgb = (color.rgb - vec3(0.5)) * uContrast + 0.5; color.rgb = pow(color.rgb, vec3(1.0 / uGamma)); omw_FragColor = color; } } technique { description = "#{OMWShaders:AdjustmentsDescription}"; version = "1.0"; author = "OpenMW"; passes = main; }