1
0
Fork 0

Hide unsupported shader options when using lightfield or Rembrandt renderer.

This commit is contained in:
Gijs de Rooy 2012-06-20 23:11:26 +02:00
parent 88ff1a99be
commit 38b38aeee2
3 changed files with 515 additions and 189 deletions

View file

@ -327,53 +327,6 @@
<subsystem>tile-manager</subsystem>
</binding>
</button>
<group>
<layout>hbox</layout>
<text>
<label>Rembrandt</label>
<halign>left</halign>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</text>
<text>
<label>(Experimental)</label>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</text>
<hrule>
<stretch>true</stretch>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</hrule>
</group>
<button>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
<legend>Rembrandt Options</legend>
<halign>center</halign>
<binding>
<command>dialog-show</command>
<dialog-name>rembrandt</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
<group>
<layout>vbox</layout>
@ -456,7 +409,12 @@
<row>1</row>
<col>0</col>
<visible>
<property>/sim/rendering/shaders/custom-settings</property>
<and>
<property>/sim/rendering/shaders/custom-settings</property>
<not>
<property>/sim/rendering/shaders/skydome</property>
</not>
</and>
</visible>
<button>
@ -474,6 +432,35 @@
</button>
</group>
<group>
<layout>hbox</layout>
<row>1</row>
<col>0</col>
<visible>
<and>
<property>/sim/rendering/shaders/custom-settings</property>
<property>/sim/rendering/shaders/skydome</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</and>
</visible>
<button>
<legend>Shader Options</legend>
<halign>left</halign>
<binding>
<command>dialog-show</command>
<dialog-name>shaders-lightfield</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
</group>
</group>
<group>
@ -602,25 +589,46 @@
</group>
<group>
<layout>hbox</layout>
<halign>left</halign>
<checkbox>
<layout>table</layout>
<group>
<layout>hbox</layout>
<halign>left</halign>
<label>Atmospheric light scattering</label>
<name>skydome-scattering</name>
<visible>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</visible>
<property>/sim/rendering/shaders/skydome</property>
<binding>
<command>dialog-apply</command>
<object-name>skydome-scattering</object-name>
</binding>
</checkbox>
<row>0</row>
<col>0</col>
<checkbox>
<halign>left</halign>
<label>Atmospheric light scattering</label>
<name>skydome-scattering</name>
<visible>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</visible>
<property>/sim/rendering/shaders/skydome</property>
<binding>
<command>dialog-apply</command>
<object-name>skydome-scattering</object-name>
</binding>
</checkbox>
<text>
<label>(Experimental)</label>
<visible>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</visible>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
</text>
</group>
<text>
<label>(Experimental)</label>
<row>1</row>
<col>0</col>
<label>This disables most effects/shaders.</label>
<halign>left</halign>
<visible>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
@ -632,123 +640,58 @@
<blue>0.6</blue>
</color>
</text>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<visible>
<not>
<group>
<layout>hbox</layout>
<row>0</row>
<col>0</col>
<text>
<label>Rembrandt</label>
<halign>left</halign>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</text>
<text>
<label>(Experimental)</label>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</text>
<hrule>
<stretch>true</stretch>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</hrule>
</group>
<button>
<row>1</row>
<col>0</col>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</visible>
<text>
<label>Mie factor</label>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
</text>
<slider>
<name>mie-factor</name>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<min>0.0</min>
<max>0.01</max>
<step>0.001</step>
<property>/sim/rendering/mie</property>
</visible>
<legend>Rembrandt Options</legend>
<halign>center</halign>
<binding>
<command>dialog-apply</command>
<object-name>mie-factor</object-name>
<command>dialog-show</command>
<dialog-name>rembrandt</dialog-name>
</binding>
</slider>
<text>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<label>12345678</label>
<format>%.3f</format>
<live>true</live>
<property>/sim/rendering/mie</property>
</text>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<visible>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</visible>
<text>
<label>Rayleigh factor</label>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
</text>
<slider>
<name>rayleigh-factor</name>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<min>0.0</min>
<max>0.001</max>
<step>0.0001</step>
<property>/sim/rendering/rayleigh</property>
<binding>
<command>dialog-apply</command>
<object-name>rayleigh-factor</object-name>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
</slider>
<text>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<label>12345678</label>
<format>%.4f</format>
<live>true</live>
<property>/sim/rendering/rayleigh</property>
</text>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<visible>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</visible>
<text>
<label>Density factor</label>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
</text>
<slider>
<name>density-factor</name>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<min>0.0</min>
<max>1.0</max>
<step>0.1</step>
<property>/sim/rendering/dome-density</property>
<binding>
<command>dialog-apply</command>
<object-name>density-factor</object-name>
</binding>
</slider>
<text>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<label>12345678</label>
<format>%.1f</format>
<live>true</live>
<property>/sim/rendering/dome-density</property>
</text>
<pref-width>200</pref-width>
</button>
</group>
<empty>

View file

@ -0,0 +1,323 @@
<?xml version="1.0"?>
<PropertyList>
<name>shaders-lightfield</name>
<modal>false</modal>
<layout>vbox</layout>
<padding>20</padding>
<group>
<layout>hbox</layout>
<empty>
<stretch>1</stretch>
</empty>
<text>
<label>Shader options</label>
</text>
<empty>
<stretch>1</stretch>
</empty>
<button>
<pref-width>16</pref-width>
<pref-height>16</pref-height>
<legend></legend>
<keynum>27</keynum>
<border>2</border>
<binding>
<command>dialog-close</command>
</binding>
</button>
</group>
<hrule/>
<group>
<layout>hbox</layout>
<text>
<label>General</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<text>
<halign>left</halign>
<label>Landmass</label>
</text>
<slider>
<name>landmass</name>
<min>0.0</min>
<max>5.0</max>
<step>1.0</step>
<fraction>0.17</fraction>
<live>true</live>
<property>/sim/rendering/shaders/landmass</property>
<binding>
<command>dialog-apply</command>
<object-name>landmass</object-name>
</binding>
</slider>
<empty>
<pref-width>55</pref-width>
</empty>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<text>
<label>Water</label>
</text>
<slider>
<name>water</name>
<min>0.0</min>
<max>5.0</max>
<step>1.0</step>
<fraction>0.17</fraction>
<live>true</live>
<property>/sim/rendering/shaders/water</property>
<binding>
<command>dialog-apply</command>
<object-name>water</object-name>
</binding>
</slider>
<empty>
<pref-width>55</pref-width>
</empty>
</group>
<group>
<layout>hbox</layout>
<visible>
<not>
<property>/local-weather/tiles/tile-counter</property>
</not>
</visible>
<text>
<label>Atmospheric effects</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<visible>
<not>
<property>/local-weather/tiles/tile-counter</property>
</not>
</visible>
<text>
<label>Mie factor</label>
</text>
<slider>
<name>mie-factor</name>
<min>0.0</min>
<max>0.01</max>
<step>0.001</step>
<live>true</live>
<property>/sim/rendering/mie</property>
<binding>
<command>dialog-apply</command>
<object-name>mie-factor</object-name>
</binding>
</slider>
<text>
<label>12345678</label>
<format>%.3f</format>
<live>true</live>
<property>/sim/rendering/mie</property>
</text>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<visible>
<not>
<property>/local-weather/tiles/tile-counter</property>
</not>
</visible>
<text>
<label>Rayleigh factor</label>
</text>
<slider>
<name>rayleigh-factor</name>
<min>0.0</min>
<max>0.001</max>
<step>0.0001</step>
<property>/sim/rendering/rayleigh</property>
<binding>
<command>dialog-apply</command>
<object-name>rayleigh-factor</object-name>
</binding>
</slider>
<text>
<label>12345678</label>
<format>%.4f</format>
<live>true</live>
<property>/sim/rendering/rayleigh</property>
</text>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<visible>
<not>
<property>/local-weather/tiles/tile-counter</property>
</not>
</visible>
<text>
<label>Density factor</label>
</text>
<slider>
<name>density-factor</name>
<min>0.0</min>
<max>1.0</max>
<step>0.1</step>
<property>/sim/rendering/dome-density</property>
<binding>
<command>dialog-apply</command>
<object-name>density-factor</object-name>
</binding>
</slider>
<text>
<label>12345678</label>
<format>%.1f</format>
<live>true</live>
<property>/sim/rendering/dome-density</property>
</text>
</group>
<group>
<layout>hbox</layout>
<text>
<label>Aircraft</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<nasal>
<open>
if (props.globals.getNode("/sim/rendering/shaders/aircraft") != nil) {
var group = cmdarg().getChildren("group")[9];
group.removeChildren("slider");
group.removeChildren("hrule");
group.removeChildren("text");
var shaders = props.globals.getNode("/sim/rendering/shaders/aircraft").getChildren();
for(i=0; size(shaders) > i; i+=1) {
var fraction = 0.5;
var min = 0;
var max = 1;
var step = 1;
var name = shaders[i].getNode("name");
if (shaders[i].getNode("step") != nil){
step = shaders[i].getNode("step");
}
if (shaders[i].getNode("min") != nil){
min = shaders[i].getNode("min");
}
if (shaders[i].getNode("max") != nil){
max = shaders[i].getNode("max");
}
if (min != nil and max != nil and step != nil){
fraction = step/(max+step);
}
var target = group.getChild("slider", i, 1);
props.copy(group.getNode("slider-template"), target);
target.getNode("label").setValue(name != nil ? name.getValue() : (shaders[i].getName()));
target.getNode("name").setValue("aircraftshader"~i);
target.getNode("binding").getNode("object-name").setValue("aircraftshader"~i);
target.getNode("min").setValue(min);
target.getNode("max").setValue(max);
target.getNode("step").setValue(step);
target.getNode("fraction").setValue(fraction);
target.getNode("property").setValue(shaders[i].getPath()~"/quality-level");
}
}
</open>
</nasal>
<group>
<layout>vbox</layout>
<halign>left</halign>
<slider-template>
<name>
<!---->
</name>
<label>
<!---->
</label>
<min>
<!---->
</min>
<max>
<!---->
</max>
<step>
<!---->
</step>
<fraction>
<!---->
</fraction>
<property>
<!---->
</property>
<binding>
<command>dialog-apply</command>
<object-name>
<!---->
</object-name>
</binding>
</slider-template>
</group>
<hrule/>
<group>
<layout>hbox</layout>
<button>
<legend>Back</legend>
<binding>
<command>dialog-show</command>
<dialog-name>rendering</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
</binding>
</button>
<button>
<legend>Close</legend>
<default>true</default>
<key>Esc</key>
<binding>
<command>dialog-close</command>
</binding>
</button>
</group>
</PropertyList>

View file

@ -56,7 +56,9 @@
<halign>left</halign>
<label>Generic</label>
<enable>
<property>/sim/rendering/shaders/generic</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
</text>
@ -64,7 +66,9 @@
<halign>left</halign>
<label>Crop</label>
<enable>
<property>/sim/rendering/shaders/crop</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
</text>
@ -72,7 +76,9 @@
<halign>left</halign>
<label>Landmass</label>
<enable>
<property>/sim/rendering/shaders/landmass</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
</text>
@ -80,7 +86,9 @@
<halign>left</halign>
<label>Persistent contrails</label>
<enable>
<property>/sim/rendering/shaders/contrails</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
</text>
@ -88,31 +96,29 @@
<halign>left</halign>
<label>Transition</label>
<enable>
<property>/sim/rendering/shaders/transition</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
</text>
<text>
<halign>left</halign>
<label>Model</label>
<enable>
<property>/sim/rendering/shaders/model</property>
</enable>
</text>
<text>
<halign>left</halign>
<label>Urban</label>
<enable>
<property>/sim/rendering/shaders/urban</property>
</enable>
</text>
<text>
<halign>left</halign>
<label>Water</label>
<enable>
<property>/sim/rendering/shaders/water</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
</text>
@ -123,6 +129,11 @@
<slider>
<name>generic</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<min>0.0</min>
<max>1.0</max>
<step>1.0</step>
@ -137,6 +148,11 @@
<slider>
<name>crop</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<min>0.0</min>
<max>1.0</max>
<step>1.0</step>
@ -151,6 +167,11 @@
<slider>
<name>landmass</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<min>0.0</min>
<max>5.0</max>
<step>1.0</step>
@ -165,6 +186,11 @@
<slider>
<name>contrails</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<min>0.0</min>
<max>1.0</max>
<step>1.0</step>
@ -179,6 +205,11 @@
<slider>
<name>transition</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<min>0.0</min>
<max>1.0</max>
<step>1.0</step>
@ -221,6 +252,11 @@
<slider>
<name>water</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<min>0.0</min>
<max>5.0</max>
<step>1.0</step>
@ -236,6 +272,30 @@
</group>
</group>
<text>
<label>Some shaders are disabled because</label>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</text>
<text>
<halign>left</halign>
<label>you have Rembrandt enabled.</label>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</text>
<group>
<layout>hbox</layout>