<?xml version="1.0" encoding="utf-8"?> <PropertyList> <name>Effects/building</name> <inherits-from>Effects/model-combined-deferred</inherits-from> <parameters> <texture n="0"> <type>2d</type> <image>Textures/buildings.png</image> <filter>linear-mipmap-linear</filter> <wrap-s>clamp</wrap-s> <wrap-t>clamp</wrap-t> <internal-format>normalized</internal-format> </texture> <!-- Normal Map --> <normalmap-enabled type="int"> 0 </normalmap-enabled> <normalmap-dds type="int"> 0 </normalmap-dds> <normalmap-tiling type="float"> 1.0 </normalmap-tiling> <!-- Light Map --> <texture n="3"> <image>Textures/buildings-lightmap.png</image> <filter>linear-mipmap-linear</filter> <wrap-s>clamp</wrap-s> <wrap-t>clamp</wrap-t> <internal-format>normalized</internal-format> </texture> <lightmap-enabled type="int"> 1 </lightmap-enabled> <lightmap-multi type="int"> 0 </lightmap-multi> <lightmap-factor type="float" n="0"> <use>/sim/time/sun-angle-rad</use> </lightmap-factor> <lightmap-color type="vec3d" n="0"> 0.3 0.3 0.3 </lightmap-color> <!--<lightmap-factor type="float" n="1">1.0</lightmap-factor> <lightmap-color type="vec3d" n="1"> 1.0 1.0 1.0 </lightmap-color> <lightmap-factor type="float" n="2">1.0</lightmap-factor> <lightmap-color type="vec3d" n="2"> 1.0 1.0 1.0 </lightmap-color> <lightmap-factor type="float" n="3">1.0</lightmap-factor> <lightmap-color type="vec3d" n="3"> 1.0 1.0 1.0 </lightmap-color>--> <!-- Reflection --> <reflection-enabled type="int"> 1 </reflection-enabled> <reflect-map-enabled type="int"> 1 </reflect-map-enabled> <!-- <reflect-map-enabled type="int"> 0 </reflect-map-enabled> --> <reflection-correction type="float"> -0.15 </reflection-correction> <reflection-dynamic type="int"> 0 </reflection-dynamic> <reflection-fresnel type="float"> 0.0 </reflection-fresnel> <reflection-rainbow type="float"> 0.0 </reflection-rainbow> <reflection-noise type="float"> 0.0 </reflection-noise> <texture n= "5" > <type>cubemap</type> <images> <positive-x>Aircraft/Generic/Effects/CubeMaps/buildings/N.png</positive-x> <negative-x>Aircraft/Generic/Effects/CubeMaps/buildings/S.png</negative-x> <positive-y>Aircraft/Generic/Effects/CubeMaps/buildings/W.png</positive-y> <negative-y>Aircraft/Generic/Effects/CubeMaps/buildings/E.png</negative-y> <positive-z>Aircraft/Generic/Effects/CubeMaps/buildings/U.png</positive-z> <negative-z>Aircraft/Generic/Effects/CubeMaps/buildings/D.png</negative-z> </images> </texture> <!--Ambient correction --> <ambient-correction type="float"> 0.0 </ambient-correction> <dirt-enabled type="int"> 0 </dirt-enabled> <dirt-color type="vec3d"> 0.0 0.0 0.0 </dirt-color> <dirt-factor type="float"> 0.0 </dirt-factor> <material> <active>true</active> <color-mode-uniform>1</color-mode-uniform> <ambient type="vec4d">0.6 0.6 0.6 1.0</ambient> <diffuse type="vec4d">1.0 1.0 1.0 1.0</diffuse> <specular type="vec4d">0.0 0.0 0.0 1.0</specular> <emissive type="vec4d">0.02 0.02 0.02 1.0</emissive> <shininess>0.1</shininess> <color-mode>ambient-and-diffuse</color-mode> <color-mode-uniform>ambient-and-diffuse</color-mode-uniform> <!-- DIFFUSE --> </material> <material-id>0</material-id> <blend> <active>0</active> <source>0</source> <destination>0</destination> </blend> <shade-model>flat</shade-model> <cull-face>back</cull-face> <rendering-hint>opaque</rendering-hint> <!-- fog include for atmospheric scattering--> <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> <fogtype><use>/sim/rendering/shaders/skydome</use></fogtype> <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> <dust_cover_factor><use>/environment/surface/dust-cover-factor</use></dust_cover_factor> <fogtype><use>/sim/rendering/shaders/skydome</use></fogtype> <fogstructure><use>/environment/fog-structure</use></fogstructure> <!-- END fog include --> </parameters> <!-- Atmospheric scattering technique with model shader--> <technique n="4"> <predicate> <and> <property>/sim/rendering/shaders/skydome</property> <property>/sim/rendering/shaders/quality-level</property> <property>/sim/rendering/shaders/model</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>false</alpha-test> <shade-model>flat</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> <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>Shaders/building-default.vert</vertex-shader> <fragment-shader>Shaders/trivial.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> <texture-unit n="4"> <unit>4</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> <program> <vertex-shader n="1">Shaders/building-ubershader.vert</vertex-shader> <fragment-shader n="1">Shaders/ubershader-lightfield.frag</fragment-shader> </program> </pass> </technique> <!-- Atmospheric scattering technique --> <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>false</alpha-test> <shade-model>flat</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> <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/include_fog.vert</vertex-shader>--> <!--<vertex-shader n="1">Shaders/building-default.vert</vertex-shader>--> <vertex-shader>Shaders/building-default.vert</vertex-shader> <fragment-shader>Shaders/trivial.frag</fragment-shader> <!--<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader> <fragment-shader n="1">Shaders/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>false</blend> <alpha-test>false</alpha-test> <shade-model>flat</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><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>Shaders/building-haze.vert</vertex-shader> <fragment-shader>Shaders/terrain-haze.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>texture</name> <type>sampler-2d</type> <value type="int">0</value> </uniform> <uniform> <name>colorMode</name> <type>int</type> <value>2</value> <!-- AMBIENT_AND_DIFFUSE --> </uniform> <depth> <function>lequal</function> <write-mask type="bool">false</write-mask> </depth> </pass> </technique> <technique n="7"> <pass> <texture-unit n="4"> <unit>4</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> <program n="0"> <vertex-shader n="0">Shaders/building-ubershader.vert</vertex-shader> </program> </pass> </technique> <!-- <technique n="8"> <pass> <texture-unit n="4"> <unit>4</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> <program n="0"> <vertex-shader n="1">Shaders/building-ubershader.vert</vertex-shader> </program> </pass> </technique>--> <technique n="9"> <pass> <texture-unit n="4"> <unit>4</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> <program n="0"> <vertex-shader n="1">Shaders/building-ubershader.vert</vertex-shader> </program> </pass> </technique> <technique n="10"> <pass> <program n="0"> <vertex-shader n="0">Shaders/building-deferred-gbuffer.vert</vertex-shader> </program> </pass> </technique> <technique n="11"> <pass> <program n="0"> <vertex-shader n="1">Shaders/building-default.vert</vertex-shader> </program> </pass> </technique> <technique n="12"> <pass> <lighting>true</lighting> <material> <active> <use>material/active</use> </active> <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>off</color-mode> </material> <render-bin> <bin-number>2</bin-number> <bin-name>RenderBin</bin-name> </render-bin> <blend> <active> <use>blend/active</use> </active> <source> <use>blend/source</use> </source> <destination> <use>blend/destination</use> </destination> </blend> <shade-model> <use>shade-model</use> </shade-model> <cull-face> <use>cull-face</use> </cull-face> <rendering-hint> <use>rendering-hint</use> </rendering-hint> <texture-unit> <!-- The texture unit is always active because the shaders expect that. --> <unit>0</unit> <!-- If there is a texture, the type in the derived effect will be "2d". --> <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> <vertex-program-two-side> <use>vertex-program-two-side</use> </vertex-program-two-side> <program> <!-- <vertex-shader n="0">Shaders/include_fog.vert</vertex-shader> --> <!--fog include--> <vertex-shader n="1">Shaders/building-default.vert</vertex-shader> <fragment-shader n="0">Shaders/include_fog.frag</fragment-shader> <!--fog include--> <fragment-shader n="1">Shaders/default.frag</fragment-shader> </program> <!-- BEGIN fog include --> <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>terminator</name> <type>float</type> <value> <use>terminator</use> </value> </uniform> <uniform> <name>fogType</name> <type>int</type> <value> <use>fogtype</use> </value> </uniform> <!-- END fog include --> <uniform> <name>texture</name> <type>sampler-2d</type> <value type="int">0</value> </uniform> <uniform> <name>colorMode</name> <type>int</type> <value> <use>material/color-mode-uniform</use> </value> </uniform> </pass> </technique> </PropertyList>