<?xml version='1.0' encoding='UTF-8'?> <!-- World Scenery 3.0 Effect --> <PropertyList> <name>Effects/ws30</name> <!-- <inherits-from>another-effect</inherits-from> --> <parameters> <material> <ambient type="vec4d"> 0.2 .2 0.2 1.0 </ambient> <diffuse type="vec4d"> .8 .8 .8 1.0 </diffuse> <specular type="vec4d"> 0.0 0.0 0.0 1.0 </specular> <emissive type="vec4d"> 0.0 0.0 0.0 1.0 </emissive> <shininess>1.2</shininess> </material> <texture n="1"> <image>Textures/Terrain/cropgrass1.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <!-- also repeat --> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <!-- <wrap-r>clamp-to-border</wrap-r> --> <!-- float, signed-integer, integer --> <internal-format>normalized</internal-format> </texture> <texture n="2"> <image>Textures/Terrain/city1.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <!-- also repeat --> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <!-- <wrap-r>clamp-to-border</wrap-r> --> <!-- float, signed-integer, integer --> <internal-format>normalized</internal-format> </texture> <texture n="3"> <image>Textures/Terrain/forest.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <!-- also repeat --> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <!-- <wrap-r>clamp-to-border</wrap-r> --> <!-- float, signed-integer, integer --> <internal-format>normalized</internal-format> </texture> <texture n="4"> <image>Textures/Terrain/water.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <!-- also repeat --> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <!-- <wrap-r>clamp-to-border</wrap-r> --> <!-- float, signed-integer, integer --> <internal-format>normalized</internal-format> </texture> <texture n="10"> <image>Textures/Terrain/snow3.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <internal-format>normalized</internal-format> </texture> <texture n="11"> <image>Textures/Terrain/void.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <internal-format>normalized</internal-format> </texture> <texture n="12"> <image>Textures/Terrain/void.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <internal-format>normalized</internal-format> </texture> <texture n="13"> <image>Textures/Terrain/rock_alt.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <internal-format>normalized</internal-format> </texture> <texture n="14"> <image>Textures/Terrain/grain_texture.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <internal-format>normalized</internal-format> </texture> <texture n="15"> <image>Textures/Terrain/void.png</image> <type>2d</type> <filter>linear-mipmap-linear</filter> <wrap-s>repeat</wrap-s> <wrap-t>repeat</wrap-t> <internal-format>normalized</internal-format> </texture> <transparent>false</transparent> <render-bin> <bin-number>0</bin-number> <bin-name>RenderBin</bin-name> </render-bin> <material-id>0</material-id> <grain_strength>0.5</grain_strength> <intrinsic_wetness>0.0</intrinsic_wetness> <transition_model>0.5</transition_model> <hires_overlay_bias>0.0</hires_overlay_bias> <dot_density>1.0</dot_density> <dot_size>1.0</dot_size> <dust_resistance>1.0</dust_resistance> <rock_strata>0</rock_strata> <raise_vertex type="bool">false</raise_vertex> <visibility> <use>/environment/ground-visibility-m</use> </visibility> <avisibility> <use>/environment/visibility-m</use> </avisibility> <lthickness> <use>/environment/ground-haze-thickness-m</use> </lthickness> <scattering> <use>/rendering/scene/scattering</use> </scattering> <ground_scattering> <use>/environment/surface/scattering</use> </ground_scattering> <terminator> <use>/environment/terminator-relative-position-m</use> </terminator> <terrain_alt> <use>/environment/mean-terrain-elevation-m</use> </terrain_alt> <overcast> <use>/rendering/scene/overcast</use> </overcast> <eye_alt> <use>/sim/rendering/eye-altitude-m</use> </eye_alt> <snow_level> <use>/environment/snow-level-m</use> </snow_level> <snow_thickness_factor> <use>/environment/surface/snow-thickness-factor</use> </snow_thickness_factor> <dust_cover_factor> <use>/environment/surface/dust-cover-factor</use> </dust_cover_factor> <lichen_cover_factor> <use>/environment/surface/lichen-cover-factor</use> </lichen_cover_factor> <wetness> <use>/environment/surface/wetness</use> </wetness> <fogtype> <use>/sim/rendering/shaders/skydome</use> </fogtype> <fogstructure> <use>/environment/fog-structure</use> </fogstructure> <cloud_self_shading> <use>/environment/cloud-self-shading</use> </cloud_self_shading> <moonlight> <use>/environment/moonlight</use> </moonlight> <season> <use>/environment/season</use> </season> <air_pollution> <use>/environment/air-pollution-norm</use> </air_pollution> <delta_T> <use>/environment/surface/delta-T-soil</use> </delta_T> <wind_effects> <use>/sim/rendering/shaders/wind-effects</use> </wind_effects> <windE> <use>/environment/sea/surface/wind-from-east-fps</use> </windE> <windN> <use>/environment/sea/surface/wind-from-north-fps</use> </windN> <display_xsize> <use>/sim/startup/xsize</use> </display_xsize> <display_ysize> <use>/sim/startup/ysize</use> </display_ysize> <view_pitch_offset> <use>/sim/current-view/pitch-offset-deg</use> </view_pitch_offset> <view_heading_offset> <use>/sim/current-view/heading-offset-deg</use> </view_heading_offset> <view_fov> <use>/sim/current-view/field-of-view</use> </view_fov> <use_searchlight> <use>/sim/rendering/als-secondary-lights/use-searchlight</use> </use_searchlight> <use_landing_light> <use>/sim/rendering/als-secondary-lights/use-landing-light</use> </use_landing_light> <use_alt_landing_light> <use>/sim/rendering/als-secondary-lights/use-alt-landing-light</use> </use_alt_landing_light> <landing_light1_offset> <use>/sim/rendering/als-secondary-lights/landing-light1-offset-deg</use> </landing_light1_offset> <landing_light2_offset> <use>/sim/rendering/als-secondary-lights/landing-light2-offset-deg</use> </landing_light2_offset> <landing_light3_offset> <use>/sim/rendering/als-secondary-lights/landing-light3-offset-deg</use> </landing_light3_offset> <quality_level> <use>/sim/rendering/shaders/landmass</use> </quality_level> <tquality_level> <use>/sim/rendering/shaders/transition</use> </tquality_level> <use_filtering> <use>/sim/rendering/als-filters/use-filtering</use> </use_filtering> <gamma> <use>/sim/rendering/als-filters/gamma</use> </gamma> <brightness> <use>/sim/rendering/als-filters/brightness</use> </brightness> <fact_grey> <use>/sim/rendering/als-filters/grey-factor</use> </fact_grey> <fact_black> <use>/sim/rendering/als-filters/black-factor</use> </fact_black> <use_night_vision> <use>/sim/rendering/als-filters/use-night-vision</use> </use_night_vision> <use_IR_vision> <use>/sim/rendering/als-filters/use-IR-vision</use> </use_IR_vision> <cloudpos1_x> <use>/local-weather/cloud-shadows/cloudpos-x[0]</use> </cloudpos1_x> <cloudpos1_y> <use>/local-weather/cloud-shadows/cloudpos-y[0]</use> </cloudpos1_y> <cloudpos2_x> <use>/local-weather/cloud-shadows/cloudpos-x[1]</use> </cloudpos2_x> <cloudpos2_y> <use>/local-weather/cloud-shadows/cloudpos-y[1]</use> </cloudpos2_y> <cloudpos3_x> <use>/local-weather/cloud-shadows/cloudpos-x[2]</use> </cloudpos3_x> <cloudpos3_y> <use>/local-weather/cloud-shadows/cloudpos-y[2]</use> </cloudpos3_y> <cloudpos4_x> <use>/local-weather/cloud-shadows/cloudpos-x[3]</use> </cloudpos4_x> <cloudpos4_y> <use>/local-weather/cloud-shadows/cloudpos-y[3]</use> </cloudpos4_y> <cloudpos5_x> <use>/local-weather/cloud-shadows/cloudpos-x[4]</use> </cloudpos5_x> <cloudpos5_y> <use>/local-weather/cloud-shadows/cloudpos-y[4]</use> </cloudpos5_y> <cloudpos6_x> <use>/local-weather/cloud-shadows/cloudpos-x[5]</use> </cloudpos6_x> <cloudpos6_y> <use>/local-weather/cloud-shadows/cloudpos-y[5]</use> </cloudpos6_y> <cloudpos7_x> <use>/local-weather/cloud-shadows/cloudpos-x[6]</use> </cloudpos7_x> <cloudpos7_y> <use>/local-weather/cloud-shadows/cloudpos-y[6]</use> </cloudpos7_y> <cloudpos8_x> <use>/local-weather/cloud-shadows/cloudpos-x[7]</use> </cloudpos8_x> <cloudpos8_y> <use>/local-weather/cloud-shadows/cloudpos-y[7]</use> </cloudpos8_y> <cloudpos9_x> <use>/local-weather/cloud-shadows/cloudpos-x[8]</use> </cloudpos9_x> <cloudpos9_y> <use>/local-weather/cloud-shadows/cloudpos-y[8]</use> </cloudpos9_y> <cloudpos10_x> <use>/local-weather/cloud-shadows/cloudpos-x[9]</use> </cloudpos10_x> <cloudpos10_y> <use>/local-weather/cloud-shadows/cloudpos-y[9]</use> </cloudpos10_y> <cloudpos11_x> <use>/local-weather/cloud-shadows/cloudpos-x[10]</use> </cloudpos11_x> <cloudpos11_y> <use>/local-weather/cloud-shadows/cloudpos-y[10]</use> </cloudpos11_y> <cloudpos12_x> <use>/local-weather/cloud-shadows/cloudpos-x[11]</use> </cloudpos12_x> <cloudpos12_y> <use>/local-weather/cloud-shadows/cloudpos-y[11]</use> </cloudpos12_y> <cloudpos13_x> <use>/local-weather/cloud-shadows/cloudpos-x[12]</use> </cloudpos13_x> <cloudpos13_y> <use>/local-weather/cloud-shadows/cloudpos-y[12]</use> </cloudpos13_y> <cloudpos14_x> <use>/local-weather/cloud-shadows/cloudpos-x[13]</use> </cloudpos14_x> <cloudpos14_y> <use>/local-weather/cloud-shadows/cloudpos-y[13]</use> </cloudpos14_y> <cloudpos15_x> <use>/local-weather/cloud-shadows/cloudpos-x[14]</use> </cloudpos15_x> <cloudpos15_y> <use>/local-weather/cloud-shadows/cloudpos-y[14]</use> </cloudpos15_y> <cloudpos16_x> <use>/local-weather/cloud-shadows/cloudpos-x[15]</use> </cloudpos16_x> <cloudpos16_y> <use>/local-weather/cloud-shadows/cloudpos-y[15]</use> </cloudpos16_y> <cloudpos17_x> <use>/local-weather/cloud-shadows/cloudpos-x[16]</use> </cloudpos17_x> <cloudpos17_y> <use>/local-weather/cloud-shadows/cloudpos-y[16]</use> </cloudpos17_y> <cloudpos18_x> <use>/local-weather/cloud-shadows/cloudpos-x[17]</use> </cloudpos18_x> <cloudpos18_y> <use>/local-weather/cloud-shadows/cloudpos-y[17]</use> </cloudpos18_y> <cloudpos19_x> <use>/local-weather/cloud-shadows/cloudpos-x[18]</use> </cloudpos19_x> <cloudpos19_y> <use>/local-weather/cloud-shadows/cloudpos-y[18]</use> </cloudpos19_y> <cloudpos20_x> <use>/local-weather/cloud-shadows/cloudpos-x[19]</use> </cloudpos20_x> <cloudpos20_y> <use>/local-weather/cloud-shadows/cloudpos-y[19]</use> </cloudpos20_y> <cloudpos_n_x> <use>/local-weather/cloud-shadows/nearest-cloudpos-x</use> </cloudpos_n_x> <cloudpos_n_y> <use>/local-weather/cloud-shadows/nearest-cloudpos-y</use> </cloudpos_n_y> <cloud_shadow_flag> <use>/local-weather/cloud-shadows/cloud-shadow-flag</use> </cloud_shadow_flag> <!-- BEGIN shadows include --> <shadows_enabled> <use>/sim/rendering/als/shadows/enabled</use> </shadows_enabled> <sun_atlas_size> <use>/sim/rendering/als/shadows/sun-atlas-size</use> </sun_atlas_size> <!-- END shadows include --> </parameters> <!-- put techniques at a "high" index to allow derived effects to insert their own techniques first. --> <technique n="5"> <predicate> <and> <property>/sim/rendering/shaders/skydome</property> <or> <less-equal> <value type="float">2.0</value> <glversion/> </less-equal> <and> <extension-supported>GL_ARB_shader_objects</extension-supported> <extension-supported>GL_ARB_shading_language_100</extension-supported> <extension-supported>GL_ARB_vertex_shader</extension-supported> <extension-supported>GL_ARB_fragment_shader</extension-supported> </and> </or> </and> </predicate> <!-- <pass> <lighting>true</lighting> <material> <ambient><use>material/ambient</use></ambient> <diffuse><use>material/diffuse</use></diffuse> <specular><use>material/specular</use></specular> <emissive><use>material/emissive</use></emissive> <shininess><use>material/shininess</use></shininess> <color-mode>ambient-and-diffuse</color-mode> </material> <alpha-test><use>transparent</use></alpha-test> <shade-model>smooth</shade-model> <cull-face>back</cull-face> <render-bin> <bin-number>-1</bin-number> <bin-name>RenderBin</bin-name> </render-bin> <texture-unit> <unit>0</unit> <type><use>texture[0]/type</use></type> <image><use>texture[0]/image</use></image> <filter><use>texture[0]/filter</use></filter> <wrap-s><use>texture[0]/wrap-s</use></wrap-s> <wrap-t><use>texture[0]/wrap-t</use></wrap-t> <internal-format><use>texture[0]/internal-format</use></internal-format> </texture-unit> <program> <vertex-shader n="0">Shaders/Default/include_fog.vert</vertex-shader> <vertex-shader n="1">Shaders/Default/default.vert</vertex-shader> <fragment-shader n="0">Shaders/Default/include_fog.frag</fragment-shader> <fragment-shader n="1">Shaders/Default/terrain-nocolor.frag</fragment-shader> </program> <uniform> <name>texture</name> <type>sampler-2d</type> <value type="int">0</value> </uniform> <color-mask type="vec4d">0 0 0 0</color-mask> </pass> --> <pass> <lighting>true</lighting> <material> <ambient> <use>material/ambient</use> </ambient> <diffuse> <use>material/diffuse</use> </diffuse> <specular> <use>material/specular</use> </specular> <emissive> <use>material/emissive</use> </emissive> <shininess> <use>material/shininess</use> </shininess> <color-mode>ambient-and-diffuse</color-mode> </material> <blend> <use>transparent</use> </blend> <alpha-test> <use>transparent</use> </alpha-test> <shade-model>smooth</shade-model> <cull-face>back</cull-face> <render-bin> <bin-number> <use>render-bin/bin-number</use> </bin-number> <bin-name> <use>render-bin/bin-name</use> </bin-name> </render-bin> <texture-unit> <unit>0</unit> <image> <use>texture[0]/image</use> </image> <filter>nearest-mipmap-nearest</filter> <mag-filter>nearest-mipmap-nearest</mag-filter> <wrap-s> <use>texture[0]/wrap-s</use> </wrap-s> <wrap-t> <use>texture[0]/wrap-t</use> </wrap-t> <internal-format> <use>texture[0]/internal-format</use> </internal-format> <mipmap-control> <r>max</r> <g>max</g> <b>max</b> </mipmap-control> </texture-unit> <texture-unit> <unit>1</unit> <image> <use>texture[1]/image</use> </image> <filter> <use>texture[1]/filter</use> </filter> <wrap-s> <use>texture[1]/wrap-s</use> </wrap-s> <wrap-t> <use>texture[1]/wrap-t</use> </wrap-t> <internal-format> <use>texture[1]/internal-format</use> </internal-format> </texture-unit> <texture-unit> <unit>2</unit> <image> <use>texture[2]/image</use> </image> <filter> <use>texture[2]/filter</use> </filter> <wrap-s> <use>texture[2]/wrap-s</use> </wrap-s> <wrap-t> <use>texture[2]/wrap-t</use> </wrap-t> <internal-format> <use>texture[2]/internal-format</use> </internal-format> </texture-unit> <texture-unit> <unit>3</unit> <image> <use>texture[3]/image</use> </image> <filter> <use>texture[3]/filter</use> </filter> <wrap-s> <use>texture[3]/wrap-s</use> </wrap-s> <wrap-t> <use>texture[3]/wrap-t</use> </wrap-t> <internal-format> <use>texture[3]/internal-format</use> </internal-format> </texture-unit> <texture-unit> <unit>4</unit> <image> <use>texture[4]/image</use> </image> <filter> <use>texture[4]/filter</use> </filter> <wrap-s> <use>texture[4]/wrap-s</use> </wrap-s> <wrap-t> <use>texture[4]/wrap-t</use> </wrap-t> <internal-format> <use>texture[4]/internal-format</use> </internal-format> </texture-unit> <program> <vertex-shader>Shaders/generic-ALS-base.vert</vertex-shader> <vertex-shader>Shaders/shadows-include.vert</vertex-shader> <fragment-shader>Shaders/ws30.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> </program> <uniform> <name>visibility</name> <type>float</type> <value> <use>visibility</use> </value> </uniform> <uniform> <name>avisibility</name> <type>float</type> <value> <use>avisibility</use> </value> </uniform> <uniform> <name>hazeLayerAltitude</name> <type>float</type> <value> <use>lthickness</use> </value> </uniform> <uniform> <name>scattering</name> <type>float</type> <value> <use>scattering</use> </value> </uniform> <uniform> <name>ground_scattering</name> <type>float</type> <value> <use>ground_scattering</use> </value> </uniform> <uniform> <name>terminator</name> <type>float</type> <value> <use>terminator</use> </value> </uniform> <uniform> <name>terrain_alt</name> <type>float</type> <value> <use>terrain_alt</use> </value> </uniform> <uniform> <name>overcast</name> <type>float</type> <value> <use>overcast</use> </value> </uniform> <uniform> <name>eye_alt</name> <type>float</type> <value> <use>eye_alt</use> </value> </uniform> <uniform> <name>cloud_self_shading</name> <type>float</type> <value> <use>cloud_self_shading</use> </value> </uniform> <uniform> <name>moonlight</name> <type>float</type> <value> <use>moonlight</use> </value> </uniform> <uniform> <name>air_pollution</name> <type>float</type> <value> <use>air_pollution</use> </value> </uniform> <!-- filtering --> <uniform> <name>gamma</name> <type>float</type> <value> <use>gamma</use> </value> </uniform> <uniform> <name>brightness</name> <type>float</type> <value> <use>brightness</use> </value> </uniform> <uniform> <name>use_night_vision</name> <type>bool</type> <value> <use>use_night_vision</use> </value> </uniform> <uniform> <name>use_IR_vision</name> <type>bool</type> <value> <use>use_IR_vision</use> </value> </uniform> <uniform> <name>use_filtering</name> <type>bool</type> <value> <use>use_filtering</use> </value> </uniform> <uniform> <name>delta_T</name> <type>float</type> <value> <use>delta_T</use> </value> </uniform> <uniform> <name>fact_grey</name> <type>float</type> <value> <use>fact_grey</use> </value> </uniform> <uniform> <name>fact_black</name> <type>float</type> <value> <use>fact_black</use> </value> </uniform> <uniform> <name>display_xsize</name> <type>int</type> <value> <use>display_xsize</use> </value> </uniform> <uniform> <name>display_ysize</name> <type>int</type> <value> <use>display_ysize</use> </value> </uniform> <uniform> <name>landclass</name> <type>sampler-2d</type> <value type="int">0</value> </uniform> <uniform> <name>grass</name> <type>sampler-2d</type> <value type="int">1</value> </uniform> <uniform> <name>city</name> <type>sampler-2d</type> <value type="int">2</value> </uniform> <uniform> <name>forest</name> <type>sampler-2d</type> <value type="int">3</value> </uniform> <uniform> <name>water</name> <type>sampler-2d</type> <value type="int">4</value> </uniform> <uniform> <name>colorMode</name> <type>int</type> <value>2</value> <!-- AMBIENT_AND_DIFFUSE --> </uniform> <!-- BEGIN shadows include --> <uniform> <name>shadow_tex</name> <type>sampler-2d</type> <value type="int">10</value> </uniform> <uniform> <name>shadows_enabled</name> <type>bool</type> <value> <use>shadows_enabled</use> </value> </uniform> <uniform> <name>sun_atlas_size</name> <type>int</type> <value> <use>sun_atlas_size</use> </value> </uniform> <!-- END shadows include --> <depth> <function>lequal</function> <!-- <write-mask type="bool">false</write-mask> --> </depth> </pass> </technique> </PropertyList>