Skip to content

Commit da8e72c

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

10 files changed

Lines changed: 80 additions & 84 deletions

File tree

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
@@ -1420,72 +1420,6 @@ void RB_RenderPostDepthLightTile()
14201420
GL_CheckErrors();
14211421
}
14221422

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

src/engine/renderer/tr_local.h

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

32483248
/*
32493249
============================================================

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;
@@ -1580,6 +1580,69 @@ void Render_liquid( shaderStage_t *pStage )
15801580
GL_CheckErrors();
15811581
}
15821582

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

src/engine/renderer/tr_shader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5670,7 +5670,7 @@ static void SetStagesRenderers()
56705670
case stageType_t::ST_FOGMAP_INNER:
56715671
case stageType_t::ST_FOGMAP_OUTER:
56725672
stageRendererOptions = {
5673-
&Render_fogGlobal, &MarkShaderBuildNOP,
5673+
&Render_fog, &MarkShaderBuildNOP,
56745674
&UpdateSurfaceDataNOP, &BindShaderNOP, &ProcessMaterialNOP,
56755675
};
56765676
break;

0 commit comments

Comments
 (0)