@@ -589,6 +589,11 @@ static std::string GenEngineConstants() {
589
589
AddConst ( str, " r_RimExponent" , r_rimExponent->value );
590
590
}
591
591
592
+ if ( r_cheapSRGB.Get () )
593
+ {
594
+ AddDefine ( str, " r_cheapSRGB" , 1 );
595
+ }
596
+
592
597
if ( r_showLightTiles->integer )
593
598
{
594
599
AddDefine ( str, " r_showLightTiles" , 1 );
@@ -1574,6 +1579,7 @@ void GLShader_generic2D::SetShaderProgramUniforms( shaderProgram_t *shaderProgra
1574
1579
GLShader_generic::GLShader_generic ( GLShaderManager *manager ) :
1575
1580
GLShader( " generic" , ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT, manager ),
1576
1581
u_LightFactor( this ),
1582
+ u_LinearizeTexture( this ),
1577
1583
u_TextureMatrix( this ),
1578
1584
u_ViewOrigin( this ),
1579
1585
u_ViewUp( this ),
@@ -1602,6 +1608,11 @@ void GLShader_generic::BuildShaderVertexLibNames( std::string& vertexInlines )
1602
1608
vertexInlines += " vertexSimple vertexSkinning vertexAnimation vertexSprite " ;
1603
1609
}
1604
1610
1611
+ void GLShader_generic::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
1612
+ {
1613
+ fragmentInlines += " colorSpace" ;
1614
+ }
1615
+
1605
1616
void GLShader_generic::SetShaderProgramUniforms ( shaderProgram_t *shaderProgram )
1606
1617
{
1607
1618
glUniform1i ( glGetUniformLocation ( shaderProgram->program , " u_ColorMap" ), 0 );
@@ -1612,6 +1623,7 @@ GLShader_lightMapping::GLShader_lightMapping( GLShaderManager *manager ) :
1612
1623
GLShader( " lightMapping" ,
1613
1624
ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT | ATTR_COLOR, manager ),
1614
1625
u_LightFactors( this ),
1626
+ u_LinearizeTextures( this ),
1615
1627
u_TextureMatrix( this ),
1616
1628
u_SpecularExponent( this ),
1617
1629
u_ColorModulate( this ),
@@ -1651,7 +1663,7 @@ void GLShader_lightMapping::BuildShaderVertexLibNames( std::string& vertexInline
1651
1663
1652
1664
void GLShader_lightMapping::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
1653
1665
{
1654
- fragmentInlines += " computeLight reliefMapping" ;
1666
+ fragmentInlines += " colorSpace computeLight reliefMapping" ;
1655
1667
}
1656
1668
1657
1669
void GLShader_lightMapping::BuildShaderCompileMacros ( std::string& /* compileMacros*/ )
@@ -1677,6 +1689,7 @@ void GLShader_lightMapping::SetShaderProgramUniforms( shaderProgram_t *shaderPro
1677
1689
1678
1690
GLShader_forwardLighting_omniXYZ::GLShader_forwardLighting_omniXYZ ( GLShaderManager *manager ):
1679
1691
GLShader(" forwardLighting_omniXYZ" , " forwardLighting" , ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT, manager),
1692
+ u_LinearizeTextures( this ),
1680
1693
u_TextureMatrix( this ),
1681
1694
u_SpecularExponent( this ),
1682
1695
u_AlphaThreshold( this ),
@@ -1713,7 +1726,7 @@ void GLShader_forwardLighting_omniXYZ::BuildShaderVertexLibNames( std::string& v
1713
1726
1714
1727
void GLShader_forwardLighting_omniXYZ::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
1715
1728
{
1716
- fragmentInlines += " computeLight reliefMapping" ;
1729
+ fragmentInlines += " colorSpace computeLight reliefMapping" ;
1717
1730
}
1718
1731
1719
1732
void GLShader_forwardLighting_omniXYZ::BuildShaderCompileMacros ( std::string& /* compileMacros*/ )
@@ -1735,6 +1748,7 @@ void GLShader_forwardLighting_omniXYZ::SetShaderProgramUniforms( shaderProgram_t
1735
1748
1736
1749
GLShader_forwardLighting_projXYZ::GLShader_forwardLighting_projXYZ ( GLShaderManager *manager ):
1737
1750
GLShader(" forwardLighting_projXYZ" , " forwardLighting" , ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT, manager),
1751
+ u_LinearizeTextures( this ),
1738
1752
u_TextureMatrix( this ),
1739
1753
u_SpecularExponent( this ),
1740
1754
u_AlphaThreshold( this ),
@@ -1772,7 +1786,7 @@ void GLShader_forwardLighting_projXYZ::BuildShaderVertexLibNames( std::string& v
1772
1786
1773
1787
void GLShader_forwardLighting_projXYZ::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
1774
1788
{
1775
- fragmentInlines += " computeLight reliefMapping" ;
1789
+ fragmentInlines += " colorSpace computeLight reliefMapping" ;
1776
1790
}
1777
1791
1778
1792
void GLShader_forwardLighting_projXYZ::BuildShaderCompileMacros ( std::string& compileMacros )
@@ -1795,6 +1809,7 @@ void GLShader_forwardLighting_projXYZ::SetShaderProgramUniforms( shaderProgram_t
1795
1809
1796
1810
GLShader_forwardLighting_directionalSun::GLShader_forwardLighting_directionalSun ( GLShaderManager *manager ):
1797
1811
GLShader(" forwardLighting_directionalSun" , " forwardLighting" , ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT, manager),
1812
+ u_LinearizeTextures( this ),
1798
1813
u_TextureMatrix( this ),
1799
1814
u_SpecularExponent( this ),
1800
1815
u_AlphaThreshold( this ),
@@ -1834,7 +1849,7 @@ void GLShader_forwardLighting_directionalSun::BuildShaderVertexLibNames( std::st
1834
1849
1835
1850
void GLShader_forwardLighting_directionalSun::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
1836
1851
{
1837
- fragmentInlines += " computeLight reliefMapping" ;
1852
+ fragmentInlines += " colorSpace computeLight reliefMapping" ;
1838
1853
}
1839
1854
1840
1855
void GLShader_forwardLighting_directionalSun::BuildShaderCompileMacros ( std::string& compileMacros )
@@ -1933,6 +1948,7 @@ void GLShader_reflection::SetShaderProgramUniforms( shaderProgram_t *shaderProgr
1933
1948
1934
1949
GLShader_skybox::GLShader_skybox ( GLShaderManager *manager ) :
1935
1950
GLShader( " skybox" , ATTR_POSITION, manager ),
1951
+ u_LinearizeTexture( this ),
1936
1952
u_ViewOrigin( this ),
1937
1953
u_ModelMatrix( this ),
1938
1954
u_ModelViewProjectionMatrix( this ),
@@ -1942,13 +1958,19 @@ GLShader_skybox::GLShader_skybox( GLShaderManager *manager ) :
1942
1958
{
1943
1959
}
1944
1960
1961
+ void GLShader_skybox::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
1962
+ {
1963
+ fragmentInlines += " colorSpace" ;
1964
+ }
1965
+
1945
1966
void GLShader_skybox::SetShaderProgramUniforms ( shaderProgram_t *shaderProgram )
1946
1967
{
1947
1968
glUniform1i ( glGetUniformLocation ( shaderProgram->program , " u_ColorMap" ), 0 );
1948
1969
}
1949
1970
1950
1971
GLShader_fogQuake3::GLShader_fogQuake3 ( GLShaderManager *manager ) :
1951
1972
GLShader( " fogQuake3" , ATTR_POSITION | ATTR_QTANGENT, manager ),
1973
+ u_LinearizeTexture( this ),
1952
1974
u_ModelMatrix( this ),
1953
1975
u_ModelViewProjectionMatrix( this ),
1954
1976
u_Color( this ),
@@ -1968,13 +1990,19 @@ void GLShader_fogQuake3::BuildShaderVertexLibNames( std::string& vertexInlines )
1968
1990
vertexInlines += " vertexSimple vertexSkinning vertexAnimation " ;
1969
1991
}
1970
1992
1993
+ void GLShader_fogQuake3::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
1994
+ {
1995
+ fragmentInlines += " colorSpace" ;
1996
+ }
1997
+
1971
1998
void GLShader_fogQuake3::SetShaderProgramUniforms ( shaderProgram_t *shaderProgram )
1972
1999
{
1973
2000
glUniform1i ( glGetUniformLocation ( shaderProgram->program , " u_ColorMap" ), 0 );
1974
2001
}
1975
2002
1976
2003
GLShader_fogGlobal::GLShader_fogGlobal ( GLShaderManager *manager ) :
1977
2004
GLShader( " fogGlobal" , ATTR_POSITION, manager ),
2005
+ u_LinearizeTexture( this ),
1978
2006
u_ViewOrigin( this ),
1979
2007
u_ViewMatrix( this ),
1980
2008
u_ModelViewProjectionMatrix( this ),
@@ -1985,6 +2013,11 @@ GLShader_fogGlobal::GLShader_fogGlobal( GLShaderManager *manager ) :
1985
2013
{
1986
2014
}
1987
2015
2016
+ void GLShader_fogGlobal::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
2017
+ {
2018
+ fragmentInlines += " colorSpace" ;
2019
+ }
2020
+
1988
2021
void GLShader_fogGlobal::SetShaderProgramUniforms ( shaderProgram_t *shaderProgram )
1989
2022
{
1990
2023
glUniform1i ( glGetUniformLocation ( shaderProgram->program , " u_ColorMap" ), 0 );
@@ -2071,8 +2104,14 @@ GLShader_cameraEffects::GLShader_cameraEffects( GLShaderManager *manager ) :
2071
2104
u_TextureMatrix( this ),
2072
2105
u_ModelViewProjectionMatrix( this ),
2073
2106
u_DeformMagnitude( this ),
2074
- u_InverseGamma( this )
2107
+ u_InverseGamma( this ),
2108
+ u_DelinearizeScreen( this )
2109
+ {
2110
+ }
2111
+
2112
+ void GLShader_cameraEffects::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
2075
2113
{
2114
+ fragmentInlines += " colorSpace" ;
2076
2115
}
2077
2116
2078
2117
void GLShader_cameraEffects::SetShaderProgramUniforms ( shaderProgram_t *shaderProgram )
@@ -2144,7 +2183,7 @@ GLShader_liquid::GLShader_liquid( GLShaderManager *manager ) :
2144
2183
2145
2184
void GLShader_liquid::BuildShaderFragmentLibNames ( std::string& fragmentInlines )
2146
2185
{
2147
- fragmentInlines += " computeLight reliefMapping" ;
2186
+ fragmentInlines += " colorSpace computeLight reliefMapping" ;
2148
2187
}
2149
2188
2150
2189
void GLShader_liquid::SetShaderProgramUniforms ( shaderProgram_t *shaderProgram )
0 commit comments