Quality slider overwrites custom shader settings. All effects now listen to the new...
[fg:toms-fgdata.git] / Effects / terrain-default.eff
1 <?xml version="1.0" encoding="utf-8"?>
2 <PropertyList>
3         <name>Effects/terrain-default</name>
4         <!-- <inherits-from>another-effect</inherits-from> -->
5         <parameters>
6                 <material>
7                         <ambient type="vec4d">
8                                 0.2 .2 0.2 1.0
9                         </ambient>
10                         <diffuse type="vec4d">
11                                 .8 .8 .8 1.0
12                         </diffuse>
13                         <specular type="vec4d">
14                                 0.0 0.0 0.0 1.0
15                         </specular>
16                         <emissive type="vec4d">
17                                 0.0 0.0 0.0 1.0
18                         </emissive>
19                         <shininess>1.2</shininess>
20                 </material>
21                 <texture n="0">
22                         <image>Textures/Terrain/unknown.png</image>
23                         <filter>linear-mipmap-linear</filter>
24                         <!-- also repeat -->
25                         <wrap-s>repeat</wrap-s>
26                         <wrap-t>repeat</wrap-t>
27                         <!--
28            <wrap-r>clamp-to-border</wrap-r>
29            -->
30                         <!-- float, signed-integer, integer -->
31                         <internal-format>normalized</internal-format>
32                 </texture>
33                 <transparent>false</transparent>
34                 <render-bin>
35                         <bin-number>0</bin-number>
36                         <bin-name>RenderBin</bin-name>
37                 </render-bin>
38                 <visibility>
39                         <use>/environment/ground-visibility-m</use>
40                 </visibility>
41                 <avisibility>
42                         <use>/environment/visibility-m</use>
43                 </avisibility>
44                 <lthickness>
45                         <use>/environment/ground-haze-thickness-m</use>
46                 </lthickness>
47                 <scattering>
48                         <use>/rendering/scene/scattering</use>
49                 </scattering>
50                 <terminator>
51                         <use>/environment/terminator-relative-position-m</use>
52                 </terminator>
53                 <fogtype>
54                         <use>/sim/rendering/shaders/skydome</use>
55                 </fogtype>
56         </parameters>
57         <!-- put techniques at a "high" index to allow derived effects to
58        insert their own techniques first. -->
59         <technique n="10">
60                 <predicate>
61                         <and>
62                                 <property>/sim/rendering/shaders/generic</property>
63
64                                 <or>
65                                         <less-equal>
66                                                 <value type="float">2.0</value>
67                                                 <glversion/>
68                                         </less-equal>
69                                         <and>
70                                                 <extension-supported>GL_ARB_shader_objects</extension-supported>
71                                                 <extension-supported>GL_ARB_shading_language_100</extension-supported>
72                                                 <extension-supported>GL_ARB_vertex_shader</extension-supported>
73                                                 <extension-supported>GL_ARB_fragment_shader</extension-supported>
74                                         </and>
75                                 </or>
76                         </and>
77                 </predicate>
78                 <pass>
79                         <lighting>true</lighting>
80                         <material>
81                                 <ambient>
82                                         <use>material/ambient</use>
83                                 </ambient>
84                                 <diffuse>
85                                         <use>material/diffuse</use>
86                                 </diffuse>
87                                 <specular>
88                                         <use>material/specular</use>
89                                 </specular>
90                                 <emissive>
91                                         <use>material/emissive</use>
92                                 </emissive>
93                                 <shininess>
94                                         <use>material/shininess</use>
95                                 </shininess>
96                                 <color-mode>ambient-and-diffuse</color-mode>
97                         </material>
98                         <alpha-test>
99                                 <use>transparent</use>
100                         </alpha-test>
101                         <shade-model>smooth</shade-model>
102                         <cull-face>back</cull-face>
103                         <render-bin>
104                                 <bin-number>-1</bin-number>
105                                 <bin-name>RenderBin</bin-name>
106                         </render-bin>
107                         <texture-unit>
108                                 <unit>0</unit>
109                                 <image>
110                                         <use>texture[0]/image</use>
111                                 </image>
112                                 <filter>
113                                         <use>texture[0]/filter</use>
114                                 </filter>
115                                 <wrap-s>
116                                         <use>texture[0]/wrap-s</use>
117                                 </wrap-s>
118                                 <wrap-t>
119                                         <use>texture[0]/wrap-t</use>
120                                 </wrap-t>
121                                 <internal-format>
122                                         <use>texture[0]/internal-format</use>
123                                 </internal-format>
124                         </texture-unit>
125                         <program>
126                                 <vertex-shader n="0">Shaders/include_fog.vert</vertex-shader>
127                                 <vertex-shader n="1">Shaders/default.vert</vertex-shader>
128                                 <fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
129                                 <fragment-shader n="1">Shaders/terrain-nocolor.frag</fragment-shader>
130                         </program>
131                         <uniform>
132                                 <name>texture</name>
133                                 <type>sampler-2d</type>
134                                 <value type="int">0</value>
135                         </uniform>
136                         <color-mask type="vec4d">0 0 0 0</color-mask>
137                 </pass>
138                 <pass>
139                         <lighting>true</lighting>
140                         <material>
141                                 <ambient>
142                                         <use>material/ambient</use>
143                                 </ambient>
144                                 <diffuse>
145                                         <use>material/diffuse</use>
146                                 </diffuse>
147                                 <specular>
148                                         <use>material/specular</use>
149                                 </specular>
150                                 <emissive>
151                                         <use>material/emissive</use>
152                                 </emissive>
153                                 <shininess>
154                                         <use>material/shininess</use>
155                                 </shininess>
156                                 <color-mode>ambient-and-diffuse</color-mode>
157                         </material>
158                         <blend>
159                                 <use>transparent</use>
160                         </blend>
161                         <alpha-test>
162                                 <use>transparent</use>
163                         </alpha-test>
164                         <shade-model>smooth</shade-model>
165                         <cull-face>back</cull-face>
166                         <render-bin>
167                                 <bin-number>
168                                         <use>render-bin/bin-number</use>
169                                 </bin-number>
170                                 <bin-name>
171                                         <use>render-bin/bin-name</use>
172                                 </bin-name>
173                         </render-bin>
174                         <texture-unit>
175                                 <unit>0</unit>
176                                 <image>
177                                         <use>texture[0]/image</use>
178                                 </image>
179                                 <filter>
180                                         <use>texture[0]/filter</use>
181                                 </filter>
182                                 <wrap-s>
183                                         <use>texture[0]/wrap-s</use>
184                                 </wrap-s>
185                                 <wrap-t>
186                                         <use>texture[0]/wrap-t</use>
187                                 </wrap-t>
188                                 <internal-format>
189                                         <use>texture[0]/internal-format</use>
190                                 </internal-format>
191                         </texture-unit>
192                         <program>
193                                 <vertex-shader>Shaders/include_fog.vert</vertex-shader>
194                                 <vertex-shader>Shaders/default.vert</vertex-shader>
195                                 <fragment-shader>Shaders/default.frag</fragment-shader>
196                                 <fragment-shader>Shaders/include_fog.frag</fragment-shader>
197                         </program>
198                         <uniform>
199                                 <name>visibility</name>
200                                 <type>float</type>
201                                 <value>
202                                         <use>visibility</use>
203                                 </value>
204                         </uniform>
205                         <uniform>
206                                 <name>avisibility</name>
207                                 <type>float</type>
208                                 <value>
209                                         <use>avisibility</use>
210                                 </value>
211                         </uniform>
212                         <uniform>
213                                 <name>hazeLayerAltitude</name>
214                                 <type>float</type>
215                                 <value>
216                                         <use>lthickness</use>
217                                 </value>
218                         </uniform>
219                         <uniform>
220                                 <name>scattering</name>
221                                 <type>float</type>
222                                 <value>
223                                         <use>scattering</use>
224                                 </value>
225                         </uniform>
226                         <uniform>
227                                 <name>terminator</name>
228                                 <type>float</type>
229                                 <value>
230                                         <use>terminator</use>
231                                 </value>
232                         </uniform>
233                         <uniform>
234                                 <name>fogType</name>
235                                 <type>int</type>
236                                 <value>
237                                         <use>fogtype</use>
238                                 </value>
239                         </uniform>
240                         <uniform>
241                                 <name>texture</name>
242                                 <type>sampler-2d</type>
243                                 <value type="int">0</value>
244                         </uniform>
245                         <uniform>
246                                 <name>colorMode</name>
247                                 <type>int</type>
248                                 <value>2</value>
249                                 <!-- AMBIENT_AND_DIFFUSE -->
250                         </uniform>
251                         <depth>
252                                 <function>lequal</function>
253                                 <write-mask type="bool">false</write-mask>
254                         </depth>
255                 </pass>
256         </technique>
257         <technique n="11">
258                 <pass>
259                         <lighting>true</lighting>
260                         <material>
261                                 <ambient>
262                                         <use>material/ambient</use>
263                                 </ambient>
264                                 <diffuse>
265                                         <use>material/diffuse</use>
266                                 </diffuse>
267                                 <specular>
268                                         <use>material/specular</use>
269                                 </specular>
270                                 <emissive>
271                                         <use>material/emissive</use>
272                                 </emissive>
273                                 <shininess>
274                                         <use>material/shininess</use>
275                                 </shininess>
276                                 <color-mode>ambient-and-diffuse</color-mode>
277                         </material>
278                         <blend>
279                                 <use>transparent</use>
280                         </blend>
281                         <alpha-test>
282                                 <use>transparent</use>
283                         </alpha-test>
284                         <shade-model>smooth</shade-model>
285                         <cull-face>back</cull-face>
286                         <render-bin>
287                                 <bin-number>
288                                         <use>render-bin/bin-number</use>
289                                 </bin-number>
290                                 <bin-name>
291                                         <use>render-bin/bin-name</use>
292                                 </bin-name>
293                         </render-bin>
294                         <texture-unit>
295                                 <unit>0</unit>
296                                 <image>
297                                         <use>texture[0]/image</use>
298                                 </image>
299                                 <filter>
300                                         <use>texture[0]/filter</use>
301                                 </filter>
302                                 <wrap-s>
303                                         <use>texture[0]/wrap-s</use>
304                                 </wrap-s>
305                                 <wrap-t>
306                                         <use>texture[0]/wrap-t</use>
307                                 </wrap-t>
308                                 <internal-format>
309                                         <use>texture[0]/internal-format</use>
310                                 </internal-format>
311                                 <environment>
312                                         <mode>modulate</mode>
313                                 </environment>
314                         </texture-unit>
315                 </pass>
316         </technique>
317 </PropertyList>