Launcher: basic Compositor support
This commit is contained in:
parent
37936496a4
commit
f010e78e55
2 changed files with 44 additions and 21 deletions
|
@ -97,6 +97,12 @@ LauncherMainWindow::LauncherMainWindow() :
|
|||
ctx->setContextProperty("_location", m_controller->location());
|
||||
ctx->setContextProperty("_osName", osName);
|
||||
|
||||
#if defined(ENABLE_COMPOSITOR)
|
||||
ctx->setContextProperty("_haveCompositor", true);
|
||||
#else
|
||||
ctx->setContextProperty("_haveCompositor", false);
|
||||
#endif
|
||||
|
||||
auto weatherScenariosModel = new flightgear::WeatherScenariosModel(this);
|
||||
ctx->setContextProperty("_weatherScenarios", weatherScenariosModel);
|
||||
|
||||
|
|
|
@ -412,7 +412,7 @@ Item {
|
|||
width: parent.width
|
||||
settingGroup: "render"
|
||||
|
||||
readonly property bool rembrandt: (renderer.selectedIndex == 2)
|
||||
readonly property bool rembrandt: !_haveCompositor && (renderer.selectedIndex == 2)
|
||||
readonly property bool alsEnabled: (renderer.selectedIndex == 1)
|
||||
readonly property bool msaaEnabled: !rembrandt && (msaa.selectedIndex > 0)
|
||||
|
||||
|
@ -425,27 +425,37 @@ Item {
|
|||
return result;
|
||||
}
|
||||
|
||||
readonly property var __traditionalRendererChoices: [qsTr("Default"),
|
||||
qsTr("Atmospheric Light Scattering"),
|
||||
qsTr("Rembrandt")]
|
||||
|
||||
readonly property var __compositorRendererChoices: [qsTr("Default"),
|
||||
qsTr("Atmospheric Light Scattering"),
|
||||
qsTr("Low-spec")]
|
||||
|
||||
readonly property string __defaultRenderDesc: qsTr("The default renderer provides standard visuals with maximum compatibility.")
|
||||
readonly property string __alsRenderDesc: qsTr("The ALS renderer uses a sophisticated physical atmospheric model and several " +
|
||||
"other effects to give realistic rendering of large distances.")
|
||||
readonly property string __rembrandtDesc: qsTr("Rembrandt is a configurable multi-pass renderer which supports shadow-maps, cinematic " +
|
||||
"effects and more. However, not all aircraft appear correctly and performance will " +
|
||||
"depend greatly on your system hardware.")
|
||||
readonly property string __lowSpecDesc: qsTr("The low-spec renderer ensures maximum performance on older computers.")
|
||||
|
||||
readonly property var descriptions: _haveCompositor
|
||||
? [__defaultRenderDesc, __alsRenderDesc, __lowSpecDesc]
|
||||
: [__defaultRenderDesc, __alsRenderDesc, __rembrandtDesc]
|
||||
|
||||
contents: [
|
||||
SettingsComboBox {
|
||||
id: renderer
|
||||
label: qsTr("Renderer")
|
||||
choices: [qsTr("Default"),
|
||||
qsTr("Atmospheric Light Scattering"),
|
||||
qsTr("Rembrandt")]
|
||||
description: descriptions[selectedIndex]
|
||||
defaultIndex: 0
|
||||
choices: _haveCompositor
|
||||
? renderSection.__compositorRendererChoices
|
||||
: renderSection.__traditionalRendererChoices
|
||||
description: renderSection.descriptions[selectedIndex]
|
||||
defaultIndex: 1
|
||||
setting: "renderer"
|
||||
|
||||
readonly property var descriptions: [
|
||||
qsTr("The default renderer provides standard visuals with maximum compatibility."),
|
||||
qsTr("The ALS renderer uses a sophisticated physical atmospheric model and several " +
|
||||
"other effects to give realistic rendering of large distances."),
|
||||
qsTr("Rembrandt is a configurable multi-pass renderer which supports shadow-maps, cinematic " +
|
||||
"effects and more. However, not all aircraft appear correctly and performance will " +
|
||||
"depend greatly on your system hardware.")
|
||||
]
|
||||
|
||||
keywords: ["als", "rembrandt", "render", "shadow"]
|
||||
keywords: ["als", "rembrandt", "render", "shadow", "low-spec", "graphics", "performance"]
|
||||
},
|
||||
|
||||
SettingsComboBox {
|
||||
|
@ -485,10 +495,17 @@ Item {
|
|||
_config.setProperty("/sim/rendering/multi-samples", msaa.data[msaa.selectedIndex])
|
||||
}
|
||||
|
||||
_config.setEnableDisableOption("rembrandt", rembrandt);
|
||||
|
||||
if (alsEnabled) {
|
||||
_config.setProperty("/sim/rendering/shaders/skydome", true);
|
||||
if (_haveCompositor) {
|
||||
if (alsEnabled) {
|
||||
_config.setArg("compositor", "Compositor/ALS");
|
||||
} else if (renderer.selectedIndex == 2) {
|
||||
_config.setArg("compositor", "Compositor/low-spec")
|
||||
}
|
||||
} else {
|
||||
_config.setEnableDisableOption("rembrandt", rembrandt);
|
||||
if (alsEnabled) {
|
||||
_config.setProperty("/sim/rendering/shaders/skydome", true);
|
||||
}
|
||||
}
|
||||
|
||||
_config.setProperty("/sim/rendering/texture-cache/cache-enabled", compressTextures.value);
|
||||
|
|
Loading…
Add table
Reference in a new issue