Quality slider overwrites custom shader settings. All effects now listen to the new...
[fg:toms-fgdata.git] / Effects / runway.eff
1 <?xml version="1.0" encoding="utf-8"?>
2 <PropertyList>
3         <name>Effects/runway</name>
4         <inherits-from>Effects/terrain-default</inherits-from>
5         <parameters>
6                 <texture n="4">
7                         <image>Textures.high/Runway/rwy-normalmap.dds</image>
8                         <filter>linear-mipmap-linear</filter>
9                         <wrap-s>repeat</wrap-s>
10                         <wrap-t>repeat</wrap-t>
11                         <internal-format>normalized</internal-format>
12                 </texture>
13                 <texture n="5">
14                         <type>cubemap</type>
15                         <!-- use this form for a cube cross -->
16                         <!--<image>Aircraft/Generic/Effects/CubeCrosses/blue_sky_big.jpg</image>-->
17
18                                 <!-- use this form for a 6 image cube map -->
19                                 <images>
20                                         <positive-x>Aircraft/Generic/Effects/CubeMaps/fair-sky/fair-sky_px.png</positive-x>
21                                         <negative-x>Aircraft/Generic/Effects/CubeMaps/fair-sky/fair-sky_nx.png</negative-x>
22                                         <positive-y>Aircraft/Generic/Effects/CubeMaps/fair-sky/fair-sky_py.png</positive-y>
23                                         <negative-y>Aircraft/Generic/Effects/CubeMaps/fair-sky/fair-sky_ny.png</negative-y>
24                                         <positive-z>Aircraft/Generic/Effects/CubeMaps/fair-sky/fair-sky_pz.png</positive-z>
25                                         <negative-z>Aircraft/Generic/Effects/CubeMaps/fair-sky/fair-sky_nz.png</negative-z>
26                                 </images>
27
28                 </texture>
29                 <texture n="6">
30                         <image>Aircraft/Generic/Effects/Rainbow.png</image>
31                         <filter>linear-mipmap-linear</filter>
32                         <wrap-s>repeat</wrap-s>
33                         <wrap-t>repeat</wrap-t>
34                         <internal-format>normalized</internal-format>
35                 </texture>
36                 <texture n="7">
37                         <image>Aircraft/Generic/Effects/FresnelLookUp.png</image>
38                         <filter>linear-mipmap-linear</filter>
39                         <wrap-s>repeat</wrap-s>
40                         <wrap-t>repeat</wrap-t>
41                         <internal-format>normalized</internal-format>
42                 </texture>
43                 <texture n="8">
44                         <image>Textures.high/Runway/rwy-reflect.png</image>
45                         <filter>linear-mipmap-linear</filter>
46                         <wrap-s>repeat</wrap-s>
47                         <wrap-t>repeat</wrap-t>
48                         <internal-format>normalized</internal-format>
49                 </texture>
50                 <rendering-hint>transparent</rendering-hint>
51                 <shade-model>smooth</shade-model>
52                 <rainbowiness type="float">0.01</rainbowiness>
53                 <fresneliness>0.01</fresneliness>
54                 <noisiness>0.15</noisiness>
55                 <!--                    <refl_correction>0.0</refl_correction> -->
56                 <ambient_correction>-0.15</ambient_correction>
57                 <normalmap_dds>1</normalmap_dds>
58                 <vertex-program-two-side type="bool">false</vertex-program-two-side>
59                 <cull-face>back</cull-face>
60                 <wetness>
61                         <use>/environment/rain-norm</use>
62                 </wetness>
63
64                 <!--            BEGIN fog include -->
65                 <visibility>
66                         <use>/environment/ground-visibility-m</use>
67                 </visibility>
68                 <avisibility>
69                         <use>/environment/visibility-m</use>
70                 </avisibility>
71                 <lthickness>
72                         <use>/environment/ground-haze-thickness-m</use>
73                 </lthickness>
74                 <scattering>
75                         <use>/rendering/scene/scattering</use>
76                 </scattering>
77                 <terminator>
78                         <use>/environment/terminator-relative-position-m</use>
79                 </terminator>
80                 <fogtype>
81                         <use>/sim/rendering/shaders/skydome</use>
82                 </fogtype>
83                 <!--            END fog include -->
84         </parameters>
85         <generate>
86                 <tangent type="int">6</tangent>
87                 <binormal type="int">7</binormal>
88         </generate>
89         <technique n="9">
90                 <predicate>
91                         <and>
92                                 <property>/sim/rendering/shaders/generic</property>
93                                 <or>
94                                         <less-equal>
95                                                 <value type="float">2.0</value>
96                                                 <glversion/>
97                                         </less-equal>
98                                         <and>
99                                                 <extension-supported>GL_ARB_shader_objects</extension-supported>
100                                                 <extension-supported>GL_ARB_shading_language_100</extension-supported>
101                                                 <extension-supported>GL_ARB_vertex_shader</extension-supported>
102                                                 <extension-supported>GL_ARB_fragment_shader</extension-supported>
103                                         </and>
104                                 </or>
105                         </and>
106                 </predicate>
107                 <pass>
108                         <texture-unit>
109                                 <unit>0</unit>
110                                 <image>
111                                         <use>texture[0]/image</use>
112                                 </image>
113                                 <filter>
114                                         <use>texture[0]/filter</use>
115                                 </filter>
116                                 <wrap-s>
117                                         <use>texture[0]/wrap-s</use>
118                                 </wrap-s>
119                                 <wrap-t>
120                                         <use>texture[0]/wrap-t</use>
121                                 </wrap-t>
122                                 <internal-format>
123                                         <use>texture[1]/internal-format</use>
124                                 </internal-format>
125                         </texture-unit>
126                         <texture-unit>
127                                 <unit>4</unit>
128                                 <image>
129                                         <use>texture[4]/image</use>
130                                 </image>
131                                 <filter>
132                                         <use>texture[4]/filter</use>
133                                 </filter>
134                                 <wrap-s>
135                                         <use>texture[4]/wrap-s</use>
136                                 </wrap-s>
137                                 <wrap-t>
138                                         <use>texture[4]/wrap-t</use>
139                                 </wrap-t>
140                                 <internal-format>
141                                         <use>texture[4]/internal-format</use>
142                                 </internal-format>
143                         </texture-unit>
144
145                         <texture-unit>
146                                 <unit>5</unit>
147                                 <type>
148                                         <use>texture[5]/type</use>
149                                 </type>
150
151                                 <!-- use this form for a cube cross -->
152                                 <!--<image>
153                                 <use>texture[5]/image</use>
154                         </image>-->
155
156                                 <!-- use this form for a 6 image cube map -->
157                                 <images>
158                                         <use>texture[5]/images</use>
159                                 </images>
160                         </texture-unit>
161
162                         <texture-unit>
163                                 <unit>6</unit>
164                                 <type>
165                                         <use>texture[6]/type</use>
166                                 </type>
167                                 <image>
168                                         <use>texture[6]/image</use>
169                                 </image>
170                                 <filter>
171                                         <use>texture[6]/filter</use>
172                                 </filter>
173                                 <wrap-s>
174                                         <use>texture[6]/wrap-s</use>
175                                 </wrap-s>
176                                 <wrap-t>
177                                         <use>texture[6]/wrap-t</use>
178                                 </wrap-t>
179                         </texture-unit>
180
181                         <texture-unit>
182                                 <unit>7</unit>
183                                 <type>
184                                         <use>texture[7]/type</use>
185                                 </type>
186                                 <image>
187                                         <use>texture[7]/image</use>
188                                 </image>
189                                 <filter>
190                                         <use>texture[7]/filter</use>
191                                 </filter>
192                                 <wrap-s>
193                                         <use>texture[7]/wrap-s</use>
194                                 </wrap-s>
195                                 <wrap-t>
196                                         <use>texture[7]/wrap-t</use>
197                                 </wrap-t>
198                         </texture-unit>
199
200                         <texture-unit>
201                                 <unit>8</unit>
202                                 <image>
203                                         <use>texture[8]/image</use>
204                                 </image>
205                                 <filter>
206                                         <use>texture[8]/filter</use>
207                                 </filter>
208                                 <wrap-s>
209                                         <use>texture[8]/wrap-s</use>
210                                 </wrap-s>
211                                 <wrap-t>
212                                         <use>texture[8]/wrap-t</use>
213                                 </wrap-t>
214                                 <internal-format>
215                                         <use>texture[0]/internal-format</use>
216                                 </internal-format>
217                         </texture-unit>
218
219                         <texture-unit>
220                                 <unit>9</unit>
221                                 <type>noise</type>
222                         </texture-unit>
223                         <vertex-program-two-side>
224                                 <use>vertex-program-two-side</use>
225                         </vertex-program-two-side>
226                         <cull-face>
227                                 <use>cull-face</use>
228                         </cull-face>
229
230                         <program>
231                                 <vertex-shader n="0">Shaders/include_fog.vert</vertex-shader>
232                                 <vertex-shader n="1">Shaders/reflect-bump-spec.vert</vertex-shader>
233                                 <fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
234                                 <fragment-shader n="1">Shaders/runway-reflect-bump-spec.frag</fragment-shader>
235                                 <attribute>
236                                         <name>tangent</name>
237                                         <index>6</index>
238                                 </attribute>
239                                 <attribute>
240                                         <name>binormal</name>
241                                         <index>7</index>
242                                 </attribute>
243                         </program>
244
245                         <uniform>
246                                 <name>BaseTex</name>
247                                 <type>sampler-2d</type>
248                                 <value type="int">0</value>
249                         </uniform>
250
251                         <uniform>
252                                 <name>NormalTex</name>
253                                 <type>sampler-2d</type>
254                                 <value type="int">4</value>
255                         </uniform>
256
257                         <uniform>
258                                 <name>Environment</name>
259                                 <type>sampler-cube</type>
260                                 <value type="int">5</value>
261                         </uniform>
262
263                         <uniform>
264                                 <name>Rainbow</name>
265                                 <type>sampler-2d</type>
266                                 <value type="int">6</value>
267                         </uniform>
268
269                         <uniform>
270                                 <name>Fresnel</name>
271                                 <type>sampler-2d</type>
272                                 <value type="int">7</value>
273                         </uniform>
274
275                         <uniform>
276                                 <name>Map</name>
277                                 <type>sampler-2d</type>
278                                 <value type="int">8</value>
279                         </uniform>
280
281                         <uniform>
282                                 <name>Noise</name>
283                                 <type>sampler-3d</type>
284                                 <value type="int">9</value>
285                         </uniform>
286
287                         <!-- set the amount of fringing colour 0.0 - 1.0 -->
288                         <uniform>
289                                 <name>rainbowiness</name>
290                                 <type>float</type>
291                                 <value>
292                                         <use>rainbowiness</use>
293                                 </value>
294                         </uniform>
295
296                         <!-- set the amount of fresnel effect colour 0.0 - 1.0 -->
297                         <uniform>
298                                 <name>fresneliness</name>
299                                 <type>float</type>
300                                 <value>
301                                         <use>fresneliness</use>
302                                 </value>
303                         </uniform>
304
305                         <!-- set the amount of noisiness 0.0 - 1.0 -->
306                         <uniform>
307                                 <name>noisiness</name>
308                                 <type>float</type>
309                                 <value>
310                                         <use>noisiness</use>
311                                 </value>
312                         </uniform>
313
314                         <!-- The reflection is set proportional to the shininess of the material.
315                         The amount of reflection may be adjusted by the use of this correction
316                                 -1.0 (fully transparent)- 1.0 (fully opaque) -->
317                         <uniform>
318                                 <name>spec_adjust</name>
319                                 <type>float</type>
320                                 <value>
321                                         <use>wetness</use>
322                                 </value>
323                         </uniform>
324
325                         <!-- set the amount of ambient light correction 0.0 - 1.0  -->
326                         <uniform>
327                                 <name>ambient_correction</name>
328                                 <type>float</type>
329                                 <value>
330                                         <use>ambient_correction</use>
331                                 </value>
332                         </uniform>
333
334                         <!-- use a reflection map-->
335                         <uniform>
336                                 <name>reflect_map</name>
337                                 <type>float</type>
338                                 <value>
339                                         <use>reflect_map</use>
340                                 </value>
341                         </uniform>
342
343                         <!-- normalmap is .dds-->
344                         <uniform>
345                                 <name>normalmap_dds</name>
346                                 <type>float</type>
347                                 <value>
348                                         <use>normalmap_dds</use>
349                                 </value>
350                         </uniform>
351
352                         <uniform>
353                                 <name>visibility</name>
354                                 <type>float</type>
355                                 <value>
356                                         <use>visibility</use>
357                                 </value>
358                         </uniform>
359                         <uniform>
360                                 <name>avisibility</name>
361                                 <type>float</type>
362                                 <value>
363                                         <use>avisibility</use>
364                                 </value>
365                         </uniform>
366                         <uniform>
367                                 <name>hazeLayerAltitude</name>
368                                 <type>float</type>
369                                 <value>
370                                         <use>lthickness</use>
371                                 </value>
372                         </uniform>
373                         <uniform>
374                                 <name>scattering</name>
375                                 <type>float</type>
376                                 <value>
377                                         <use>scattering</use>
378                                 </value>
379                         </uniform>
380                         <uniform>
381                                 <name>terminator</name>
382                                 <type>float</type>
383                                 <value>
384                                         <use>terminator</use>
385                                 </value>
386                         </uniform>
387                         <uniform>
388                                 <name>fogType</name>
389                                 <type>int</type>
390                                 <value>
391                                         <use>fogtype</use>
392                                 </value>
393                         </uniform>
394                 </pass>
395         </technique>
396 </PropertyList>