Skip to content

Commit e6179fd

Browse files
committed
fixup: mat3/mat3x2 member functions instead of template
1 parent 738f1cb commit e6179fd

5 files changed

Lines changed: 58 additions & 72 deletions

File tree

src/engine/renderer/gl_shader.cpp

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2585,8 +2585,7 @@ GLShader_generic::GLShader_generic() :
25852585
false, "generic", "generic" ),
25862586
u_ColorMap( this ),
25872587
u_DepthMap( this ),
2588-
u_TextureMatrix_Matrix3( this ),
2589-
u_TextureMatrix_Matrix32( this ),
2588+
u_TextureMatrix_Multi( this ),
25902589
u_ViewOrigin( this ),
25912590
u_AlphaThreshold( this ),
25922591
u_ModelMatrix( this ),
@@ -2620,8 +2619,7 @@ GLShader_genericMaterial::GLShader_genericMaterial() :
26202619
true, "generic", "generic" ),
26212620
u_ColorMap( this ),
26222621
u_DepthMap( this ),
2623-
u_TextureMatrix_Matrix3( this ),
2624-
u_TextureMatrix_Matrix32( this ),
2622+
u_TextureMatrix_Multi( this ),
26252623
u_ViewOrigin( this ),
26262624
u_AlphaThreshold( this ),
26272625
u_ModelMatrix( this ),
@@ -2654,8 +2652,7 @@ GLShader_lightMapping::GLShader_lightMapping() :
26542652
u_LightGrid1( this ),
26552653
u_LightGrid2( this ),
26562654
u_LightTiles( this ),
2657-
u_TextureMatrix_Matrix3( this ),
2658-
u_TextureMatrix_Matrix32( this ),
2655+
u_TextureMatrix_Multi( this ),
26592656
u_SpecularExponent( this ),
26602657
u_ColorModulateColorGen_Float( this ),
26612658
u_ColorModulateColorGen_Uint( this ),
@@ -2723,8 +2720,7 @@ GLShader_lightMappingMaterial::GLShader_lightMappingMaterial() :
27232720
u_LightGrid1( this ),
27242721
u_LightGrid2( this ),
27252722
u_LightTiles( this ),
2726-
u_TextureMatrix_Matrix3( this ),
2727-
u_TextureMatrix_Matrix32( this ),
2723+
u_TextureMatrix_Multi( this ),
27282724
u_SpecularExponent( this ),
27292725
u_ColorModulateColorGen_Uint( this ),
27302726
u_Color_Uint( this ),
@@ -2762,8 +2758,7 @@ GLShader_reflection::GLShader_reflection():
27622758
u_ColorMapCube( this ),
27632759
u_NormalMap( this ),
27642760
u_HeightMap( this ),
2765-
u_TextureMatrix_Matrix3( this ),
2766-
u_TextureMatrix_Matrix32( this ),
2761+
u_TextureMatrix_Multi( this ),
27672762
u_ViewOrigin( this ),
27682763
u_ModelMatrix( this ),
27692764
u_ModelViewProjectionMatrix( this ),
@@ -2794,8 +2789,7 @@ GLShader_reflectionMaterial::GLShader_reflectionMaterial() :
27942789
u_ColorMapCube( this ),
27952790
u_NormalMap( this ),
27962791
u_HeightMap( this ),
2797-
u_TextureMatrix_Matrix3( this ),
2798-
u_TextureMatrix_Matrix32( this ),
2792+
u_TextureMatrix_Multi( this ),
27992793
u_ViewOrigin( this ),
28002794
u_ModelMatrix( this ),
28012795
u_ModelViewProjectionMatrix( this ),
@@ -2813,8 +2807,7 @@ GLShader_skybox::GLShader_skybox() :
28132807
false, "skybox", "skybox" ),
28142808
u_ColorMapCube( this ),
28152809
u_CloudMap( this ),
2816-
u_TextureMatrix_Matrix3( this ),
2817-
u_TextureMatrix_Matrix32( this ),
2810+
u_TextureMatrix_Multi( this ),
28182811
u_CloudHeight( this ),
28192812
u_UseCloudMap( this ),
28202813
u_AlphaThreshold( this ),
@@ -2833,8 +2826,7 @@ GLShader_skyboxMaterial::GLShader_skyboxMaterial() :
28332826
true, "skybox", "skybox" ),
28342827
u_ColorMapCube( this ),
28352828
u_CloudMap( this ),
2836-
u_TextureMatrix_Matrix3( this ),
2837-
u_TextureMatrix_Matrix32( this ),
2829+
u_TextureMatrix_Multi( this ),
28382830
u_CloudHeight( this ),
28392831
u_UseCloudMap( this ),
28402832
u_AlphaThreshold( this ),
@@ -2865,8 +2857,7 @@ GLShader_heatHaze::GLShader_heatHaze() :
28652857
false, "heatHaze", "heatHaze" ),
28662858
u_CurrentMap( this ),
28672859
u_NormalMap( this ),
2868-
u_TextureMatrix_Matrix3( this ),
2869-
u_TextureMatrix_Matrix32( this ),
2860+
u_TextureMatrix_Multi( this ),
28702861
u_DeformMagnitude( this ),
28712862
u_ModelViewProjectionMatrix( this ),
28722863
u_ModelViewMatrixTranspose( this ),
@@ -2891,8 +2882,7 @@ GLShader_heatHazeMaterial::GLShader_heatHazeMaterial() :
28912882
true, "heatHaze", "heatHaze" ),
28922883
u_CurrentMap( this ),
28932884
u_NormalMap( this ),
2894-
u_TextureMatrix_Matrix3( this ),
2895-
u_TextureMatrix_Matrix32( this ),
2885+
u_TextureMatrix_Multi( this ),
28962886
u_DeformEnable( this ),
28972887
u_DeformMagnitude( this ),
28982888
u_ModelViewProjectionMatrix( this ),
@@ -2995,8 +2985,7 @@ GLShader_liquid::GLShader_liquid() :
29952985
u_LightGrid1( this ),
29962986
u_LightGrid2( this ),
29972987
u_HeightMap( this ),
2998-
u_TextureMatrix_Matrix3( this ),
2999-
u_TextureMatrix_Matrix32( this ),
2988+
u_TextureMatrix_Multi( this ),
30002989
u_ViewOrigin( this ),
30012990
u_RefractionIndex( this ),
30022991
u_ModelMatrix( this ),
@@ -3040,8 +3029,7 @@ GLShader_liquidMaterial::GLShader_liquidMaterial() :
30403029
u_LightGrid1( this ),
30413030
u_LightGrid2( this ),
30423031
u_HeightMap( this ),
3043-
u_TextureMatrix_Matrix3( this ),
3044-
u_TextureMatrix_Matrix32( this ),
3032+
u_TextureMatrix_Multi( this ),
30453033
u_ViewOrigin( this ),
30463034
u_RefractionIndex( this ),
30473035
u_ModelMatrix( this ),

src/engine/renderer/gl_shader.h

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1773,17 +1773,27 @@ class u_TextureMatrix_Matrix32 :
17731773
}
17741774
};
17751775

1776-
template<typename Shader> void SetUniform_TextureMatrix( Shader* shader, const matrix_t m )
1776+
class u_TextureMatrix_Multi :
1777+
u_TextureMatrix_Matrix3,
1778+
u_TextureMatrix_Matrix32
17771779
{
1778-
if ( glConfig.mat3x2Available )
1779-
{
1780-
shader->SetUniform_TextureMatrix_Matrix32( m );
1781-
}
1782-
else
1780+
public:
1781+
u_TextureMatrix_Multi( GLShader *shader ) :
1782+
u_TextureMatrix_Matrix3( shader ),
1783+
u_TextureMatrix_Matrix32( shader ) {}
1784+
1785+
void SetUniform_TextureMatrix( const matrix_t m )
17831786
{
1784-
shader->SetUniform_TextureMatrix_Matrix3( m );
1787+
if ( glConfig.mat3x2Available )
1788+
{
1789+
SetUniform_TextureMatrix_Matrix32( m );
1790+
}
1791+
else
1792+
{
1793+
SetUniform_TextureMatrix_Matrix3( m );
1794+
}
17851795
}
1786-
}
1796+
};
17871797

17881798
class u_AlphaThreshold :
17891799
GLUniform1f
@@ -2989,8 +2999,7 @@ class GLShader_generic :
29892999
public GLShader,
29903000
public u_ColorMap,
29913001
public u_DepthMap,
2992-
public u_TextureMatrix_Matrix3,
2993-
public u_TextureMatrix_Matrix32,
3002+
public u_TextureMatrix_Multi,
29943003
public u_ViewOrigin,
29953004
public u_AlphaThreshold,
29963005
public u_ModelMatrix,
@@ -3020,8 +3029,7 @@ class GLShader_genericMaterial :
30203029
public GLShader,
30213030
public u_ColorMap,
30223031
public u_DepthMap,
3023-
public u_TextureMatrix_Matrix3,
3024-
public u_TextureMatrix_Matrix32,
3032+
public u_TextureMatrix_Multi,
30253033
public u_ViewOrigin,
30263034
public u_AlphaThreshold,
30273035
public u_ModelMatrix,
@@ -3055,8 +3063,7 @@ class GLShader_lightMapping :
30553063
public u_LightGrid1,
30563064
public u_LightGrid2,
30573065
public u_LightTiles,
3058-
public u_TextureMatrix_Matrix3,
3059-
public u_TextureMatrix_Matrix32,
3066+
public u_TextureMatrix_Multi,
30603067
public u_SpecularExponent,
30613068
public u_ColorModulateColorGen_Float,
30623069
public u_ColorModulateColorGen_Uint,
@@ -3110,8 +3117,7 @@ class GLShader_lightMappingMaterial :
31103117
public u_LightGrid1,
31113118
public u_LightGrid2,
31123119
public u_LightTiles,
3113-
public u_TextureMatrix_Matrix3,
3114-
public u_TextureMatrix_Matrix32,
3120+
public u_TextureMatrix_Multi,
31153121
public u_SpecularExponent,
31163122
public u_ColorModulateColorGen_Uint,
31173123
public u_Color_Uint,
@@ -3150,8 +3156,7 @@ class GLShader_reflection :
31503156
public u_ColorMapCube,
31513157
public u_NormalMap,
31523158
public u_HeightMap,
3153-
public u_TextureMatrix_Matrix3,
3154-
public u_TextureMatrix_Matrix32,
3159+
public u_TextureMatrix_Multi,
31553160
public u_ViewOrigin,
31563161
public u_ModelMatrix,
31573162
public u_ModelViewProjectionMatrix,
@@ -3177,8 +3182,7 @@ class GLShader_reflectionMaterial :
31773182
public u_ColorMapCube,
31783183
public u_NormalMap,
31793184
public u_HeightMap,
3180-
public u_TextureMatrix_Matrix3,
3181-
public u_TextureMatrix_Matrix32,
3185+
public u_TextureMatrix_Multi,
31823186
public u_ViewOrigin,
31833187
public u_ModelMatrix,
31843188
public u_ModelViewProjectionMatrix,
@@ -3197,8 +3201,7 @@ class GLShader_skybox :
31973201
public GLShader,
31983202
public u_ColorMapCube,
31993203
public u_CloudMap,
3200-
public u_TextureMatrix_Matrix3,
3201-
public u_TextureMatrix_Matrix32,
3204+
public u_TextureMatrix_Multi,
32023205
public u_CloudHeight,
32033206
public u_UseCloudMap,
32043207
public u_AlphaThreshold,
@@ -3213,8 +3216,7 @@ class GLShader_skyboxMaterial :
32133216
public GLShader,
32143217
public u_ColorMapCube,
32153218
public u_CloudMap,
3216-
public u_TextureMatrix_Matrix3,
3217-
public u_TextureMatrix_Matrix32,
3219+
public u_TextureMatrix_Multi,
32183220
public u_CloudHeight,
32193221
public u_UseCloudMap,
32203222
public u_AlphaThreshold,
@@ -3243,8 +3245,7 @@ class GLShader_heatHaze :
32433245
public GLShader,
32443246
public u_CurrentMap,
32453247
public u_NormalMap,
3246-
public u_TextureMatrix_Matrix3,
3247-
public u_TextureMatrix_Matrix32,
3248+
public u_TextureMatrix_Multi,
32483249
public u_DeformMagnitude,
32493250
public u_ModelViewProjectionMatrix,
32503251
public u_ModelViewMatrixTranspose,
@@ -3265,8 +3266,7 @@ class GLShader_heatHazeMaterial :
32653266
public GLShader,
32663267
public u_CurrentMap,
32673268
public u_NormalMap,
3268-
public u_TextureMatrix_Matrix3,
3269-
public u_TextureMatrix_Matrix32,
3269+
public u_TextureMatrix_Multi,
32703270
public u_DeformEnable,
32713271
public u_DeformMagnitude,
32723272
public u_ModelViewProjectionMatrix,
@@ -3355,8 +3355,7 @@ class GLShader_liquid :
33553355
public u_LightGrid1,
33563356
public u_LightGrid2,
33573357
public u_HeightMap,
3358-
public u_TextureMatrix_Matrix3,
3359-
public u_TextureMatrix_Matrix32,
3358+
public u_TextureMatrix_Multi,
33603359
public u_ViewOrigin,
33613360
public u_RefractionIndex,
33623361
public u_ModelMatrix,
@@ -3392,8 +3391,7 @@ class GLShader_liquidMaterial :
33923391
public u_LightGrid1,
33933392
public u_LightGrid2,
33943393
public u_HeightMap,
3395-
public u_TextureMatrix_Matrix3,
3396-
public u_TextureMatrix_Matrix32,
3394+
public u_TextureMatrix_Multi,
33973395
public u_ViewOrigin,
33983396
public u_RefractionIndex,
33993397
public u_ModelMatrix,

src/engine/renderer/tr_backend.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1239,7 +1239,7 @@ void RB_RunVisTests( )
12391239
gl_genericShader->SetUniform_ColorMapBindless(
12401240
GL_BindToTMU( 0, tr.whiteImage )
12411241
);
1242-
SetUniform_TextureMatrix( gl_genericShader, tess.svars.texMatrices[ TB_COLORMAP ] );
1242+
gl_genericShader->SetUniform_TextureMatrix( tess.svars.texMatrices[ TB_COLORMAP ] );
12431243

12441244
GL_State( GLS_DEPTHTEST_DISABLE | GLS_COLORMASK_BITS );
12451245
glBeginQuery( GL_SAMPLES_PASSED, testState->hQueryRef );
@@ -1792,7 +1792,7 @@ static void RB_RenderDebugUtils()
17921792
gl_genericShader->SetUniform_ColorMapBindless(
17931793
GL_BindToTMU( 0, tr.whiteImage )
17941794
);
1795-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
1795+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
17961796

17971797
ent = backEnd.refdef.entities;
17981798

@@ -1866,7 +1866,7 @@ static void RB_RenderDebugUtils()
18661866
GL_BindToTMU( 0, tr.whiteImage )
18671867
);
18681868

1869-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
1869+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
18701870

18711871
ent = backEnd.refdef.entities;
18721872

@@ -2157,7 +2157,7 @@ static void RB_RenderDebugUtils()
21572157
gl_genericShader->SetUniform_ColorMapBindless(
21582158
GL_BindToTMU( 0, tr.whiteImage )
21592159
);
2160-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
2160+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
21612161

21622162
GL_State( GLS_POLYMODE_LINE | GLS_DEPTHFUNC_ALWAYS );
21632163

@@ -2240,7 +2240,7 @@ static void RB_RenderDebugUtils()
22402240
gl_genericShader->SetUniform_ColorMapBindless(
22412241
GL_BindToTMU( 0, tr.whiteImage )
22422242
);
2243-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
2243+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
22442244

22452245
Tess_Begin( Tess_StageIteratorDebug, nullptr, true, -1 );
22462246
GL_CheckErrors();
@@ -2335,7 +2335,7 @@ static void RB_RenderDebugUtils()
23352335
gl_genericShader->SetUniform_ColorMapBindless(
23362336
GL_BindToTMU( 0, tr.whiteImage )
23372337
);
2338-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
2338+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
23392339

23402340
GL_CheckErrors();
23412341

@@ -2429,7 +2429,7 @@ static void RB_RenderDebugUtils()
24292429
gl_genericShader->SetUniform_ColorMapBindless(
24302430
GL_BindToTMU( 0, tr.whiteImage )
24312431
);
2432-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
2432+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
24332433

24342434
gl_genericShader->SetUniform_ModelViewProjectionMatrix( glState.modelViewProjectionMatrix[ glState.stackIndex ] );
24352435

@@ -2635,7 +2635,7 @@ void DebugDrawBegin( debugDrawMode_t mode, float size ) {
26352635
gl_genericShader->SetUniform_ColorMapBindless(
26362636
GL_BindToTMU( 0, tr.whiteImage )
26372637
);
2638-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
2638+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
26392639

26402640
// render in world space
26412641
backEnd.orientation = backEnd.viewParms.world;
@@ -3788,7 +3788,7 @@ void RB_ShowImages()
37883788
// set uniforms
37893789
gl_genericShader->SetUniform_AlphaTest( GLS_ATEST_NONE );
37903790
SetUniform_ColorModulateColorGen( gl_genericShader, colorGen_t::CGEN_VERTEX, alphaGen_t::AGEN_VERTEX );
3791-
SetUniform_TextureMatrix( gl_genericShader, matrixIdentity );
3791+
gl_genericShader->SetUniform_TextureMatrix( matrixIdentity );
37923792

37933793
GL_SelectTexture( 0 );
37943794

0 commit comments

Comments
 (0)