Ticket #1920: model_transparent_nosort.xml

File model_transparent_nosort.xml, 4.5 KB (added by wraitii, 11 years ago)
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<effect>
3
4 <technique>
5 <require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
6 <require shaders="arb"/>
7 <pass shader="arb/model_solid_tex">
8 <define name="REQUIRE_ALPHA_GEQUAL" value="0.4"/>
9 </pass>
10 </technique>
11
12 <technique>
13 <require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
14 <require shaders="glsl"/>
15 <pass shader="glsl/model_solid_tex">
16 <define name="REQUIRE_ALPHA_GEQUAL" value="0.4"/>
17 </pass>
18 </technique>
19
20 <technique>
21 <require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
22 <require shaders="fixed"/>
23 <define name="USE_PLAYERCOLOR" value="0"/>
24 <define name="USE_OBJECTCOLOR" value="0"/>
25 <pass shader="fixed:model_solid_tex">
26 <alpha func="gequal" ref="0.4"/>
27 </pass>
28 </technique>
29
30
31
32 <!--
33 CRenderer::RenderSilhouettes skips alpha-blended models for
34 MODE_SILHOUETTEDISPLAY, so do a dummy non-blended behaviour here to
35 make it obviously buggy if CRenderer is changed to render these models.
36 -->
37 <technique>
38 <require context="MODE_SILHOUETTEDISPLAY || MODE_WIREFRAME"/>
39 <require shaders="arb"/>
40 <pass shader="arb/model_solid_player"/>
41 </technique>
42
43 <technique>
44 <require context="MODE_SILHOUETTEDISPLAY || MODE_WIREFRAME"/>
45 <require shaders="glsl"/>
46 <pass shader="glsl/model_solid_player"/>
47 </technique>
48
49 <technique>
50 <require context="MODE_SILHOUETTEDISPLAY || MODE_WIREFRAME"/>
51 <require shaders="fixed"/>
52 <define name="USE_PLAYERCOLOR" value="1"/>
53 <define name="USE_OBJECTCOLOR" value="0"/>
54 <pass shader="fixed:model_solid"/>
55 </technique>
56
57
58
59 <technique>
60 <require context="USE_ALPHATEST"/>
61 <require shaders="arb"/>
62 <pass shader="arb/model_common">
63 <define name="USE_TRANSPARENT" value="1"/>
64 <define name="REQUIRE_ALPHA_GEQUAL" value="0.4"/>
65 </pass>
66 </technique>
67
68 <technique>
69 <require context="USE_ALPHATEST"/>
70 <require shaders="glsl"/>
71 <pass shader="glsl/model_common">
72 <define name="USE_TRANSPARENT" value="1"/>
73 <define name="REQUIRE_ALPHA_GEQUAL" value="0.4"/>
74 </pass>
75 </technique>
76
77 <technique>
78 <require context="USE_ALPHATEST"/>
79 <require shaders="fixed"/>
80 <pass shader="fixed:model">
81 <alpha func="gequal" ref="0.4"/>
82 </pass>
83 </technique>
84
85
86
87 <technique>
88 <require context="ALPHABLEND_PASS_OPAQUE"/>
89 <require shaders="arb"/>
90 <pass shader="arb/model_common">
91 <define name="USE_TRANSPARENT" value="1"/>
92 <define name="REQUIRE_ALPHA_GEQUAL" value="0.6375"/>
93 </pass>
94 </technique>
95
96 <technique>
97 <require context="ALPHABLEND_PASS_OPAQUE"/>
98 <require shaders="glsl"/>
99 <pass shader="glsl/model_common">
100 <define name="USE_TRANSPARENT" value="1"/>
101 <define name="REQUIRE_ALPHA_GEQUAL" value="0.6375"/>
102 </pass>
103 </technique>
104
105 <technique>
106 <require context="ALPHABLEND_PASS_OPAQUE"/>
107 <require shaders="fixed"/>
108 <pass shader="fixed:model">
109 <alpha func="gequal" ref="0.6375"/>
110 </pass>
111 </technique>
112
113
114
115 <technique>
116 <require context="ALPHABLEND_PASS_BLEND"/>
117 <require shaders="arb"/>
118 <pass shader="arb/model_common">
119 <define name="USE_TRANSPARENT" value="1"/>
120 <define name="REQUIRE_ALPHA_GEQUAL" value="0.05"/>
121 <blend src="src_alpha" dst="one_minus_src_alpha"/>
122 <depth func="less" mask="false"/>
123 </pass>
124 </technique>
125
126 <technique>
127 <require context="ALPHABLEND_PASS_BLEND"/>
128 <require shaders="glsl"/>
129 <pass shader="glsl/model_common">
130 <define name="USE_TRANSPARENT" value="1"/>
131 <define name="REQUIRE_ALPHA_GEQUAL" value="0.05"/>
132 <blend src="src_alpha" dst="one_minus_src_alpha"/>
133 <depth func="less" mask="false"/>
134 </pass>
135 </technique>
136
137 <technique>
138 <require context="ALPHABLEND_PASS_BLEND"/>
139 <require shaders="fixed"/>
140 <pass shader="fixed:model">
141 <define name="USE_TRANSPARENT" value="1"/>
142 <alpha func="gequal" ref="0.05"/>
143 <blend src="src_alpha" dst="one_minus_src_alpha"/>
144 <depth func="less" mask="false"/>
145 </pass>
146 </technique>
147
148</effect>