Revert "Changed r_useShadowMapping 1: medium+faster, 2: high quality"

This reverts commit 87b0040f92.

Conflicts:
	neo/renderer/RenderSystem_init.cpp
	neo/renderer/tr_backend_draw.cpp
	neo/renderer/tr_local.h
This commit is contained in:
Robert Beckebans 2014-05-16 21:50:49 +02:00
parent ef9869972d
commit c17773306c
6 changed files with 16 additions and 28 deletions

View file

@ -273,9 +273,6 @@ __________________________________________
scene on a GTX 660 ti OC) however I defaulted it to 16 taps so the shadows look
really good which should give you stable 100 fps on todays hardware (2014).
The shadow filtering algorithm is based on Carmack's research which was
released in the original Doom 3 GPL release draw_exp.cpp.
- Changed light interaction shaders to use Half-Lambert lighting like in Half-Life 2 to
make the game less dark. https://developer.valvesoftware.com/wiki/Half_Lambert
@ -285,9 +282,7 @@ ___________________________________________________
9) CONSOLE VARIABLES
__________________________________________
r_useShadowMapping 0: Use oldschool hard stencil shadows
1: Use soft shadow mapping medium quality
2: Use soft shadow mapping high quality
r_useShadowMapping 1 - Use soft shadow mapping instead of hard stencil shadows
___________________________________________________

View file

@ -272,14 +272,14 @@ void main( PS_IN fragment, out PS_OUT result )
float stepSize = 1.0 / numSamples;
float4 jitterTC = ( fragment.position * rpScreenCorrectionFactor ) + rpJitterTexOffset;
float4 random = tex2D( samp6, jitterTC.xy ) * PI;// * rpJitterTexScale;
float4 random = tex2D( samp6, jitterTC.xy ) * PI;
//float4 random = fragment.position;
float2 rot;
rot.x = cos( random.x );
rot.y = sin( random.x );
float shadowTexelSize = rpScreenCorrectionFactor.z * 3.0;
float shadowTexelSize = rpScreenCorrectionFactor.z * rpJitterTexScale;
for( int i = 0; i < numSamples; i++ )
{
float2 jitter = poissonDisk[i];

View file

@ -514,8 +514,8 @@ void idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings::AdjustFi
// RB begin
case SYSTEM_FIELD_SHADOWMAPPING:
{
static const int numValues = 3;
static const int values[numValues] = { 0, 1, 2 };
static const int numValues = 2;
static const int values[numValues] = { 0, 1 };
r_useShadowMapping.SetInteger( AdjustOption( r_useShadowMapping.GetInteger(), values, numValues, adjustAmount ) );
break;
}
@ -609,11 +609,7 @@ idSWFScriptVar idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings
case SYSTEM_FIELD_SHADOWMAPPING:
if( r_useShadowMapping.GetInteger() == 1 )
{
return "Medium";
}
else if( r_useShadowMapping.GetInteger() == 2 )
{
return "High";
return "#str_swf_enabled";
}
else
{

View file

@ -218,13 +218,14 @@ idCVar stereoRender_deGhost( "stereoRender_deGhost", "0.05", CVAR_FLOAT | CVAR_A
idCVar r_useVirtualScreenResolution( "r_useVirtualScreenResolution", "1", CVAR_RENDERER | CVAR_BOOL | CVAR_ARCHIVE, "do 2D rendering at 640x480 and stretch to the current resolution" );
// RB: shadow mapping parameters
idCVar r_useShadowMapping( "r_useShadowMapping", "2", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, "0 = stencil shadows, 1 = medium quality soft shadow mapping, 2 = high quality soft shadow mapping" );
idCVar r_useShadowMapping( "r_useShadowMapping", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, "use shadow mapping instead of stencil shadows" );
idCVar r_shadowMapFrustumFOV( "r_shadowMapFrustumFOV", "92", CVAR_RENDERER | CVAR_FLOAT, "oversize FOV for point light side matching" );
idCVar r_shadowMapSingleSide( "r_shadowMapSingleSide", "-1", CVAR_RENDERER | CVAR_INTEGER, "only draw a single side (0-5) of point lights" );
idCVar r_shadowMapImageSize( "r_shadowMapImageSize", "1024", CVAR_RENDERER | CVAR_INTEGER, "", 128, 2048 );
idCVar r_shadowMapJitterScale( "r_shadowMapJitterScale", "0.006", CVAR_RENDERER | CVAR_FLOAT, "scale factor for jitter offset" );
idCVar r_shadowMapBiasScale( "r_shadowMapBiasScale", "0.0001", CVAR_RENDERER | CVAR_FLOAT, "scale factor for jitter bias" );
idCVar r_shadowMapRandomizeJitter( "r_shadowMapRandomizeJitter", "1", CVAR_RENDERER | CVAR_BOOL, "randomly offset jitter texture each draw" );
idCVar r_shadowMapSamples( "r_shadowMapSamples", "1", CVAR_RENDERER | CVAR_INTEGER, "0, 1, 4, or 16" );
idCVar r_shadowMapSplits( "r_shadowMapSplits", "3", CVAR_RENDERER | CVAR_INTEGER, "number of splits for cascaded shadow mapping with parallel lights", 0, 4 );
idCVar r_shadowMapSplitWeight( "r_shadowMapSplitWeight", "0.9", CVAR_RENDERER | CVAR_FLOAT, "" );
idCVar r_shadowMapLodScale( "r_shadowMapLodScale", "1.4", CVAR_RENDERER | CVAR_FLOAT, "" );

View file

@ -1275,14 +1275,7 @@ static void RB_RenderInteractions( const drawSurf_t* surfList, const viewLight_t
// default high quality
float jitterSampleScale = 1.0f;
float shadowMapSamples = 16.0f;
if( r_useShadowMapping.GetInteger() == 1 )
{
// medium quality
jitterSampleScale = 0.8f;
shadowMapSamples = 1.0f;
}
float shadowMapSamples = r_shadowMapSamples.GetInteger();
// screen power of two correction factor
float screenCorrectionParm[4];
@ -1369,15 +1362,17 @@ static void RB_RenderInteractions( const drawSurf_t* surfList, const viewLight_t
// texture 6 will be the jitter texture for soft shadowing
GL_SelectTexture( INTERACTION_TEXUNIT_JITTER );
if( r_useShadowMapping.GetInteger() == 1 )
if( r_shadowMapSamples.GetInteger() == 16 )
{
globalImages->jitterImage16->Bind();
}
else if( r_shadowMapSamples.GetInteger() == 4 )
{
// medium quality
globalImages->jitterImage1->Bind();
}
else
{
// high quality
globalImages->jitterImage16->Bind();
globalImages->jitterImage1->Bind();
}
}

View file

@ -1062,6 +1062,7 @@ extern idCVar r_shadowMapImageSize;
extern idCVar r_shadowMapJitterScale;
extern idCVar r_shadowMapBiasScale;
extern idCVar r_shadowMapRandomizeJitter;
extern idCVar r_shadowMapSamples;
extern idCVar r_shadowMapSplits;
extern idCVar r_shadowMapSplitWeight;
extern idCVar r_shadowMapLodScale;