Outcommented broken SMAA and MSAA options

This commit is contained in:
Robert Beckebans 2022-05-29 15:51:07 +02:00
parent 461001d5c0
commit d3382b03e2
8 changed files with 83 additions and 5 deletions

View file

@ -13,6 +13,25 @@ RBDOOM-3-BFG Release Notes - https://github.com/RobertBeckebans/RBDOOM-3-BFG
Thank you for downloading RBDOOM-3-BFG.
_______________________________________
TBD - RBDOOM-3-BFG 1.5.0
_______________________________
## .plan - May 29, 2022
This is a NVRHI DX12 test build.
The initial port to NVRHI was done by Stephen Pridham. Big thanks for that!
* Renderer uses DX12 instead of OpenGL. Vulkan isn't supported yet
* SMAA has been replaced with a Temporal Anti Aliasing solution by Nvidia
* The MSAA option is gone
_______________________________________
06 March 2022 - RBDOOM-3-BFG 1.4.0

View file

@ -527,7 +527,7 @@ void idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings::AdjustFi
}
case SYSTEM_FIELD_ANTIALIASING:
{
// RB: disabled 8x, 16x MSAA because they are too expensive at 4k resolutions
#if ID_MSAA
static const int numValues = 5;
static const int values[numValues] =
{
@ -537,7 +537,15 @@ void idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings::AdjustFi
ANTI_ALIASING_MSAA_2X,
ANTI_ALIASING_MSAA_4X,
};
// RB end
#else
static const int numValues = 2;
static const int values[numValues] =
{
ANTI_ALIASING_NONE,
ANTI_ALIASING_TAA,
};
#endif
r_antiAliasing.SetInteger( AdjustOption( r_antiAliasing.GetInteger(), values, numValues, adjustAmount ) );
break;
}
@ -658,6 +666,7 @@ idSWFScriptVar idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings
return "#str_swf_disabled";
}
#if ID_MSAA
static const int numValues = 5;
static const char* values[numValues] =
{
@ -669,6 +678,16 @@ idSWFScriptVar idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings
};
compile_time_assert( numValues == ( ANTI_ALIASING_MSAA_4X + 1 ) );
#else
static const int numValues = 2;
static const char* values[numValues] =
{
"None",
"TAA"
};
compile_time_assert( numValues == ( ANTI_ALIASING_TAA + 1 ) );
#endif
return values[ r_antiAliasing.GetInteger() ];
}

View file

@ -354,6 +354,8 @@ float idConsoleLocal::DrawFPS( float y )
#endif
extern idCVar r_antiAliasing;
#if ID_MSAA
static const int aaNumValues = 5;
static const char* aaValues[aaNumValues] =
@ -375,6 +377,23 @@ float idConsoleLocal::DrawFPS( float y )
};
compile_time_assert( aaNumValues == ( ANTI_ALIASING_MSAA_4X + 1 ) );
#else
static const int aaNumValues = 2;
static const char* aaValues[aaNumValues] =
{
"None",
"None",
};
static const char* taaValues[aaNumValues] =
{
"None",
"TAA",
};
compile_time_assert( aaNumValues == ( ANTI_ALIASING_TAA + 1 ) );
#endif
const char* aaMode = NULL;
if( R_UseTemporalAA() )

View file

@ -97,6 +97,7 @@ void TemporalAntiAliasingPass::Init(
switch( r_antiAliasing.GetInteger() )
{
#if ID_MSAA
case ANTI_ALIASING_MSAA_2X:
{
auto taaResolveShaderInfo = renderProgManager.GetProgramInfo( BUILTIN_TAA_RESOLVE_MSAA_2X );
@ -110,6 +111,7 @@ void TemporalAntiAliasingPass::Init(
m_TemporalAntiAliasingCS = taaResolveShaderInfo.cs;
break;
}
#endif
default:
{

View file

@ -101,13 +101,18 @@ enum graphicsDriverType_t
GLDRV_VULKAN
};
#define ID_MSAA 0
enum antiAliasingMode_t
{
ANTI_ALIASING_NONE,
ANTI_ALIASING_TAA,
#if ID_MSAA
ANTI_ALIASING_TAA_SMAA_1X,
ANTI_ALIASING_MSAA_2X,
ANTI_ALIASING_MSAA_4X,
#endif
};
// CPU counters and timers

View file

@ -80,7 +80,11 @@ idCVar r_glDriver( "r_glDriver", "", CVAR_RENDERER, "\"opengl32\", etc." );
#endif
// SRS end
// RB: disabled 16x MSAA
idCVar r_antiAliasing( "r_antiAliasing", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, " 0 = None\n 1 = TAA 1x\n 2 = TAA + SMAA 1x\n 3 = MSAA 2x\n 4 = MSAA 4x\n", 0, ANTI_ALIASING_MSAA_4X );
#if ID_MSAA
idCVar r_antiAliasing( "r_antiAliasing", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, " 0 = None\n 1 = TAA 1x\n 2 = TAA + SMAA 1x\n 3 = MSAA 2x\n 4 = MSAA 4x\n", 0, ANTI_ALIASING_MSAA_4X );
#else
idCVar r_antiAliasing( "r_antiAliasing", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, " 0 = None\n 1 = TAA 1x", 0, ANTI_ALIASING_TAA );
#endif
// RB end
idCVar r_vidMode( "r_vidMode", "0", CVAR_ARCHIVE | CVAR_RENDERER | CVAR_INTEGER, "fullscreen video mode number" );
idCVar r_displayRefresh( "r_displayRefresh", "0", CVAR_RENDERER | CVAR_INTEGER | CVAR_NOCHEAT, "optional display refresh rate option for vid mode", 0.0f, 240.0f );
@ -363,8 +367,10 @@ bool R_UseTemporalAA()
case ANTI_ALIASING_TAA:
return true;
#if ID_MSAA
case ANTI_ALIASING_TAA_SMAA_1X:
return true;
#endif
default:
return false;
@ -373,6 +379,7 @@ bool R_UseTemporalAA()
uint R_GetMSAASamples()
{
#if ID_MSAA
switch( r_antiAliasing.GetInteger() )
{
case ANTI_ALIASING_MSAA_2X:
@ -384,6 +391,9 @@ uint R_GetMSAASamples()
default:
return 1;
}
#else
return 1;
#endif
}
/*
@ -474,12 +484,14 @@ void R_SetNewMode( const bool fullInit )
switch( r_antiAliasing.GetInteger() )
{
#if ID_MSAA
case ANTI_ALIASING_MSAA_2X:
parms.multiSamples = 2;
break;
case ANTI_ALIASING_MSAA_4X:
parms.multiSamples = 4;
break;
#endif
default:
parms.multiSamples = 1;

View file

@ -1149,7 +1149,9 @@ void DeviceManager::UpdateWindowSize( const glimpParms_t& params )
if( int( deviceParms.backBufferWidth ) != params.width ||
int( deviceParms.backBufferHeight ) != params.height ||
#if ID_MSAA
int( deviceParms.backBufferSampleCount ) != params.multiSamples ||
#endif
( deviceParms.vsyncEnabled != requestedVSync && GetGraphicsAPI() == nvrhi::GraphicsAPI::VULKAN ) )
{
// window is not minimized, and the size has changed

View file

@ -75,7 +75,7 @@ LONG WINAPI MainWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
void Conbuf_AppendText( const char* msg );
typedef struct
struct Win32Vars_t
{
HWND hWnd;
HINSTANCE hInstance;
@ -137,7 +137,7 @@ typedef struct
LPDIRECTINPUTDEVICE8 g_pKeyboard;
idJoystickWin32 g_Joystick;
} Win32Vars_t;
};
extern Win32Vars_t win32;