Bloom quality is now customizable in performance tab.

This commit is contained in:
Filippo Scognamiglio 2014-09-30 00:57:57 +02:00
parent cc72a28ee3
commit ba77e21817
3 changed files with 57 additions and 13 deletions

View File

@ -69,6 +69,8 @@ Item{
property real motion_blur: 0.40 property real motion_blur: 0.40
property real bloom_strength: 0.65 property real bloom_strength: 0.65
property real bloom_quality: 1.0
property real chroma_color: 0.0 property real chroma_color: 0.0
property real saturation_color: 0.0 property real saturation_color: 0.0
@ -173,7 +175,8 @@ Item{
fontIndexes: fontIndexes, fontIndexes: fontIndexes,
frameReflections: _frameReflections, frameReflections: _frameReflections,
showMenubar: showMenubar, showMenubar: showMenubar,
scanline_quality: scanline_quality scanline_quality: scanline_quality,
bloom_quality: bloom_quality
} }
return JSON.stringify(settings); return JSON.stringify(settings);
} }
@ -245,6 +248,7 @@ Item{
showMenubar = settings.showMenubar !== undefined ? settings.showMenubar : showMenubar; showMenubar = settings.showMenubar !== undefined ? settings.showMenubar : showMenubar;
scanline_quality = settings.scanline_quality !== undefined ? settings.scanline_quality : scanline_quality; scanline_quality = settings.scanline_quality !== undefined ? settings.scanline_quality : scanline_quality;
bloom_quality = settings.bloom_quality !== undefined ? settings.bloom_quality : bloom_quality;
} }
function loadProfileString(profileString){ function loadProfileString(profileString){

View File

@ -303,14 +303,15 @@ Item{
// BLOOM //////////////////////////////////////////////////////////////// // BLOOM ////////////////////////////////////////////////////////////////
Loader{ Loader{
property real scaling: shadersettings.bloom_quality
id: bloomEffectLoader id: bloomEffectLoader
active: mBloom != 0 active: mBloom != 0
anchors.fill: parent width: parent.width * scaling
height: parent.height * scaling
sourceComponent: FastBlur{ sourceComponent: FastBlur{
radius: 48 radius: 48 * scaling
source: kterminal source: kterminal
transparentBorder: true transparentBorder: true
smooth: false
} }
} }
Loader{ Loader{
@ -319,7 +320,7 @@ Item{
sourceComponent: ShaderEffectSource{ sourceComponent: ShaderEffectSource{
sourceItem: bloomEffectLoader.item sourceItem: bloomEffectLoader.item
hideSource: true hideSource: true
smooth: false smooth: true
} }
} }

View File

@ -50,7 +50,7 @@ Tab{
value: shadersettings.fps !== 0 ? shadersettings.fps : 60 value: shadersettings.fps !== 0 ? shadersettings.fps : 60
} }
Text{text: slider.value} Text{text: slider.value}
Text{text: qsTr("Texture quality")} Text{text: qsTr("Texture Quality")}
Slider{ Slider{
Layout.fillWidth: true Layout.fillWidth: true
id: txtslider id: txtslider
@ -77,13 +77,12 @@ Tab{
property var valsStrings: [ property var valsStrings: [
qsTr("Low"), qsTr("Low"),
qsTr("Medium"), qsTr("Medium"),
qsTr("High"), qsTr("High")
qsTr("Very high")
] ]
onValsIndexChanged: shadersettings.scanline_quality = vals[valsIndex]; onValsIndexChanged: shadersettings.scanline_quality = vals[valsIndex];
Text{text: qsTr("Scanline quality")} Text{text: qsTr("Scanlines Quality")}
Slider{ Slider{
id: scanlineQualitySlider id: scanlineQualitySlider
Layout.fillWidth: true Layout.fillWidth: true
@ -105,16 +104,56 @@ Tab{
} }
} }
} }
GroupBox{
title: qsTr("Bloom")
Layout.fillWidth: true
anchors.left: parent.left
anchors.right: parent.right
GridLayout{
id: bloomQualityContainer
anchors.fill: parent
columns: 3
property alias valsIndex: bloomQualitySlider.value
property var vals: [0.25, 0.50, 1.00]
property var valsStrings: [
qsTr("Low"),
qsTr("Medium"),
qsTr("High")
]
onValsIndexChanged: shadersettings.bloom_quality = vals[valsIndex];
Text{text: qsTr("Bloom Quality")}
Slider{
id: bloomQualitySlider
Layout.fillWidth: true
onValueChanged: parent.valsIndex = value;
stepSize: 1
Component.onCompleted: {
minimumValue = 0;
maximumValue = 2;
value = parent.vals.indexOf(shadersettings.bloom_quality);
}
Connections{
target: shadersettings
onBloom_qualityChanged:
bloomQualityContainer.valsIndex = bloomQualityContainer.vals.indexOf(shadersettings.bloom_quality);
}
}
Text{
text: parent.valsStrings[parent.valsIndex];
}
}
}
GroupBox{ GroupBox{
title: qsTr("Frame") title: qsTr("Frame")
Layout.fillWidth: true Layout.fillWidth: true
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
CheckBox{ CheckBox{
checked: !shadersettings._frameReflections checked: shadersettings._frameReflections
text: qsTr("Disable reflections") text: qsTr("Frame Reflections")
onCheckedChanged: shadersettings._frameReflections = !checked onCheckedChanged: shadersettings._frameReflections = checked
enabled: shadersettings.reflectionsAllowed
} }
} }
} }