mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Set native-focused FSR defaults and reorder quality UI
This commit is contained in:
parent
47287a121a
commit
94ad89c764
3 changed files with 19 additions and 10 deletions
|
|
@ -268,7 +268,7 @@ public:
|
||||||
// FSR (FidelityFX Super Resolution) upscaling
|
// FSR (FidelityFX Super Resolution) upscaling
|
||||||
void setFSREnabled(bool enabled);
|
void setFSREnabled(bool enabled);
|
||||||
bool isFSREnabled() const { return fsr_.enabled; }
|
bool isFSREnabled() const { return fsr_.enabled; }
|
||||||
void setFSRQuality(float scaleFactor); // 0.50=Perf, 0.59=Balanced, 0.67=Quality, 0.77=UltraQuality
|
void setFSRQuality(float scaleFactor); // 0.59=Balanced, 0.67=Quality, 0.77=UltraQuality, 1.00=Native
|
||||||
void setFSRSharpness(float sharpness); // 0.0 - 2.0
|
void setFSRSharpness(float sharpness); // 0.0 - 2.0
|
||||||
float getFSRScaleFactor() const { return fsr_.scaleFactor; }
|
float getFSRScaleFactor() const { return fsr_.scaleFactor; }
|
||||||
float getFSRSharpness() const { return fsr_.sharpness; }
|
float getFSRSharpness() const { return fsr_.sharpness; }
|
||||||
|
|
@ -353,8 +353,8 @@ private:
|
||||||
struct FSRState {
|
struct FSRState {
|
||||||
bool enabled = false;
|
bool enabled = false;
|
||||||
bool needsRecreate = false;
|
bool needsRecreate = false;
|
||||||
float scaleFactor = 0.77f; // Ultra Quality default
|
float scaleFactor = 1.00f; // Native default
|
||||||
float sharpness = 0.5f;
|
float sharpness = 1.6f;
|
||||||
uint32_t internalWidth = 0;
|
uint32_t internalWidth = 0;
|
||||||
uint32_t internalHeight = 0;
|
uint32_t internalHeight = 0;
|
||||||
|
|
||||||
|
|
@ -429,7 +429,7 @@ private:
|
||||||
uint32_t frameIndex = 0;
|
uint32_t frameIndex = 0;
|
||||||
bool needsHistoryReset = true;
|
bool needsHistoryReset = true;
|
||||||
bool useAmdBackend = false;
|
bool useAmdBackend = false;
|
||||||
float jitterSign = 0.40f;
|
float jitterSign = 0.38f;
|
||||||
float motionVecScaleX = 1.0f;
|
float motionVecScaleX = 1.0f;
|
||||||
float motionVecScaleY = 1.0f;
|
float motionVecScaleY = 1.0f;
|
||||||
#if WOWEE_HAS_AMD_FSR2
|
#if WOWEE_HAS_AMD_FSR2
|
||||||
|
|
|
||||||
|
|
@ -118,9 +118,9 @@ private:
|
||||||
int pendingPOMQuality = 1; // 0=Low(16), 1=Medium(32), 2=High(64)
|
int pendingPOMQuality = 1; // 0=Low(16), 1=Medium(32), 2=High(64)
|
||||||
bool pendingFSR = false;
|
bool pendingFSR = false;
|
||||||
int pendingUpscalingMode = 0; // 0=Off, 1=FSR1, 2=FSR2
|
int pendingUpscalingMode = 0; // 0=Off, 1=FSR1, 2=FSR2
|
||||||
int pendingFSRQuality = 0; // 0=UltraQuality, 1=Quality, 2=Balanced, 3=Native(100%)
|
int pendingFSRQuality = 3; // 0=UltraQuality, 1=Quality, 2=Balanced, 3=Native(100%)
|
||||||
float pendingFSRSharpness = 0.5f;
|
float pendingFSRSharpness = 1.6f;
|
||||||
float pendingFSR2JitterSign = 0.40f;
|
float pendingFSR2JitterSign = 0.38f;
|
||||||
float pendingFSR2MotionVecScaleX = 1.0f;
|
float pendingFSR2MotionVecScaleX = 1.0f;
|
||||||
float pendingFSR2MotionVecScaleY = 1.0f;
|
float pendingFSR2MotionVecScaleY = 1.0f;
|
||||||
bool fsrSettingsApplied_ = false;
|
bool fsrSettingsApplied_ = false;
|
||||||
|
|
|
||||||
|
|
@ -6337,10 +6337,19 @@ void GameScreen::renderSettingsWindow() {
|
||||||
ImGui::TextDisabled("FSR2 backend: %s",
|
ImGui::TextDisabled("FSR2 backend: %s",
|
||||||
renderer->isAmdFsr2SdkAvailable() ? "AMD FidelityFX SDK" : "Internal fallback");
|
renderer->isAmdFsr2SdkAvailable() ? "AMD FidelityFX SDK" : "Internal fallback");
|
||||||
}
|
}
|
||||||
const char* fsrQualityLabels[] = { "Ultra Quality (77%)", "Quality (67%)", "Balanced (59%)", "Native (100%)" };
|
const char* fsrQualityLabels[] = { "Native (100%)", "Ultra Quality (77%)", "Quality (67%)", "Balanced (59%)" };
|
||||||
static const float fsrScaleFactors[] = { 0.77f, 0.67f, 0.59f, 1.00f };
|
static const float fsrScaleFactors[] = { 0.77f, 0.67f, 0.59f, 1.00f };
|
||||||
|
static const int displayToInternal[] = { 3, 0, 1, 2 };
|
||||||
pendingFSRQuality = std::clamp(pendingFSRQuality, 0, 3);
|
pendingFSRQuality = std::clamp(pendingFSRQuality, 0, 3);
|
||||||
if (ImGui::Combo("FSR Quality", &pendingFSRQuality, fsrQualityLabels, 4)) {
|
int fsrQualityDisplay = 0;
|
||||||
|
for (int i = 0; i < 4; ++i) {
|
||||||
|
if (displayToInternal[i] == pendingFSRQuality) {
|
||||||
|
fsrQualityDisplay = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ImGui::Combo("FSR Quality", &fsrQualityDisplay, fsrQualityLabels, 4)) {
|
||||||
|
pendingFSRQuality = displayToInternal[fsrQualityDisplay];
|
||||||
if (renderer) renderer->setFSRQuality(fsrScaleFactors[pendingFSRQuality]);
|
if (renderer) renderer->setFSRQuality(fsrScaleFactors[pendingFSRQuality]);
|
||||||
saveSettings();
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
@ -6359,7 +6368,7 @@ void GameScreen::renderSettingsWindow() {
|
||||||
}
|
}
|
||||||
saveSettings();
|
saveSettings();
|
||||||
}
|
}
|
||||||
ImGui::TextDisabled("Tip: 0.40 is the current recommended default.");
|
ImGui::TextDisabled("Tip: 0.38 is the current recommended default.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue