Skip to content

Commit dd0b960

Browse files
committed
Refactor SetLightDeluxeMode arguments
Take pointer to stage instead of pointer to shader plus stage type.
1 parent 5dde91b commit dd0b960

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

src/engine/renderer/Material.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,7 @@ void ProcessMaterialLightMapping( Material* material, shaderStage_t* pStage, Mat
11591159

11601160
lightMode_t lightMode;
11611161
deluxeMode_t deluxeMode;
1162-
SetLightDeluxeMode( surface, pStage->shader, pStage->type, lightMode, deluxeMode );
1162+
SetLightDeluxeMode( surface, pStage, lightMode, deluxeMode );
11631163

11641164
bool enableDeluxeMapping = ( deluxeMode == deluxeMode_t::MAP );
11651165
bool enableGridLighting = ( lightMode == lightMode_t::GRID );
@@ -1242,7 +1242,7 @@ void ProcessMaterialLiquid( Material* material, shaderStage_t* pStage, MaterialS
12421242

12431243
lightMode_t lightMode;
12441244
deluxeMode_t deluxeMode;
1245-
SetLightDeluxeMode( surface, pStage->shader, pStage->type, lightMode, deluxeMode );
1245+
SetLightDeluxeMode( surface, pStage, lightMode, deluxeMode );
12461246

12471247
material->hasHeightMapInNormalMap = pStage->hasHeightMapInNormalMap;
12481248
material->enableReliefMapping = pStage->enableReliefMapping;
@@ -1390,7 +1390,7 @@ void MaterialSystem::ProcessStage( MaterialSurface* surface, shaderStage_t* pSta
13901390
uint32_t& previousMaterialID, bool skipStageSync ) {
13911391
lightMode_t lightMode;
13921392
deluxeMode_t deluxeMode;
1393-
SetLightDeluxeMode( surface, shader, pStage->type, lightMode, deluxeMode );
1393+
SetLightDeluxeMode( surface, pStage, lightMode, deluxeMode );
13941394
const bool mayUseVertexOverbright = pStage->type == stageType_t::ST_COLORMAP
13951395
&& surface->bspSurface && pStage->shaderBinder == BindShaderGeneric3D;
13961396
const bool vertexLit = lightMode == lightMode_t::VERTEX && pStage->shaderBinder == BindShaderLightMapping;
@@ -1479,7 +1479,7 @@ void MaterialSystem::ProcessStage( MaterialSurface* surface, shaderStage_t* pSta
14791479
pStage->initialized = true;
14801480

14811481
AddStage( surface, pStage, stage, mayUseVertexOverbright, vertexLit, fullbright );
1482-
AddStageTextures( surface, shader, pStage, stage, &materials[previousMaterialID] );
1482+
AddStageTextures( surface, pStage, stage, &materials[previousMaterialID] );
14831483

14841484
surface->materialIDs[stage] = previousMaterialID;
14851485
surface->materialPackIDs[stage] = materialPack;
@@ -1539,7 +1539,7 @@ void MaterialSystem::GLSLRestart() {
15391539
}
15401540
}
15411541

1542-
void MaterialSystem::AddStageTextures( MaterialSurface* surface, shader_t* shader, shaderStage_t* pStage, const uint32_t stage, Material* material ) {
1542+
void MaterialSystem::AddStageTextures( MaterialSurface* surface, shaderStage_t* pStage, const uint32_t stage, Material* material ) {
15431543
TextureData textureData;
15441544

15451545
int bundleNum = 0;
@@ -1570,7 +1570,7 @@ void MaterialSystem::AddStageTextures( MaterialSurface* surface, shader_t* shade
15701570
// Add lightmap and deluxemap for this surface to the material as well
15711571
lightMode_t lightMode;
15721572
deluxeMode_t deluxeMode;
1573-
SetLightDeluxeMode( surface, shader, pStage->type, lightMode, deluxeMode );
1573+
SetLightDeluxeMode( surface, pStage, lightMode, deluxeMode );
15741574

15751575
// u_Map, u_DeluxeMap
15761576
image_t* lightmap = SetLightMap( surface, lightMode );

src/engine/renderer/Material.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ class MaterialSystem {
374374
return texData.size();
375375
}
376376

377-
void AddStageTextures( MaterialSurface* surface, shader_t* shader, shaderStage_t* pStage, const uint32_t stage, Material* material );
377+
void AddStageTextures( MaterialSurface* surface, shaderStage_t* pStage, const uint32_t stage, Material* material );
378378
void AddStage( MaterialSurface* surface, shaderStage_t* pStage, uint32_t stage,
379379
const bool mayUseVertexOverbright, const bool vertexLit, const bool fullbright );
380380
void ProcessStage( MaterialSurface* surface, shaderStage_t* pStage, shader_t* shader, uint32_t* packIDs, uint32_t& stage,

src/engine/renderer/ShadeCommon.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,18 +114,18 @@ template<typename Obj> bool isExplicitelyVertexLitSurface( Obj* obj )
114114
return lastStage != stages && stages[0].rgbGen == colorGen_t::CGEN_VERTEX;
115115
}
116116

117-
template<typename Obj> void SetLightDeluxeMode( Obj* obj, shader_t* shader,
118-
stageType_t stageType,
117+
template<typename Obj> void SetLightDeluxeMode(
118+
const Obj *obj, const shaderStage_t *stage,
119119
lightMode_t& lightMode, deluxeMode_t& deluxeMode )
120120
{
121121
lightMode = lightMode_t::FULLBRIGHT;
122122
deluxeMode = deluxeMode_t::NONE;
123123

124-
if ( hasExplicitelyDisabledLightMap( shader ) && !isExplicitelyVertexLitSurface( shader ) )
124+
if ( hasExplicitelyDisabledLightMap( stage->shader ) && !isExplicitelyVertexLitSurface( stage->shader ) )
125125
{
126126
// Use fullbright on “surfaceparm nolightmap” materials.
127127
}
128-
else if ( stageType == stageType_t::ST_COLLAPSE_COLORMAP )
128+
else if ( stage->type == stageType_t::ST_COLLAPSE_COLORMAP )
129129
{
130130
/* Use fullbright for collapsed stages without lightmaps,
131131
for example:
@@ -137,7 +137,7 @@ template<typename Obj> void SetLightDeluxeMode( Obj* obj, shader_t* shader,
137137
138138
This is doable for some complex multi-stage materials. */
139139
}
140-
else if( stageType == stageType_t::ST_LIQUIDMAP )
140+
else if( stage->type == stageType_t::ST_LIQUIDMAP )
141141
{
142142
lightMode = tr.modelLight;
143143
deluxeMode = tr.modelDeluxe;

src/engine/renderer/tr_shade.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,7 @@ void ProcessShaderGeneric3D( const shaderStage_t* pStage ) {
795795
void ProcessShaderLightMapping( const shaderStage_t* pStage ) {
796796
lightMode_t lightMode;
797797
deluxeMode_t deluxeMode;
798-
SetLightDeluxeMode( &tess, tess.surfaceShader, pStage->type, lightMode, deluxeMode );
798+
SetLightDeluxeMode( &tess, pStage, lightMode, deluxeMode );
799799

800800
bool enableDeluxeMapping = ( deluxeMode == deluxeMode_t::MAP );
801801
bool enableGridLighting = ( lightMode == lightMode_t::GRID );
@@ -845,7 +845,7 @@ void ProcessShaderHeatHaze( const shaderStage_t* pStage ) {
845845
void ProcessShaderLiquid( const shaderStage_t* pStage ) {
846846
lightMode_t lightMode;
847847
deluxeMode_t deluxeMode;
848-
SetLightDeluxeMode( &tess, tess.surfaceShader, pStage->type, lightMode, deluxeMode );
848+
SetLightDeluxeMode( &tess, pStage, lightMode, deluxeMode );
849849

850850
gl_liquidShader->SetHeightMapInNormalMap( pStage->hasHeightMapInNormalMap );
851851

@@ -1000,7 +1000,7 @@ void Render_lightMapping( shaderStage_t *pStage )
10001000

10011001
lightMode_t lightMode;
10021002
deluxeMode_t deluxeMode;
1003-
SetLightDeluxeMode( &tess, tess.surfaceShader, pStage->type, lightMode, deluxeMode );
1003+
SetLightDeluxeMode( &tess, pStage, lightMode, deluxeMode );
10041004

10051005
// u_Map, u_DeluxeMap
10061006
image_t *lightmap = SetLightMap( &tess, lightMode );
@@ -1507,7 +1507,7 @@ void Render_liquid( shaderStage_t *pStage )
15071507

15081508
lightMode_t lightMode;
15091509
deluxeMode_t deluxeMode;
1510-
SetLightDeluxeMode( &tess, tess.surfaceShader, pStage->type, lightMode, deluxeMode );
1510+
SetLightDeluxeMode( &tess, pStage, lightMode, deluxeMode );
15111511

15121512
// choose right shader program
15131513
ProcessShaderLiquid( pStage );

0 commit comments

Comments
 (0)