Skip to content

Commit d6ef9b5

Browse files
committed
Cleanup: rename GLSL shader fogGlobal -> fog
Also move the Render_fog function with its friends.
1 parent 7c68c06 commit d6ef9b5

File tree

10 files changed

+80
-84
lines changed

10 files changed

+80
-84
lines changed

src.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ set(GLSL_EMBED_LIST
129129
vertexSkinning_vp.glsl
130130

131131
# Regular shaders
132-
fogGlobal_vp.glsl
133-
fogGlobal_fp.glsl
132+
fog_vp.glsl
133+
fog_fp.glsl
134134
generic_vp.glsl
135135
generic_fp.glsl
136136
heatHaze_vp.glsl

src/engine/renderer/gl_shader.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ GLShader_processSurfaces *gl_processSurfacesShader = nullptr;
5555
GLShader_blur *gl_blurShader = nullptr;
5656
GLShader_cameraEffects *gl_cameraEffectsShader = nullptr;
5757
GLShader_contrast *gl_contrastShader = nullptr;
58-
GLShader_fogGlobal *gl_fogGlobalShader = nullptr;
58+
GLShader_fog *gl_fogShader = nullptr;
5959
GLShader_fxaa *gl_fxaaShader = nullptr;
6060
GLShader_motionblur *gl_motionblurShader = nullptr;
6161
GLShader_ssao *gl_ssaoShader = nullptr;
@@ -2688,10 +2688,9 @@ GLShader_skyboxMaterial::GLShader_skyboxMaterial() :
26882688
u_ModelViewProjectionMatrix( this )
26892689
{}
26902690

2691-
// TODO: rename
2692-
GLShader_fogGlobal::GLShader_fogGlobal() :
2693-
GLShader( "fogGlobal", ATTR_POSITION | ATTR_FOG_SURFACE,
2694-
false, "fogGlobal", "fogGlobal" ),
2691+
GLShader_fog::GLShader_fog() :
2692+
GLShader( "fog", ATTR_POSITION | ATTR_FOG_SURFACE,
2693+
false, "fog", "fog" ),
26952694
u_DepthMap( this ),
26962695
u_ModelViewProjectionMatrix( this ),
26972696
u_UnprojectMatrix( this ),
@@ -2703,7 +2702,7 @@ GLShader_fogGlobal::GLShader_fogGlobal() :
27032702
{
27042703
}
27052704

2706-
void GLShader_fogGlobal::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram )
2705+
void GLShader_fog::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram )
27072706
{
27082707
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 1 );
27092708
}

src/engine/renderer/gl_shader.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3178,7 +3178,7 @@ class GLShader_skyboxMaterial :
31783178
GLShader_skyboxMaterial();
31793179
};
31803180

3181-
class GLShader_fogGlobal :
3181+
class GLShader_fog :
31823182
public GLShader,
31833183
public u_DepthMap,
31843184
public u_ModelViewProjectionMatrix,
@@ -3190,7 +3190,7 @@ class GLShader_fogGlobal :
31903190
public GLCompileMacro_OUTSIDE_FOG
31913191
{
31923192
public:
3193-
GLShader_fogGlobal();
3193+
GLShader_fog();
31943194
void SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram ) override;
31953195
};
31963196

@@ -3528,7 +3528,7 @@ extern GLShader_processSurfaces *gl_processSurfacesShader;
35283528
extern GLShader_blur *gl_blurShader;
35293529
extern GLShader_cameraEffects *gl_cameraEffectsShader;
35303530
extern GLShader_contrast *gl_contrastShader;
3531-
extern GLShader_fogGlobal *gl_fogGlobalShader;
3531+
extern GLShader_fog *gl_fogShader;
35323532
extern GLShader_fxaa *gl_fxaaShader;
35333533
extern GLShader_motionblur *gl_motionblurShader;
35343534
extern GLShader_ssao *gl_ssaoShader;

src/engine/renderer/glsl_source/fogGlobal_fp.glsl renamed to src/engine/renderer/glsl_source/fog_fp.glsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2020
===========================================================================
2121
*/
2222

23-
/* fogGlobal_fp.glsl */
23+
/* fog_fp.glsl */
2424

2525
#insert common
2626
#insert fogEquation_fp
File renamed without changes.

src/engine/renderer/tr_backend.cpp

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,72 +1419,6 @@ void RB_RenderPostDepthLightTile()
14191419
GL_CheckErrors();
14201420
}
14211421

1422-
// TODO: move with other Render_ functions
1423-
void Render_fogGlobal( shaderStage_t *stage )
1424-
{
1425-
if ( backEnd.refdef.rdflags & RDF_NOWORLDMODEL )
1426-
{
1427-
return;
1428-
}
1429-
1430-
if ( r_noFog->integer )
1431-
{
1432-
return;
1433-
}
1434-
1435-
GLIMP_LOGCOMMENT( "--- RB_RenderGlobalFog ---" );
1436-
1437-
RB_PrepareForSamplingDepthMap();
1438-
1439-
GL_Cull( stage->shader->cullType );
1440-
1441-
gl_fogGlobalShader->SetOutsideFog( stage->type == stageType_t::ST_FOGMAP_OUTER );
1442-
1443-
gl_fogGlobalShader->BindProgram();
1444-
1445-
{
1446-
GL_State( stage->stateBits );
1447-
1448-
gl_fogGlobalShader->SetUniform_FogGradient(
1449-
1.0f / stage->shader->fogParms.depthForOpaque, stage->shader->fogParms.falloffExp );
1450-
gl_fogGlobalShader->SetUniform_ViewOrigin( backEnd.viewParms.orientation.origin );
1451-
SetUniform_Color( gl_fogGlobalShader, stage->shader->fogParms.color );
1452-
}
1453-
1454-
switch ( stage->type )
1455-
{
1456-
case stageType_t::ST_FOGMAP_INNER:
1457-
{
1458-
// It's important to avoid far plane clipping
1459-
matrix_t projection, mvp;
1460-
MatrixPerspectiveProjectionFovXYInfiniteRH( projection, tr.refdef.fov_x, tr.refdef.fov_y, 1.0f );
1461-
MatrixMultiply( projection, glState.modelViewMatrix[ glState.stackIndex ], mvp );
1462-
gl_fogGlobalShader->SetUniform_ModelViewProjectionMatrix( mvp );
1463-
break;
1464-
}
1465-
case stageType_t::ST_FOGMAP_OUTER:
1466-
{
1467-
gl_fogGlobalShader->SetUniform_ModelViewProjectionMatrix( glState.modelViewProjectionMatrix[ glState.stackIndex ] );
1468-
break;
1469-
}
1470-
default:
1471-
ASSERT_UNREACHABLE();
1472-
}
1473-
1474-
gl_fogGlobalShader->SetUniform_UnprojectMatrix( backEnd.viewParms.unprojectionMatrix );
1475-
1476-
// bind u_DepthMap
1477-
gl_fogGlobalShader->SetUniform_DepthMapBindless(
1478-
GL_BindToTMU( 1, tr.depthSamplerImage )
1479-
);
1480-
1481-
gl_fogGlobalShader->SetRequiredVertexPointers();
1482-
1483-
Tess_DrawElements();
1484-
1485-
GL_CheckErrors();
1486-
}
1487-
14881422
void RB_RenderBloom()
14891423
{
14901424
if ( ( backEnd.refdef.rdflags & ( RDF_NOWORLDMODEL | RDF_NOBLOOM ) )

src/engine/renderer/tr_init.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1536,8 +1536,8 @@ ScreenshotCmd screenshotPNGRegistration("screenshotPNG", ssFormat_t::SSF_PNG, "p
15361536
{
15371537
for ( bool outer : { false, true } )
15381538
{
1539-
gl_fogGlobalShader->SetOutsideFog( outer );
1540-
gl_fogGlobalShader->MarkProgramForBuilding();
1539+
gl_fogShader->SetOutsideFog( outer );
1540+
gl_fogShader->MarkProgramForBuilding();
15411541
}
15421542
}
15431543

src/engine/renderer/tr_local.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3241,7 +3241,7 @@ void GLimp_LogComment_( std::string comment );
32413241
void Render_portal( shaderStage_t *pStage );
32423242
void Render_heatHaze( shaderStage_t *pStage );
32433243
void Render_liquid( shaderStage_t *pStage );
3244-
void Render_fogGlobal( shaderStage_t *pStage );
3244+
void Render_fog( shaderStage_t *pStage );
32453245

32463246
/*
32473247
============================================================

src/engine/renderer/tr_shade.cpp

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ static void GLSL_InitGPUShadersOrError()
299299
}
300300

301301
// Fog GLSL is always loaded and built because disabling fog is cheat.
302-
gl_shaderManager.LoadShader( gl_fogGlobalShader );
302+
gl_shaderManager.LoadShader( gl_fogShader );
303303

304304
if ( r_heatHaze->integer )
305305
{
@@ -478,7 +478,7 @@ void GLSL_ShutdownGPUShaders()
478478
gl_reflectionShaderMaterial = nullptr;
479479
gl_skyboxShader = nullptr;
480480
gl_skyboxShaderMaterial = nullptr;
481-
gl_fogGlobalShader = nullptr;
481+
gl_fogShader = nullptr;
482482
gl_heatHazeShader = nullptr;
483483
gl_heatHazeShaderMaterial = nullptr;
484484
gl_screenShader = nullptr;
@@ -1590,6 +1590,69 @@ void Render_liquid( shaderStage_t *pStage )
15901590
GL_CheckErrors();
15911591
}
15921592

1593+
void Render_fog( shaderStage_t *stage )
1594+
{
1595+
if ( backEnd.refdef.rdflags & RDF_NOWORLDMODEL )
1596+
{
1597+
return;
1598+
}
1599+
1600+
if ( r_noFog->integer )
1601+
{
1602+
return;
1603+
}
1604+
1605+
GLIMP_LOGCOMMENT( "--- Render_fog ---" );
1606+
1607+
RB_PrepareForSamplingDepthMap();
1608+
1609+
GL_Cull( stage->shader->cullType );
1610+
1611+
gl_fogShader->SetOutsideFog( stage->type == stageType_t::ST_FOGMAP_OUTER );
1612+
1613+
gl_fogShader->BindProgram();
1614+
1615+
GL_State( stage->stateBits );
1616+
1617+
gl_fogShader->SetUniform_FogGradient(
1618+
1.0f / stage->shader->fogParms.depthForOpaque, stage->shader->fogParms.falloffExp );
1619+
gl_fogShader->SetUniform_ViewOrigin( backEnd.viewParms.orientation.origin );
1620+
SetUniform_Color( gl_fogShader, stage->shader->fogParms.color );
1621+
1622+
switch ( stage->type )
1623+
{
1624+
case stageType_t::ST_FOGMAP_INNER:
1625+
{
1626+
// It's important to avoid far plane clipping
1627+
matrix_t projection, mvp;
1628+
MatrixPerspectiveProjectionFovXYInfiniteRH( projection, tr.refdef.fov_x, tr.refdef.fov_y, 1.0f );
1629+
MatrixMultiply( projection, glState.modelViewMatrix[ glState.stackIndex ], mvp );
1630+
gl_fogShader->SetUniform_ModelViewProjectionMatrix( mvp );
1631+
break;
1632+
}
1633+
case stageType_t::ST_FOGMAP_OUTER:
1634+
{
1635+
gl_fogShader->SetUniform_ModelViewProjectionMatrix( glState.modelViewProjectionMatrix[ glState.stackIndex ] );
1636+
break;
1637+
}
1638+
default:
1639+
ASSERT_UNREACHABLE();
1640+
}
1641+
1642+
gl_fogShader->SetUniform_UnprojectMatrix( backEnd.viewParms.unprojectionMatrix );
1643+
1644+
// bind u_DepthMap
1645+
gl_fogShader->SetUniform_DepthMapBindless(
1646+
GL_BindToTMU( 1, tr.depthSamplerImage )
1647+
);
1648+
1649+
gl_fogShader->SetRequiredVertexPointers();
1650+
1651+
Tess_DrawElements();
1652+
1653+
GL_CheckErrors();
1654+
}
1655+
15931656
/*
15941657
===============
15951658
Tess_ComputeColor

src/engine/renderer/tr_shader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5653,7 +5653,7 @@ static void SetStagesRenderers()
56535653
case stageType_t::ST_FOGMAP_INNER:
56545654
case stageType_t::ST_FOGMAP_OUTER:
56555655
stageRendererOptions = {
5656-
&Render_fogGlobal, &MarkShaderBuildNOP,
5656+
&Render_fog, &MarkShaderBuildNOP,
56575657
&UpdateSurfaceDataNOP, &BindShaderNOP, &ProcessMaterialNOP,
56585658
};
56595659
break;

0 commit comments

Comments
 (0)