Added 'RenderResolutionMultiplier' as an more fine-tuned alternative to 'RenderResolutionDivisor'
--HG-- branch : RLVameow-7.2.2
parent
b98e2123a3
commit
d56b519bed
|
|
@ -10254,6 +10254,17 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>RenderResolutionMultiplier</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Multiplier for rendering 3D scene at reduced resolution.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>1.0</real>
|
||||
</map>
|
||||
<key>RenderShaderLightingMaxLevel</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -635,6 +635,9 @@ void settings_setup_listeners()
|
|||
gSavedSettings.getControl("RenderDebugGL")->getSignal()->connect(boost::bind(&handleRenderDebugGLChanged, _2));
|
||||
gSavedSettings.getControl("RenderDebugPipeline")->getSignal()->connect(boost::bind(&handleRenderDebugPipelineChanged, _2));
|
||||
gSavedSettings.getControl("RenderResolutionDivisor")->getSignal()->connect(boost::bind(&handleRenderResolutionDivisorChanged, _2));
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
gSavedSettings.getControl("RenderResolutionMultiplier")->getSignal()->connect(boost::bind(&handleRenderResolutionDivisorChanged, _2));
|
||||
// [/SL:KB]
|
||||
gSavedSettings.getControl("RenderDeferred")->getSignal()->connect(boost::bind(&handleRenderDeferredChanged, _2));
|
||||
gSavedSettings.getControl("RenderShadowDetail")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
|
||||
gSavedSettings.getControl("RenderDeferredSSAO")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
|
||||
|
|
|
|||
|
|
@ -141,6 +141,9 @@ bool LLPipeline::RenderDeferred;
|
|||
F32 LLPipeline::RenderDeferredSunWash;
|
||||
U32 LLPipeline::RenderFSAASamples;
|
||||
U32 LLPipeline::RenderResolutionDivisor;
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
F32 LLPipeline::RenderResolutionMultiplier;
|
||||
// [/SL:KB]
|
||||
bool LLPipeline::RenderUIBuffer;
|
||||
S32 LLPipeline::RenderShadowDetail;
|
||||
bool LLPipeline::RenderDeferredSSAO;
|
||||
|
|
@ -586,6 +589,9 @@ void LLPipeline::init()
|
|||
connectRefreshCachedSettingsSafe("RenderDeferredSunWash");
|
||||
connectRefreshCachedSettingsSafe("RenderFSAASamples");
|
||||
connectRefreshCachedSettingsSafe("RenderResolutionDivisor");
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
connectRefreshCachedSettingsSafe("RenderResolutionMultiplier");
|
||||
// [/SL:KB]
|
||||
connectRefreshCachedSettingsSafe("RenderUIBuffer");
|
||||
connectRefreshCachedSettingsSafe("RenderShadowDetail");
|
||||
connectRefreshCachedSettingsSafe("RenderDeferredSSAO");
|
||||
|
|
@ -792,17 +798,20 @@ void LLPipeline::resizeScreenTexture()
|
|||
GLuint resX = gViewerWindow->getWorldViewWidthRaw();
|
||||
GLuint resY = gViewerWindow->getWorldViewHeightRaw();
|
||||
|
||||
// [RLVa:KB] - Checked: 2014-02-23 (RLVa-1.4.10)
|
||||
U32 resMod = RenderResolutionDivisor, resAdjustedX = resX, resAdjustedY = resY;
|
||||
if ( (resMod > 1) && (resMod < resX) && (resMod < resY) )
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
if ( (RenderResolutionDivisor > 1) && (RenderResolutionDivisor < resX) && (RenderResolutionDivisor < resY) )
|
||||
{
|
||||
resAdjustedX /= resMod;
|
||||
resAdjustedY /= resMod;
|
||||
resX /= RenderResolutionDivisor;
|
||||
resY /= RenderResolutionDivisor;
|
||||
}
|
||||
else if (RenderResolutionMultiplier != 1.f)
|
||||
{
|
||||
resX *= RenderResolutionMultiplier;
|
||||
resY *= RenderResolutionMultiplier;
|
||||
}
|
||||
// [/SL:KB]
|
||||
|
||||
if ( (resAdjustedX != mScreen.getWidth()) || (resAdjustedY != mScreen.getHeight()) )
|
||||
// [/RLVa:KB]
|
||||
// if ((resX != mScreen.getWidth()) || (resY != mScreen.getHeight()))
|
||||
if ((resX != mScreen.getWidth()) || (resY != mScreen.getHeight()))
|
||||
{
|
||||
releaseScreenBuffers();
|
||||
if (!allocateScreenBuffer(resX,resY))
|
||||
|
|
@ -938,6 +947,13 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
|
|||
resX /= res_mod;
|
||||
resY /= res_mod;
|
||||
}
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
else if (RenderResolutionMultiplier != 1.f)
|
||||
{
|
||||
resX *= RenderResolutionMultiplier;
|
||||
resY *= RenderResolutionMultiplier;
|
||||
}
|
||||
// [/SL:KB]
|
||||
|
||||
if (RenderUIBuffer)
|
||||
{
|
||||
|
|
@ -1116,6 +1132,9 @@ void LLPipeline::refreshCachedSettings()
|
|||
RenderDeferredSunWash = gSavedSettings.getF32("RenderDeferredSunWash");
|
||||
RenderFSAASamples = gSavedSettings.getU32("RenderFSAASamples");
|
||||
RenderResolutionDivisor = gSavedSettings.getU32("RenderResolutionDivisor");
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
RenderResolutionMultiplier = gSavedSettings.getF32("RenderResolutionMultiplier");
|
||||
// [/SL:KB]
|
||||
RenderUIBuffer = gSavedSettings.getBOOL("RenderUIBuffer");
|
||||
RenderShadowDetail = gSavedSettings.getS32("RenderShadowDetail");
|
||||
RenderDeferredSSAO = gSavedSettings.getBOOL("RenderDeferredSSAO");
|
||||
|
|
|
|||
|
|
@ -871,6 +871,9 @@ public:
|
|||
static F32 RenderDeferredSunWash;
|
||||
static U32 RenderFSAASamples;
|
||||
static U32 RenderResolutionDivisor;
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
static F32 RenderResolutionMultiplier;
|
||||
// [/SL:KB]
|
||||
static bool RenderUIBuffer;
|
||||
static S32 RenderShadowDetail;
|
||||
static bool RenderDeferredSSAO;
|
||||
|
|
|
|||
Loading…
Reference in New Issue