Skip to content

Commit

Permalink
cvars
Browse files Browse the repository at this point in the history
  • Loading branch information
illwieckz committed Jan 23, 2024
1 parent 30f6d90 commit 5cdd147
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 7 deletions.
10 changes: 10 additions & 0 deletions src/engine/renderer/gl_shader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,16 @@ static std::string GenEngineConstants() {
AddConst( str, "r_RimExponent", r_rimExponent->value );
}

if ( r_cheapSRGB.Get() )
{
AddDefine( str, "r_cheapSRGB", 1 );
}

if ( r_linearBlending.Get() )
{
AddDefine( str, "r_linearBlending", 1 );
}

if ( r_showLightTiles->integer )
{
AddDefine( str, "r_showLightTiles", 1 );
Expand Down
10 changes: 6 additions & 4 deletions src/engine/renderer/glsl_source/cameraEffects_fp.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,12 @@ void main()

vec4 original = texture2D(u_CurrentMap, st);

if (u_DelinearizeScreen == 1)
{
convertToSRGB(original.rgb);
}
#if defined(r_linearBlending)
if (u_DelinearizeScreen == 1)
{
convertToSRGB(original.rgb);
}
#endif

vec4 color = clamp(original, 0.0, 1.0);

Expand Down
4 changes: 2 additions & 2 deletions src/engine/renderer/glsl_source/colorSpace_fp.glsl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#define SRGB_NAIVE

void convertFromSRGB(inout vec3 color) {
#if defined(SRGB_CHEAP)
#if defined(r_cheapSRGB)
float gamma = 2.2;
color = pow(color, vec3(gamma));

Expand Down Expand Up @@ -47,7 +47,7 @@ void convertFromSRGB(inout vec3 color) {
}

void convertToSRGB(inout vec3 color) {
#if defined(SRGB_CHEAP)
#if defined(r_cheapSRGB)
float gamma = 2.2;
color = pow(color, vec3(1/gamma));
#elif defined(SRGB_NAIVE)
Expand Down
2 changes: 1 addition & 1 deletion src/engine/renderer/glsl_source/generic_fp.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ void main()
}
#endif

#if !defined(GENERIC_2D)
#if !defined(GENERIC_2D) && defined(r_linearBlending)
if (u_LinearizeTexture == 1) {
convertFromSRGB(color.rgb);
}
Expand Down
6 changes: 6 additions & 0 deletions src/engine/renderer/glsl_source/lightMapping_fp.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,12 @@ void main()
color.rgb += glow;
#endif

#if !defined(r_linearBlending)
if (u_LinearizeTexture == 1) {
convertToSRGB(color.rgb);
}
#endif

outputColor = color;

// Debugging.
Expand Down
7 changes: 7 additions & 0 deletions src/engine/renderer/tr_init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
cvar_t *r_halfLambertLighting;
cvar_t *r_rimLighting;
cvar_t *r_rimExponent;

Cvar::Cvar<bool> r_cheapSRGB("r_cheapSRGB", "use cheap sRGB computation when converting images", Cvar::NONE, false);
Cvar::Cvar<bool> r_linearBlending("r_linearBlending", "also blend framebuffers in linear space", Cvar::NONE, true);

cvar_t *r_gamma;
cvar_t *r_lockpvs;
cvar_t *r_noportals;
Expand Down Expand Up @@ -1241,6 +1245,9 @@ ScreenshotCmd screenshotPNGRegistration("screenshotPNG", ssFormat_t::SSF_PNG, "p
r_rimExponent = Cvar_Get( "r_rimExponent", "3", CVAR_CHEAT | CVAR_LATCH );
AssertCvarRange( r_rimExponent, 0.5, 8.0, false );

Cvar::Latch( r_cheapSRGB );
Cvar::Latch( r_linearBlending );

r_drawBuffer = Cvar_Get( "r_drawBuffer", "GL_BACK", CVAR_CHEAT );
r_lockpvs = Cvar_Get( "r_lockpvs", "0", CVAR_CHEAT );
r_noportals = Cvar_Get( "r_noportals", "0", CVAR_CHEAT );
Expand Down
3 changes: 3 additions & 0 deletions src/engine/renderer/tr_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -3022,6 +3022,9 @@ enum class deluxeMode_t { NONE, GRID, MAP };
extern cvar_t *r_rimLighting;
extern cvar_t *r_rimExponent;

extern Cvar::Cvar<bool> r_cheapSRGB;
extern Cvar::Cvar<bool> r_linearBlending;

extern cvar_t *r_logFile; // number of frames to emit GL logs

extern cvar_t *r_clear; // force screen clear every frame
Expand Down

0 comments on commit 5cdd147

Please sign in to comment.