diff --git a/src/engine/renderer/gl_shader.cpp b/src/engine/renderer/gl_shader.cpp index 88acd065e9..512cdfb7df 100644 --- a/src/engine/renderer/gl_shader.cpp +++ b/src/engine/renderer/gl_shader.cpp @@ -419,6 +419,7 @@ struct addedExtension_t { static const std::vector fragmentVertexAddedExtensions = { { glConfig2.gpuShader4Available, 130, "EXT_gpu_shader4" }, { glConfig2.gpuShader5Available, 400, "ARB_gpu_shader5" }, + { glConfig2.textureFloatAvailable, 130, "ARB_texture_float" }, { glConfig2.textureGatherAvailable, 400, "ARB_texture_gather" }, { glConfig2.textureIntegerAvailable, 0, "EXT_texture_integer" }, { glConfig2.textureRGAvailable, 0, "ARB_texture_rg" }, @@ -866,6 +867,10 @@ static std::string GenEngineConstants() { AddDefine( str, "r_colorGrading", 1 ); } + if ( r_highPrecisionRendering.Get() ) { + AddDefine( str, "r_highPrecisionRendering", 1 ); + } + return str; } diff --git a/src/engine/renderer/glsl_source/cameraEffects_fp.glsl b/src/engine/renderer/glsl_source/cameraEffects_fp.glsl index fc14e1942a..f4eb1f1e0c 100644 --- a/src/engine/renderer/glsl_source/cameraEffects_fp.glsl +++ b/src/engine/renderer/glsl_source/cameraEffects_fp.glsl @@ -62,7 +62,9 @@ void main() color *= u_GlobalLightFactor; #if defined(r_highPrecisionRendering) && defined(HAVE_ARB_texture_float) - color.rgb = TonemapLottes( color.rgb * u_TonemapExposure ); + if( u_Tonemap ) { + color.rgb = TonemapLottes( color.rgb * u_TonemapExposure ); + } #endif color.rgb = clamp( color.rgb, vec3( 0.0f ), vec3( 1.0f ) );