1
0
Fork 0

Photoscenery: Initial commit

Author: Nathaniel Warner
This commit is contained in:
Scott Giese 2020-11-23 19:48:01 -06:00
parent 580e1d4859
commit 76f7f1b698
20 changed files with 368 additions and 159 deletions

View file

@ -153,6 +153,10 @@
<predicate>
<and>
<property>/sim/rendering/shaders/skydome</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<and>
<less-equal>
<value type="float">6.0</value>
@ -162,7 +166,7 @@
<value type="float">6.0</value>
<float-property>/sim/rendering/shaders/transition</float-property>
</less-equal>
<less-equal>
<less-equal>
<value type="float">1.0</value>
<float-property>/sim/rendering/shaders/crop</float-property>
</less-equal>

View file

@ -147,6 +147,10 @@
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<attribute>
<name>orthophotoTexCoord</name>
<index>14</index>
</attribute>
</program>
<uniform>
<name>visibility</name>
@ -621,6 +625,11 @@
<type>int</type>
<value>2</value> <!-- AMBIENT_AND_DIFFUSE -->
</uniform>
<uniform>
<name>orthophotoTexture</name>
<type>sampler-2d</type>
<value type="int">15</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>

View file

@ -23,8 +23,12 @@
<technique n="9">
<predicate>
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/crop</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<or>
<less-equal>
<value type="float">2.0</value>

View file

@ -73,8 +73,12 @@
<technique n="9">
<predicate>
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/transition</property>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/transition</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<or>
<less-equal>
<value type="float">2.0</value>

View file

@ -140,6 +140,10 @@
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<attribute>
<name>orthophotoTexCoord</name>
<index>14</index>
</attribute>
</program>
<uniform>
<name>visibility</name>
@ -614,6 +618,11 @@
<type>int</type>
<value>2</value> <!-- AMBIENT_AND_DIFFUSE -->
</uniform>
<uniform>
<name>orthophotoTexture</name>
<type>sampler-2d</type>
<value type="int">15</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>

View file

@ -50,6 +50,10 @@
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/landmass</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<less-equal>
<value type="float">4.0</value>
<float-property>/sim/rendering/shaders/landmass</float-property>
@ -384,6 +388,10 @@
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/landmass</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<or>
<less-equal>
<value type="float">2.0</value>

View file

@ -330,6 +330,10 @@
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<attribute>
<name>orthophotoTexCoord</name>
<index>14</index>
</attribute>
</program>
<uniform>
<name>grain_strength</name>
@ -835,6 +839,11 @@
<value>2</value>
<!-- AMBIENT_AND_DIFFUSE -->
</uniform>
<uniform>
<name>orthophotoTexture</name>
<type>sampler-2d</type>
<value type="int">15</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>
@ -973,6 +982,10 @@
<fragment-shader>Shaders/hazes.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<attribute>
<name>orthophotoTexCoord</name>
<index>14</index>
</attribute>
</program>
<uniform>
<name>visibility</name>
@ -1161,6 +1174,11 @@
<value>2</value>
<!-- AMBIENT_AND_DIFFUSE -->
</uniform>
<uniform>
<name>orthophotoTexture</name>
<type>sampler-2d</type>
<value type="int">15</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>
@ -1279,9 +1297,13 @@
<vertex-shader>Shaders/shadows-include.vert</vertex-shader>
<fragment-shader>Shaders/terrain-ALS-base.frag</fragment-shader>
<fragment-shader>Shaders/hazes.frag</fragment-shader>
<fragment-shader>Shaders/noise.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<fragment-shader>Shaders/noise.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<attribute>
<name>orthophotoTexCoord</name>
<index>14</index>
</attribute>
</program>
<uniform>
<name>visibility</name>
@ -1405,6 +1427,11 @@
<value>2</value>
<!-- AMBIENT_AND_DIFFUSE -->
</uniform>
<uniform>
<name>orthophotoTexture</name>
<type>sampler-2d</type>
<value type="int">15</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>
@ -1436,8 +1463,13 @@
<technique n="11">
<predicate>
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/generic</property>
<or>
<property>/sim/rendering/photoscenery/enabled</property>
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/generic</property>
</and>
</or>
<or>
<less-equal>
<value type="float">2.0</value>
@ -1529,6 +1561,10 @@
<fragment-shader>Shaders/default.frag</fragment-shader>
<fragment-shader>Shaders/include_fog.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<attribute>
<name>orthophotoTexCoord</name>
<index>14</index>
</attribute>
</program>
<uniform>
<name>visibility</name>
@ -1571,6 +1607,11 @@
<value>2</value>
<!-- AMBIENT_AND_DIFFUSE -->
</uniform>
<uniform>
<name>orthophotoTexture</name>
<type>sampler-2d</type>
<value type="int">15</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>

View file

@ -160,6 +160,10 @@
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<attribute>
<name>orthophotoTexCoord</name>
<index>14</index>
</attribute>
</program>
<uniform>
<name>grain_strength</name>
@ -665,6 +669,11 @@
<value>2</value>
<!-- AMBIENT_AND_DIFFUSE -->
</uniform>
<uniform>
<name>orthophotoTexture</name>
<type>sampler-2d</type>
<value type="int">15</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>

View file

@ -54,6 +54,10 @@
<and>
<property>/sim/rendering/shaders/skydome</property>
<property>/sim/rendering/shaders/urban</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<less-equal>
<value type="float">4.0</value>
<float-property>/sim/rendering/shaders/urban</float-property>
@ -780,6 +784,10 @@
<and>
<property>/sim/rendering/shaders/skydome</property>
<property>/sim/rendering/shaders/urban</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<less-equal>
<value type="float">1.0</value>
<float-property>/sim/rendering/shaders/urban</float-property>
@ -1460,6 +1468,10 @@
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/urban</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<less-equal>
<value type="float">4.0</value>
<float-property>/sim/rendering/shaders/urban</float-property>
@ -1748,6 +1760,10 @@
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/urban</property>
<equal>
<value type="float">0.0</value>
<float-property>/sim/rendering/photoscenery/enabled</float-property>
</equal>
<less-equal>
<value type="float">1.0</value>
<float-property>/sim/rendering/shaders/urban</float-property>

View file

@ -9,11 +9,13 @@ varying vec3 relPos;
varying vec3 worldPos;
varying vec2 rawPos;
varying vec3 ecViewdir;
varying vec2 orthoTexCoord;
uniform sampler2D texture;
uniform sampler2D overlay_texture;
uniform sampler2D grain_texture;
uniform sampler2D orthophotoTexture;
varying float steepness;
@ -54,6 +56,8 @@ uniform int use_searchlight;
uniform int use_landing_light;
uniform int use_alt_landing_light;
uniform bool orthophotoAvailable;
const float EarthRadius = 5800000.0;
const float terminator_width = 200000.0;
@ -163,6 +167,13 @@ float noise_2000m = Noise3D(worldPos.xyz, 2000.0);
texel = texture2D(texture, gl_TexCoord[0].st * base_layer_magnification);
float local_autumn_factor = texel.a;
if (orthophotoAvailable) {
vec4 sat_texel = texture2D(orthophotoTexture, orthoTexCoord);
if (sat_texel.a > 0) {
texel.rgb = sat_texel.rgb;
}
}
float distortion_factor = 1.0;
float noise_term;
float snow_alpha;

View file

@ -5,12 +5,16 @@
varying vec4 diffuse_term;
varying vec3 normal;
varying vec2 orthoTexCoord;
uniform sampler2D texture;
uniform sampler2D orthophotoTexture;
////fog "include" /////
uniform int fogType;
uniform bool orthophotoAvailable;
vec3 fog_Func(vec3 color, int type);
//////////////////////
@ -54,6 +58,14 @@ void main()
// is closer to what the OpenGL fixed function pipeline does.
color = clamp(color, 0.0, 1.0);
texel = texture2D(texture, gl_TexCoord[0].st);
if (orthophotoAvailable) {
vec4 sat_texel = texture2D(orthophotoTexture, orthoTexCoord);
if (sat_texel.a > 0) {
texel.rgb = sat_texel.rgb;
}
}
fragColor = color * texel + specular;
fragColor.rgb = fog_Func(fragColor.rgb, fogType);

View file

@ -12,12 +12,15 @@
#define MODE_DIFFUSE 1
#define MODE_AMBIENT_AND_DIFFUSE 2
attribute vec2 orthophotoTexCoord;
// The constant term of the lighting equation that doesn't depend on
// the surface normal is passed in gl_{Front,Back}Color. The alpha
// component is set to 1 for front, 0 for back in order to work around
// bugs with gl_FrontFacing in the fragment shader.
varying vec4 diffuse_term;
varying vec3 normal;
varying vec2 orthoTexCoord;
uniform int colorMode;
@ -33,6 +36,7 @@ void main()
{
gl_Position = ftransform();
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
orthoTexCoord = orthophotoTexCoord;
normal = gl_NormalMatrix * gl_Normal;
vec4 ambient_color, diffuse_color;
if (colorMode == MODE_DIFFUSE) {

View file

@ -15,6 +15,8 @@
#define MODE_DIFFUSE 1
#define MODE_AMBIENT_AND_DIFFUSE 2
attribute vec2 orthophotoTexCoord;
// The constant term of the lighting equation that doesn't depend on
// the surface normal is passed in gl_{Front,Back}Color. The alpha
// component is set to 1 for front, 0 for back in order to work around
@ -22,6 +24,7 @@
varying vec4 diffuse_term;
varying vec3 normal;
varying vec3 relPos;
varying vec2 orthoTexCoord;
varying float yprime_alt;
varying float mie_angle;

View file

@ -9,10 +9,12 @@ varying vec3 relPos;
uniform sampler2D texture;
uniform sampler2D orthophotoTexture;
varying float yprime_alt;
varying float mie_angle;
varying vec2 orthoTexCoord;
uniform float visibility;
@ -25,6 +27,8 @@ uniform float overcast;
uniform float eye_alt;
uniform float cloud_self_shading;
uniform bool orthophotoAvailable;
const float EarthRadius = 5800000.0;
const float terminator_width = 200000.0;
@ -86,6 +90,14 @@ void main()
// is closer to what the OpenGL fixed function pipeline does.
color = clamp(color, 0.0, 1.0);
texel = texture2D(texture, gl_TexCoord[0].st);
if (orthophotoAvailable) {
vec4 sat_texel = texture2D(orthophotoTexture, orthoTexCoord);
if (sat_texel.a > 0) {
texel.rgb = sat_texel.rgb;
}
}
fragColor = color * texel + specular;

View file

@ -8,12 +8,14 @@ varying vec3 normal;
varying vec3 relPos;
varying vec2 rawPos;
varying vec3 worldPos;
varying vec2 orthoTexCoord;
uniform sampler2D texture;
uniform sampler2D detail_texture;
uniform sampler2D mix_texture;
uniform sampler2D orthophotoTexture;
//varying float yprime_alt;
//varying float mie_angle;
@ -41,6 +43,8 @@ uniform float hires_overlay_bias;
uniform int quality_level;
uniform int tquality_level;
uniform bool orthophotoAvailable;
const float EarthRadius = 5800000.0;
const float terminator_width = 200000.0;
@ -123,14 +127,24 @@ float noise_2000m = Noise3D(worldPos.xyz, 2000.0);
// get the texels
int flag = 1;
int mix_flag = 1;
texel = texture2D(texture, gl_TexCoord[0].st);
float local_autumn_factor = texel.a;
if (orthophotoAvailable) {
vec4 sat_texel = texture2D(orthophotoTexture, orthoTexCoord);
if (sat_texel.a > 0) {
texel.rgb = sat_texel.rgb;
flag = 0;
mix_flag = 0;
}
}
float distortion_factor = 1.0;
vec2 stprime;
int flag = 1;
int mix_flag = 1;
float noise_term;
float snow_alpha;
@ -155,14 +169,14 @@ float noise_2000m = Noise3D(worldPos.xyz, 2000.0);
}
if (tquality_level > 2)
if ((tquality_level > 2) && (mix_flag == 1))
{
mix_texel = texture2D(mix_texture, gl_TexCoord[0].st * 1.3);
if (mix_texel.a <0.1) {mix_flag = 0;}
}
if (tquality_level > 3)
if (tquality_level > 3 && (flag == 1))
{
stprime = vec2 (0.86*gl_TexCoord[0].s + 0.5*gl_TexCoord[0].t, 0.5*gl_TexCoord[0].s - 0.86*gl_TexCoord[0].t);
//distortion_factor = 0.9375 + (1.0 * nvL[2]);

View file

@ -15,6 +15,8 @@
#define MODE_DIFFUSE 1
#define MODE_AMBIENT_AND_DIFFUSE 2
attribute vec2 orthophotoTexCoord;
// The constant term of the lighting equation that doesn't depend on
// the surface normal is passed in gl_{Front,Back}Color. The alpha
// component is set to 1 for front, 0 for back in order to work around
@ -24,6 +26,7 @@ varying vec3 normal;
varying vec3 relPos;
varying vec2 rawPos;
varying vec3 worldPos;
varying vec2 orthoTexCoord;
varying float mie_angle;
@ -95,6 +98,7 @@ void main()
//vec4 ecPosition = gl_ModelViewMatrix * gl_Vertex;
gl_Position = ftransform();
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
orthoTexCoord = orthophotoTexCoord;
normal = gl_NormalMatrix * gl_Normal;
//nvec = (gl_NormalMatrix * gl_Normal).xy;
vec4 ambient_color, diffuse_color;

View file

@ -10,6 +10,7 @@ varying vec2 rawPos;
varying vec3 worldPos;
varying vec3 ecViewdir;
varying vec2 grad_dir;
varying vec2 orthoTexCoord;
uniform sampler2D texture;
@ -18,6 +19,7 @@ uniform sampler2D mix_texture;
uniform sampler2D grain_texture;
uniform sampler2D dot_texture;
uniform sampler2D gradient_texture;
uniform sampler2D orthophotoTexture;
varying float steepness;
@ -62,6 +64,8 @@ uniform int use_searchlight;
uniform int use_landing_light;
uniform int use_alt_landing_light;
uniform bool orthophotoAvailable;
const float EarthRadius = 5800000.0;
const float terminator_width = 200000.0;
@ -233,6 +237,16 @@ float snownoise_50m = mix(noise_50m, slopenoise_100m, clamp(3.0*(1.0-steepness),
texel = texture2D(texture, gl_TexCoord[0].st);
float local_autumn_factor = texel.a;
if (orthophotoAvailable) {
vec4 sat_texel = texture2D(orthophotoTexture, orthoTexCoord);
if (sat_texel.a > 0) {
texel.rgb = sat_texel.rgb;
flag = 0;
mix_flag = 0;
}
}
grain_texel = texture2D(grain_texture, gl_TexCoord[0].st * 25.0);
gradient_texel = texture2D(gradient_texture, gl_TexCoord[0].st * 4.0);
@ -264,18 +278,23 @@ float snownoise_50m = mix(noise_50m, slopenoise_100m, clamp(3.0*(1.0-steepness),
}
// the mixture/gradient texture
mix_texel = texture2D(mix_texture, gl_TexCoord[0].st * 1.3);
if (mix_texel.a <0.1) {mix_flag = 0;}
if (mix_flag == 1) {
mix_texel = texture2D(mix_texture, gl_TexCoord[0].st * 1.3);
if (mix_texel.a <0.1) {mix_flag = 0;}
}
// the hires overlay texture is loaded with parallax mapping
stprime = vec2 (0.86*gl_TexCoord[0].s + 0.5*gl_TexCoord[0].t, 0.5*gl_TexCoord[0].s - 0.86*gl_TexCoord[0].t);
distortion_factor = 0.97 + 0.06 * noise_500m;
stprime = stprime * distortion_factor * 15.0;
stprime = stprime + normalize(relPos).xy * 0.022 * (noise_10m + 0.5 * noise_5m +0.25 * noise_2m - 0.875 );
if (flag == 1) {
stprime = vec2 (0.86*gl_TexCoord[0].s + 0.5*gl_TexCoord[0].t, 0.5*gl_TexCoord[0].s - 0.86*gl_TexCoord[0].t);
distortion_factor = 0.97 + 0.06 * noise_500m;
stprime = stprime * distortion_factor * 15.0;
stprime = stprime + normalize(relPos).xy * 0.022 * (noise_10m + 0.5 * noise_5m +0.25 * noise_2m - 0.875 );
detail_texel = texture2D(detail_texture, stprime);
if (detail_texel.a <0.1) {flag = 0;}
}
detail_texel = texture2D(detail_texture, stprime);
if (detail_texel.a <0.1) {flag = 0;}

View file

@ -15,6 +15,8 @@
#define MODE_DIFFUSE 1
#define MODE_AMBIENT_AND_DIFFUSE 2
attribute vec2 orthophotoTexCoord;
// The constant term of the lighting equation that doesn't depend on
// the surface normal is passed in gl_{Front,Back}Color. The alpha
// component is set to 1 for front, 0 for back in order to work around
@ -26,6 +28,7 @@ varying vec2 rawPos;
varying vec3 worldPos;
varying vec3 ecViewdir;
varying vec2 grad_dir;
varying vec2 orthoTexCoord;
varying float mie_angle;
varying float steepness;
@ -110,6 +113,7 @@ void main()
//vec4 ecPosition = gl_ModelViewMatrix * gl_Vertex;
//gl_Position = ftransform();
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
orthoTexCoord = orthophotoTexCoord;
normal = gl_NormalMatrix * gl_Normal;
//nvec = (gl_NormalMatrix * gl_Normal).xy;
vec4 ambient_color, diffuse_color;

View file

@ -58,6 +58,11 @@ Started September 2000 by David Megginson, david@megginson.com
<enabled type="bool" userarchive="y">false</enabled>
<sun-atlas-size type="int" userarchive="y">2048</sun-atlas-size>
</shadows>
<photoscenery>
<enabled type="bool" userarchive="y">true</enabled>
<pixels-per-meter type="float" userarchive="y">0.25</pixels-per-meter>
<auto-download type="bool" userarchive="y">true</auto-download>
</photoscenery>
<debug type="bool">false</debug>
<realism type="int">5</realism>
<filtering type="int">8</filtering>

View file

@ -34,33 +34,33 @@
<hrule/>
<text>
<visible>
<equals>
<property>/sim/gui/dialogs/rendering/shader-warning</property>
<value>1</value>
</equals>
</visible>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>Warning: Intel integrated graphics detected. Your graphics card may not support shaders or complex graphics.</label>
</text>
<text>
<visible>
<equals>
<property>/sim/gui/dialogs/rendering/shader-warning</property>
<value>1</value>
</equals>
</visible>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>Warning: Intel integrated graphics detected. Your graphics card may not support shaders or complex graphics.</label>
</text>
<group>
<halign>center</halign>
<layout>hbox</layout>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<group>
<layout>vbox</layout>
@ -172,15 +172,15 @@
</checkbox>
<checkbox>
<halign>left</halign>
<label>Use disk space for faster loading (DDS Texture Cache)</label>
<name>texture-cache-enabled</name>
<property>/sim/rendering/texture-cache/cache-enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>texture-cache-enabled</object-name>
</binding>
</checkbox>
<halign>left</halign>
<label>Use disk space for faster loading (DDS Texture Cache)</label>
<name>texture-cache-enabled</name>
<property>/sim/rendering/texture-cache/cache-enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>texture-cache-enabled</object-name>
</binding>
</checkbox>
<checkbox>
<halign>left</halign>
@ -234,9 +234,9 @@
</visible>
</text>
<empty>
<stretch>1</stretch>
</empty>
<empty>
<stretch>1</stretch>
</empty>
<group>
<layout>hbox</layout>
@ -486,23 +486,23 @@
<layout>table</layout>
<button>
<row>0</row>
<col>0</col>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<legend>Filter effects</legend>
<halign>center</halign>
<binding>
<command>dialog-show</command>
<dialog-name>als-filters</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
<row>0</row>
<col>0</col>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<legend>Filter effects</legend>
<halign>center</halign>
<binding>
<command>dialog-show</command>
<dialog-name>als-filters</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
<button>
<row>0</row>
@ -533,25 +533,25 @@
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<vrule/>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<group>
<layout>vbox</layout>
@ -846,45 +846,49 @@
<col>0</col>
<halign>left</halign>
<label>Terrain Textures</label>
</text>
</text>
<combo>
<row>7</row>
<col>1</col>
<name>texture-set</name>
<combo>
<row>7</row>
<col>1</col>
<name>texture-set</name>
<pref-width>200</pref-width>
<property>sim/gui/dialogs/rendering/texture-set</property>
<value>Region-specific</value>
<value>Global</value>
<value>Global alternative (DDS format)</value>
<binding>
<command>dialog-apply</command>
<object-name>texture-set</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
<property>sim/gui/dialogs/rendering/texture-set</property>
<value>Region-specific</value>
<value>Global</value>
<value>Global alternative (DDS format)</value>
<binding>
<command>dialog-apply</command>
<object-name>texture-set</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var file = materials[getprop("/sim/gui/dialogs/rendering/texture-set")];
setprop("/sim/rendering/materials-file", file);
</script>
</binding>
<binding>
<command>reload-materials</command>
</binding>
</combo>
</script>
</binding>
<binding>
<command>reload-materials</command>
</binding>
</combo>
<text>
<checkbox>
<row>8</row>
<col>0</col>
<colspan>2</colspan>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>Warning: Pylons, Detailed Roads, Buildings use a lot of memory</label>
</text>
<label>Satellite Photoscenery</label>
<name>satellite-photoscenery</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<property>/sim/rendering/photoscenery/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>satellite-photoscenery</object-name>
</binding>
</checkbox>
<text>
<row>9</row>
@ -892,13 +896,25 @@
<colspan>2</colspan>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>and disk space, and are only available in limited areas.</label>
</text>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>Warning: Pylons, Detailed Roads, Buildings use a lot of memory</label>
</text>
<text>
<row>10</row>
<col>0</col>
<colspan>2</colspan>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>and disk space, and are only available in limited areas.</label>
</text>
</group>
<group>
@ -933,16 +949,16 @@
</enable>
</checkbox>
<checkbox>
<halign>left</halign>
<label>Animated jetways</label>
<name>jetways</name>
<property>/nasal/jetways/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>jetways</object-name>
</binding>
</checkbox>
<checkbox>
<halign>left</halign>
<label>Animated jetways</label>
<name>jetways</name>
<property>/nasal/jetways/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>jetways</object-name>
</binding>
</checkbox>
<empty>
<stretch>1</stretch>
@ -950,14 +966,14 @@
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
</group>
@ -965,10 +981,10 @@
<button>
<legend> OK </legend>
<default>true</default>
<binding>
<command>nasal</command>
<script>
<default>true</default>
<binding>
<command>nasal</command>
<script>
var reinit = 0;
foreach (var p; reload_props) {
if (reload_vals[p] != getprop(p)) {
@ -979,8 +995,8 @@
if (reinit) {
fgcommand("reinit", props.Node.new({"subsystem": "scenery"}));
}
</script>
</binding>
</script>
</binding>
<binding>
<command>dialog-close</command>
</binding>
@ -1113,15 +1129,16 @@
var reload_props = [
"/sim/rendering/materials-file",
"/sim/rendering/osm-buildings",
"/sim/rendering/random-buildings",
"/sim/rendering/random-objects",
"/sim/rendering/random-vegetation",
"/sim/rendering/random-vegetation-shadows",
"/sim/rendering/vegetation-density",
"/sim/rendering/clouds3d-enable",
"/sim/rendering/clouds3d-density",
"/sim/rendering/photoscenery/enabled",
"/sim/rendering/materials-file",
"/sim/rendering/osm-buildings",
"/sim/rendering/random-buildings",
"/sim/rendering/random-objects",
"/sim/rendering/random-vegetation",
"/sim/rendering/random-vegetation-shadows",
"/sim/rendering/vegetation-density",
"/sim/rendering/clouds3d-enable",
"/sim/rendering/clouds3d-density",
"/sim/rendering/scenery-path-suffix[0]/enabled",
"/sim/rendering/scenery-path-suffix[1]/enabled",
"/sim/rendering/scenery-path-suffix[2]/enabled",