Moves polygon mode handling to PipelineState and CDeviceCommandContext.
[0ad.git] / binaries / data / mods / public / shaders / effects / model.xml
blobe0b9e995a511c3466013d0d3b402cb6265c4bdd3
1 <?xml version="1.0" encoding="utf-8"?>
2 <effect>
4         <technique>
5                 <require context="PASS_REFLECTIONS"/>
6                 <require shaders="arb"/>
7                 <pass shader="arb/model_common">
8                         <cull mode="FRONT"/>
9                 </pass>
10         </technique>
12         <technique>
13                 <require context="PASS_REFLECTIONS"/>
14                 <require shaders="glsl"/>
15                 <pass shader="glsl/model_common">
16                         <cull mode="FRONT"/>
17                 </pass>
18         </technique>
20         <technique>
21                 <require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
22                 <require shaders="arb"/>
23                 <pass shader="arb/model_solid">
24                         <color mask_red="FALSE" mask_green="FALSE" mask_blue="FALSE" mask_alpha="FALSE"/>
25                 </pass>
26         </technique>
28         <technique>
29                 <require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
30                 <require shaders="glsl"/>
31                 <pass shader="glsl/model_solid">
32                         <color mask_red="FALSE" mask_green="FALSE" mask_blue="FALSE" mask_alpha="FALSE"/>
33                 </pass>
34         </technique>
37         <technique>
38                 <require context="MODE_WIREFRAME"/>
39                 <require shaders="arb"/>
40                 <pass shader="arb/model_common">
41                         <polygon mode="LINE"/>
42                 </pass>
43         </technique>
45         <technique>
46                 <require context="MODE_WIREFRAME"/>
47                 <require shaders="glsl"/>
48                 <pass shader="glsl/model_common">
49                         <polygon mode="LINE"/>
50                 </pass>
51         </technique>
54         <technique>
55                 <require context="MODE_WIREFRAME_SOLID"/>
56                 <require shaders="arb"/>
57                 <pass shader="arb/model_solid_player">
58                         <polygon mode="LINE"/>
59                 </pass>
60         </technique>
62         <technique>
63                 <require context="MODE_WIREFRAME_SOLID"/>
64                 <require shaders="glsl"/>
65                 <pass shader="glsl/model_solid_player">
66                         <polygon mode="LINE"/>
67                 </pass>
68         </technique>
71         <technique>
72                 <require context="MODE_SILHOUETTEDISPLAY"/>
73                 <require shaders="arb"/>
74                 <pass shader="arb/model_solid_player">
75                         <depth func="gequal"/>
76                         <stencil test="TRUE" compare="notequal" reference="1" mask_read="-1" pass="REPLACE"/>
77                         <blend src="constant_alpha" dst="one_minus_constant_alpha" constant="0 0 0 191"/>
78                 </pass>
79         </technique>
81         <technique>
82                 <require context="MODE_SILHOUETTEDISPLAY"/>
83                 <require shaders="glsl"/>
84                 <pass shader="glsl/model_solid_player">
85                         <depth func="gequal"/>
86                         <stencil test="TRUE" compare="notequal" reference="1" mask_read="-1" pass="REPLACE"/>
87                         <blend src="constant_alpha" dst="one_minus_constant_alpha" constant="0 0 0 191"/>
88                 </pass>
89         </technique>
92         <technique>
93                 <require shaders="arb"/>
94                 <pass shader="arb/model_common"/>
95         </technique>
97         <technique>
98                 <require shaders="glsl"/>
99                 <pass shader="glsl/model_common"/>
100         </technique>
102 </effect>