Allow shaders to be disabled/set through a commandline option.
Use --prop:/sim/rendering/shaders/quality-level=-1 to enable the custom settings in the Shader Options dialog. Apart from that the quality-level property will work as before (0 disables all shaders, 5 puts all shaders to max.
This commit is contained in:
parent
73f39837c4
commit
8e863bbd28
4 changed files with 129 additions and 108 deletions
|
@ -1316,3 +1316,37 @@ _setlistener("/sim/sound/chatter/enabled", func {
|
||||||
setprop("/nasal/atc-chatter/enabled", getprop("/sim/sound/chatter/enabled"));
|
setprop("/nasal/atc-chatter/enabled", getprop("/sim/sound/chatter/enabled"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
##
|
||||||
|
# overwrite custom shader settings when quality-level is set on startup
|
||||||
|
var qualityLevel = getprop("/sim/rendering/shaders/quality-level");
|
||||||
|
if (qualityLevel == -1) {
|
||||||
|
setprop("/sim/rendering/shaders/custom-settings",1);
|
||||||
|
}
|
||||||
|
elsif (qualityLevel != nil) {
|
||||||
|
setprop("/sim/rendering/shaders/custom-settings",0);
|
||||||
|
setprop("/sim/rendering/shaders/quality-level-internal",qualityLevel);
|
||||||
|
}
|
||||||
|
# overwrite custom shader settings when quality-level is set through the slider
|
||||||
|
# in the Rendering Options dialog
|
||||||
|
var update_shader_settings = func() {
|
||||||
|
if (!getprop("/sim/rendering/shaders/custom-settings")){
|
||||||
|
var qualityLvl = getprop("/sim/rendering/shaders/quality-level-internal");
|
||||||
|
setprop("/sim/rendering/shaders/landmass",qualityLvl);
|
||||||
|
setprop("/sim/rendering/shaders/urban",qualityLvl);
|
||||||
|
setprop("/sim/rendering/shaders/water",qualityLvl);
|
||||||
|
if (qualityLvl >= 3.0){
|
||||||
|
qualityLvl = 3.0;
|
||||||
|
}
|
||||||
|
setprop("/sim/rendering/shaders/model",qualityLvl);
|
||||||
|
if (qualityLvl >= 1.0){
|
||||||
|
qualityLvl = 1.0;
|
||||||
|
}
|
||||||
|
setprop("/sim/rendering/shaders/contrails",qualityLvl);
|
||||||
|
setprop("/sim/rendering/shaders/crop",qualityLvl);
|
||||||
|
setprop("/sim/rendering/shaders/generic",qualityLvl);
|
||||||
|
setprop("/sim/rendering/shaders/transition",qualityLvl);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
_setlistener("/sim/rendering/shaders/custom-settings", func { update_shader_settings() } );
|
||||||
|
_setlistener("/sim/rendering/shaders/quality-level-internal", func { update_shader_settings() } );
|
||||||
|
update_shader_settings();
|
|
@ -204,6 +204,9 @@
|
||||||
<halign>right</halign>
|
<halign>right</halign>
|
||||||
<text>
|
<text>
|
||||||
<label>Vegetation density</label>
|
<label>Vegetation density</label>
|
||||||
|
<enable>
|
||||||
|
<property>/sim/rendering/random-vegetation</property>
|
||||||
|
</enable>
|
||||||
</text>
|
</text>
|
||||||
<slider>
|
<slider>
|
||||||
<name>vegetation-density</name>
|
<name>vegetation-density</name>
|
||||||
|
@ -220,6 +223,9 @@
|
||||||
<format>%.2f</format>
|
<format>%.2f</format>
|
||||||
<live>true</live>
|
<live>true</live>
|
||||||
<property>/sim/rendering/vegetation-density</property>
|
<property>/sim/rendering/vegetation-density</property>
|
||||||
|
<enable>
|
||||||
|
<property>/sim/rendering/random-vegetation</property>
|
||||||
|
</enable>
|
||||||
</text>
|
</text>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
|
@ -280,9 +286,6 @@
|
||||||
</text>
|
</text>
|
||||||
<slider>
|
<slider>
|
||||||
<name>cloud-density</name>
|
<name>cloud-density</name>
|
||||||
<enable>
|
|
||||||
<property>/sim/rendering/clouds3d-enable</property>
|
|
||||||
</enable>
|
|
||||||
<min>0</min>
|
<min>0</min>
|
||||||
<max>1.0</max>
|
<max>1.0</max>
|
||||||
<property>/sim/rendering/clouds3d-density</property>
|
<property>/sim/rendering/clouds3d-density</property>
|
||||||
|
@ -321,9 +324,6 @@
|
||||||
</text>
|
</text>
|
||||||
<slider>
|
<slider>
|
||||||
<name>cloud-vis-range</name>
|
<name>cloud-vis-range</name>
|
||||||
<enable>
|
|
||||||
<property>/sim/rendering/clouds3d-enable</property>
|
|
||||||
</enable>
|
|
||||||
<min>1000.0</min>
|
<min>1000.0</min>
|
||||||
<max>45000.0</max>
|
<max>45000.0</max>
|
||||||
<property>/sim/rendering/clouds3d-vis-range</property>
|
<property>/sim/rendering/clouds3d-vis-range</property>
|
||||||
|
@ -367,90 +367,84 @@
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group>
|
<group>
|
||||||
<layout>vbox</layout>
|
<layout>table</layout>
|
||||||
<padding>4</padding>
|
|
||||||
<text>
|
|
||||||
<padding>0</padding>
|
|
||||||
<label>This slider overrides custom settings as set in</label>
|
|
||||||
<halign>left</halign>
|
|
||||||
</text>
|
|
||||||
<text>
|
|
||||||
<padding>0</padding>
|
|
||||||
<label>the (advanced) Shader Options dialog.</label>
|
|
||||||
<halign>left</halign>
|
|
||||||
</text>
|
|
||||||
</group>
|
|
||||||
|
|
||||||
<group>
|
<checkbox>
|
||||||
<layout>hbox</layout>
|
<halign>left</halign>
|
||||||
|
<row>0</row>
|
||||||
<text>
|
<col>0</col>
|
||||||
<label>Performance</label>
|
<label>Custom settings (fine-tuning)</label>
|
||||||
</text>
|
<name>custom-settings</name>
|
||||||
<slider>
|
<property>/sim/rendering/shaders/custom-settings</property>
|
||||||
<name>quality-level</name>
|
|
||||||
<min>0.0</min>
|
|
||||||
<max>5.0</max>
|
|
||||||
<step>1.0</step>
|
|
||||||
<fraction>0.17</fraction>
|
|
||||||
<property>/sim/rendering/shaders/quality-level</property>
|
|
||||||
<binding>
|
<binding>
|
||||||
<command>dialog-apply</command>
|
<command>dialog-apply</command>
|
||||||
<object-name>quality-level</object-name>
|
<object-name>custom-settings</object-name>
|
||||||
</binding>
|
</binding>
|
||||||
</slider>
|
</checkbox>
|
||||||
<text>
|
|
||||||
<label>Quality</label>
|
|
||||||
</text>
|
|
||||||
<text>
|
|
||||||
<label>12345678</label>
|
|
||||||
<format>(%1.0f)</format>
|
|
||||||
<live>true</live>
|
|
||||||
<property>/sim/rendering/shaders/quality-level</property>
|
|
||||||
</text>
|
|
||||||
</group>
|
|
||||||
|
|
||||||
<group>
|
|
||||||
<layout>hbox</layout>
|
|
||||||
<button>
|
|
||||||
<legend>Shader Options</legend>
|
|
||||||
<binding>
|
|
||||||
<command>dialog-show</command>
|
|
||||||
<dialog-name>shaders</dialog-name>
|
|
||||||
</binding>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<group>
|
<group>
|
||||||
<layout>vbox</layout>
|
<layout>hbox</layout>
|
||||||
|
<row>1</row>
|
||||||
|
<col>0</col>
|
||||||
|
<visible>
|
||||||
|
<not>
|
||||||
|
<property>/sim/rendering/shaders/custom-settings</property>
|
||||||
|
</not>
|
||||||
|
</visible>
|
||||||
|
|
||||||
|
<layout>hbox</layout>
|
||||||
|
|
||||||
<text>
|
<text>
|
||||||
<visible>
|
<label>Performance</label>
|
||||||
<not>
|
</text>
|
||||||
<property>/sim/rendering/shaders/quality-level</property>
|
<slider>
|
||||||
</not>
|
<name>quality-level</name>
|
||||||
</visible>
|
<min>0.0</min>
|
||||||
<label>Adjust the slider </label>
|
<max>5.0</max>
|
||||||
<halign>left</halign>
|
<step>1.0</step>
|
||||||
<color>
|
<fraction>0.17</fraction>
|
||||||
<red>1.0</red>
|
<property>/sim/rendering/shaders/quality-level-internal</property>
|
||||||
<green>0.6</green>
|
<binding>
|
||||||
<blue>0.6</blue>
|
<command>dialog-apply</command>
|
||||||
</color>
|
<object-name>quality-level</object-name>
|
||||||
|
</binding>
|
||||||
|
</slider>
|
||||||
|
<text>
|
||||||
|
<label>Quality</label>
|
||||||
</text>
|
</text>
|
||||||
<text>
|
<text>
|
||||||
<visible>
|
<label>12345678</label>
|
||||||
<not>
|
<format>(%1.0f)</format>
|
||||||
<property>/sim/rendering/shaders/quality-level</property>
|
<live>true</live>
|
||||||
</not>
|
<property>/sim/rendering/shaders/quality-level-internal</property>
|
||||||
</visible>
|
|
||||||
<label>to enable shaders.</label>
|
|
||||||
<halign>left</halign>
|
|
||||||
<color>
|
|
||||||
<red>1.0</red>
|
|
||||||
<green>0.6</green>
|
|
||||||
<blue>0.6</blue>
|
|
||||||
</color>
|
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>hbox</layout>
|
||||||
|
<row>1</row>
|
||||||
|
<col>0</col>
|
||||||
|
<visible>
|
||||||
|
<property>/sim/rendering/shaders/custom-settings</property>
|
||||||
|
</visible>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<legend>Shader Options</legend>
|
||||||
|
<halign>left</halign>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-show</command>
|
||||||
|
<dialog-name>shaders</dialog-name>
|
||||||
|
</binding>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
<dialog-name>rendering</dialog-name>
|
||||||
|
</binding>
|
||||||
|
<pref-width>200</pref-width>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group>
|
<group>
|
||||||
|
@ -606,25 +600,6 @@
|
||||||
<nasal>
|
<nasal>
|
||||||
<open>
|
<open>
|
||||||
gui.enable_widgets(cmdarg(), "shadows-debug", getprop("/sim/gui/devel-widgets"));
|
gui.enable_widgets(cmdarg(), "shadows-debug", getprop("/sim/gui/devel-widgets"));
|
||||||
|
|
||||||
# overwrite custom shader settings on quality-slider input
|
|
||||||
_setlistener("/sim/rendering/shaders/quality-level", func {
|
|
||||||
var qualityLevel = getprop("/sim/rendering/shaders/quality-level");
|
|
||||||
setprop("/sim/rendering/shaders/landmass",qualityLevel);
|
|
||||||
setprop("/sim/rendering/shaders/urban",qualityLevel);
|
|
||||||
setprop("/sim/rendering/shaders/water",qualityLevel);
|
|
||||||
if (qualityLevel >= 3.0){
|
|
||||||
qualityLevel = 3.0;
|
|
||||||
}
|
|
||||||
setprop("/sim/rendering/shaders/model",qualityLevel);
|
|
||||||
if (qualityLevel >= 1.0){
|
|
||||||
qualityLevel = 1.0;
|
|
||||||
}
|
|
||||||
setprop("/sim/rendering/shaders/contrails",qualityLevel);
|
|
||||||
setprop("/sim/rendering/shaders/crop",qualityLevel);
|
|
||||||
setprop("/sim/rendering/shaders/generic",qualityLevel);
|
|
||||||
setprop("/sim/rendering/shaders/transition",qualityLevel);
|
|
||||||
});
|
|
||||||
</open>
|
</open>
|
||||||
</nasal>
|
</nasal>
|
||||||
</PropertyList>
|
</PropertyList>
|
||||||
|
|
|
@ -332,13 +332,24 @@
|
||||||
|
|
||||||
<hrule/>
|
<hrule/>
|
||||||
|
|
||||||
<button>
|
<group>
|
||||||
<legend>Close</legend>
|
<layout>hbox</layout>
|
||||||
<default>true</default>
|
|
||||||
<key>Esc</key>
|
<button>
|
||||||
<binding>
|
<legend>Back</legend>
|
||||||
<command>dialog-close</command>
|
<binding>
|
||||||
</binding>
|
<command>dialog-show</command>
|
||||||
</button>
|
<dialog-name>rendering</dialog-name>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
<button>
|
||||||
|
<legend>Close</legend>
|
||||||
|
<default>true</default>
|
||||||
|
<key>Esc</key>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
</group>
|
||||||
|
|
||||||
</PropertyList>
|
</PropertyList>
|
||||||
|
|
|
@ -69,6 +69,7 @@ Started September 2000 by David Megginson, david@megginson.com
|
||||||
<realism type="int">5</realism>
|
<realism type="int">5</realism>
|
||||||
<filtering type="int">8</filtering>
|
<filtering type="int">8</filtering>
|
||||||
<shaders>
|
<shaders>
|
||||||
|
<custom-settings type="bool" userarchive="y">false</custom-settings>
|
||||||
<generic type="float" userarchive="y">1.0</generic>
|
<generic type="float" userarchive="y">1.0</generic>
|
||||||
<landmass type="float" userarchive="y">1.0</landmass>
|
<landmass type="float" userarchive="y">1.0</landmass>
|
||||||
<model type="float" userarchive="y">1.0</model>
|
<model type="float" userarchive="y">1.0</model>
|
||||||
|
@ -78,7 +79,7 @@ Started September 2000 by David Megginson, david@megginson.com
|
||||||
<transition type="float" userarchive="y">1.0</transition>
|
<transition type="float" userarchive="y">1.0</transition>
|
||||||
<urban type="float" userarchive="y">1.0</urban>
|
<urban type="float" userarchive="y">1.0</urban>
|
||||||
<water type="float" userarchive="y">1.0</water>
|
<water type="float" userarchive="y">1.0</water>
|
||||||
<quality-level type="float" userarchive="y">3.0</quality-level>
|
<quality-level-internal type="float" userarchive="y">3.0</quality-level-internal>
|
||||||
</shaders>
|
</shaders>
|
||||||
<mie type="float"
|
<mie type="float"
|
||||||
userarchive="y">0.003</mie>
|
userarchive="y">0.003</mie>
|
||||||
|
|
Loading…
Add table
Reference in a new issue