diff --git a/src/engine/renderer/Material.cpp b/src/engine/renderer/Material.cpp index 95957c0c95..f031ba6fab 100644 --- a/src/engine/renderer/Material.cpp +++ b/src/engine/renderer/Material.cpp @@ -1526,6 +1526,7 @@ void MaterialSystem::DepthReduction() { uint32_t globalWorkgroupX = ( width + 7 ) / 8; uint32_t globalWorkgroupY = ( height + 7 ) / 8; + // FIXME: u_DepthMap object on the shader is not actually used GL_Bind( tr.currentDepthImage ); glBindImageTexture( 2, depthImage->texnum, 0, GL_FALSE, 0, GL_WRITE_ONLY, GL_R32F ); diff --git a/src/engine/renderer/gl_shader.cpp b/src/engine/renderer/gl_shader.cpp index 9cd47f29ce..652b2e6db0 100644 --- a/src/engine/renderer/gl_shader.cpp +++ b/src/engine/renderer/gl_shader.cpp @@ -2407,11 +2407,6 @@ GLShader_genericMaterial::GLShader_genericMaterial() : GLCompileMacro_USE_DEPTH_FADE( this ) { } -void GLShader_genericMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 1 ); -} - GLShader_lightMapping::GLShader_lightMapping() : GLShader( "lightMapping", ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT | ATTR_COLOR, false, "lightMapping", "lightMapping" ), @@ -2477,9 +2472,6 @@ void GLShader_lightMapping::SetShaderProgramUniforms( ShaderProgramDescriptor *s glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap0" ), BIND_ENVIRONMENTMAP0 ); glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap1" ), BIND_ENVIRONMENTMAP1 ); glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightTiles" ), BIND_LIGHTTILES ); - if( !glConfig2.uniformBufferObjectAvailable ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_Lights" ), BIND_LIGHTS ); - } } GLShader_lightMappingMaterial::GLShader_lightMappingMaterial() : @@ -2528,22 +2520,6 @@ GLShader_lightMappingMaterial::GLShader_lightMappingMaterial() : GLCompileMacro_USE_PHYSICAL_MAPPING( this ) { } -void GLShader_lightMappingMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DiffuseMap" ), BIND_DIFFUSEMAP ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), BIND_NORMALMAP ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), BIND_HEIGHTMAP ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_MaterialMap" ), BIND_MATERIALMAP ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightMap" ), BIND_LIGHTMAP ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DeluxeMap" ), BIND_DELUXEMAP ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_GlowMap" ), BIND_GLOWMAP ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap0" ), BIND_ENVIRONMENTMAP0 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap1" ), BIND_ENVIRONMENTMAP1 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightTiles" ), BIND_LIGHTTILES ); - if ( !glConfig2.uniformBufferObjectAvailable ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_Lights" ), BIND_LIGHTS ); - } -} - GLShader_reflection::GLShader_reflection(): GLShader( "reflection", ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT, false, "reflection_CB", "reflection_CB" ), @@ -2570,7 +2546,7 @@ GLShader_reflection::GLShader_reflection(): void GLShader_reflection::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 ); + glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMapCube" ), 0 ); glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 1 ); glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 ); } @@ -2594,12 +2570,6 @@ GLShader_reflectionMaterial::GLShader_reflectionMaterial() : GLCompileMacro_USE_RELIEF_MAPPING( this ) { } -void GLShader_reflectionMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 1 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 ); -} - GLShader_skybox::GLShader_skybox() : GLShader( "skybox", ATTR_POSITION, false, "skybox", "skybox" ), @@ -2631,11 +2601,6 @@ GLShader_skyboxMaterial::GLShader_skyboxMaterial() : u_ModelViewProjectionMatrix( this ) {} -void GLShader_skyboxMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CloudMap" ), 1 ); -} - GLShader_fogQuake3::GLShader_fogQuake3() : GLShader( "fogQuake3", ATTR_POSITION | ATTR_QTANGENT, false, "fogQuake3", "fogQuake3" ), @@ -2673,10 +2638,6 @@ GLShader_fogQuake3Material::GLShader_fogQuake3Material() : GLDeformStage( this ) { } -void GLShader_fogQuake3Material::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_FogMap" ), 0 ); -} - GLShader_fogGlobal::GLShader_fogGlobal() : GLShader( "fogGlobal", ATTR_POSITION, false, "screenSpace", "fogGlobal" ), @@ -2700,7 +2661,6 @@ GLShader_heatHaze::GLShader_heatHaze() : false, "heatHaze", "heatHaze" ), u_CurrentMap( this ), u_NormalMap( this ), - u_HeightMap( this ), u_TextureMatrix( this ), u_DeformMagnitude( this ), u_ModelViewProjectionMatrix( this ), @@ -2719,7 +2679,6 @@ void GLShader_heatHaze::SetShaderProgramUniforms( ShaderProgramDescriptor *shade { glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 0 ); glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 1 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 ); } GLShader_heatHazeMaterial::GLShader_heatHazeMaterial() : @@ -2727,7 +2686,6 @@ GLShader_heatHazeMaterial::GLShader_heatHazeMaterial() : true, "heatHaze", "heatHaze" ), u_CurrentMap( this ), u_NormalMap( this ), - u_HeightMap( this ), u_TextureMatrix( this ), u_DeformEnable( this ), u_DeformMagnitude( this ), @@ -2739,12 +2697,6 @@ GLShader_heatHazeMaterial::GLShader_heatHazeMaterial() : { } -void GLShader_heatHazeMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 0 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 1 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 ); -} - GLShader_screen::GLShader_screen() : GLShader( "screen", ATTR_POSITION, false, "screen", "screen" ), @@ -2765,10 +2717,6 @@ GLShader_screenMaterial::GLShader_screenMaterial() : u_ModelViewProjectionMatrix( this ) { } -void GLShader_screenMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 0 ); -} - GLShader_portal::GLShader_portal() : GLShader( "portal", ATTR_POSITION, false, "portal", "portal" ), @@ -2909,17 +2857,6 @@ GLShader_liquidMaterial::GLShader_liquidMaterial() : GLCompileMacro_USE_RELIEF_MAPPING( this ) { } -void GLShader_liquidMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram ) -{ - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 0 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_PortalMap" ), 1 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 2 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 3 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightGrid1" ), 6 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightGrid2" ), 7 ); - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 ); -} - GLShader_motionblur::GLShader_motionblur() : GLShader( "motionblur", ATTR_POSITION, false, "screenSpace", "motionblur" ), @@ -2971,7 +2908,7 @@ GLShader_depthtile2::GLShader_depthtile2() : void GLShader_depthtile2::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 0 ); + glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthTile1" ), 0 ); } GLShader_lighttile::GLShader_lighttile() : @@ -2988,11 +2925,7 @@ GLShader_lighttile::GLShader_lighttile() : void GLShader_lighttile::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 0 ); - - if( !glConfig2.uniformBufferObjectAvailable ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_Lights" ), 1 ); - } + glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthTile2" ), 0 ); } GLShader_fxaa::GLShader_fxaa() : @@ -3035,10 +2968,6 @@ GLShader_depthReduction::GLShader_depthReduction() : u_InitialDepthLevel( this ) { } -void GLShader_depthReduction::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) { - glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 0 ); -} - GLShader_clearSurfaces::GLShader_clearSurfaces() : GLShader( "clearSurfaces", false, "clearSurfaces" ), diff --git a/src/engine/renderer/gl_shader.h b/src/engine/renderer/gl_shader.h index 0719d6b1a6..8aeef648fd 100644 --- a/src/engine/renderer/gl_shader.h +++ b/src/engine/renderer/gl_shader.h @@ -3276,7 +3276,6 @@ class GLShader_genericMaterial : public GLCompileMacro_USE_DEPTH_FADE { public: GLShader_genericMaterial(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_lightMapping : @@ -3377,7 +3376,6 @@ class GLShader_lightMappingMaterial : public GLCompileMacro_USE_PHYSICAL_MAPPING { public: GLShader_lightMappingMaterial(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_reflection : @@ -3424,7 +3422,6 @@ class GLShader_reflectionMaterial : public GLCompileMacro_USE_RELIEF_MAPPING { public: GLShader_reflectionMaterial(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_skybox : @@ -3453,7 +3450,6 @@ class GLShader_skyboxMaterial : public u_ModelViewProjectionMatrix { public: GLShader_skyboxMaterial(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_fogQuake3 : @@ -3489,7 +3485,6 @@ class GLShader_fogQuake3Material : public GLDeformStage { public: GLShader_fogQuake3Material(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_fogGlobal : @@ -3510,7 +3505,6 @@ class GLShader_heatHaze : public GLShader, public u_CurrentMap, public u_NormalMap, - public u_HeightMap, public u_TextureMatrix, public u_DeformMagnitude, public u_ModelViewProjectionMatrix, @@ -3532,7 +3526,6 @@ class GLShader_heatHazeMaterial : public GLShader, public u_CurrentMap, public u_NormalMap, - public u_HeightMap, public u_TextureMatrix, public u_DeformEnable, public u_DeformMagnitude, @@ -3544,7 +3537,6 @@ class GLShader_heatHazeMaterial : { public: GLShader_heatHazeMaterial(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_screen : @@ -3563,7 +3555,6 @@ class GLShader_screenMaterial : public u_ModelViewProjectionMatrix { public: GLShader_screenMaterial(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_portal : @@ -3684,7 +3675,6 @@ class GLShader_liquidMaterial : public GLCompileMacro_USE_RELIEF_MAPPING { public: GLShader_liquidMaterial(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_motionblur : @@ -3779,7 +3769,6 @@ class GLShader_depthReduction : public u_InitialDepthLevel { public: GLShader_depthReduction(); - void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override; }; class GLShader_clearSurfaces : diff --git a/src/engine/renderer/tr_backend.cpp b/src/engine/renderer/tr_backend.cpp index b6469cdff0..eb9392daa6 100644 --- a/src/engine/renderer/tr_backend.cpp +++ b/src/engine/renderer/tr_backend.cpp @@ -1306,7 +1306,7 @@ void RB_RenderPostDepthLightTile() gl_lighttileShader->SetUniformBlock_Lights( tr.dlightUBO ); gl_lighttileShader->SetUniform_DepthTile2Bindless( - GL_BindToTMU( 1, tr.depthtile2RenderImage ) + GL_BindToTMU( 0, tr.depthtile2RenderImage ) ); R_BindVBO( tr.lighttileVBO );