1vertex_program Ogre/Island/FullScreenQuadVS hlsl
2{
3	source Island.hlsl
4	entry_point FullScreenQuadVS
5	target vs_4_0
6
7	default_params
8	{
9
10	}
11}
12
13fragment_program Ogre/Island/RefractionDepthManualResolvePS1 hlsl
14{
15	source Island.hlsl
16	entry_point RefractionDepthManualResolvePS1
17	target ps_4_0
18
19	default_params
20	{
21
22	}
23}
24
25fragment_program Ogre/Island/RefractionDepthManualResolvePS2 hlsl
26{
27	source Island.hlsl
28	entry_point RefractionDepthManualResolvePS2
29	target ps_4_0
30
31	default_params
32	{
33
34	}
35}
36
37fragment_program Ogre/Island/RefractionDepthManualResolvePS4 hlsl
38{
39	source Island.hlsl
40	entry_point RefractionDepthManualResolvePS2
41	target ps_4_0
42
43	default_params
44	{
45
46	}
47}
48
49material Ogre/Island/RefractionDepthManualResolve
50{
51	technique RefractionDepthManualResolve
52	{
53		pass MS1
54		{
55			vertex_program_ref Ogre/Island/FullScreenQuadVS
56			{
57
58			}
59			fragment_program_ref Ogre/Island/RefractionDepthManualResolvePS1
60			{
61
62			}
63
64			cull_hardware none
65			cull_software none
66			depth_check off
67			depth_write off
68		}
69		pass MS2
70		{
71			vertex_program_ref Ogre/Island/FullScreenQuadVS
72			{
73
74			}
75			fragment_program_ref Ogre/Island/RefractionDepthManualResolvePS2
76			{
77
78			}
79
80			cull_hardware none
81			cull_software none
82			depth_check off
83			depth_write off
84		}
85		pass MS4
86		{
87			vertex_program_ref Ogre/Island/FullScreenQuadVS
88			{
89
90			}
91			fragment_program_ref Ogre/Island/RefractionDepthManualResolvePS4
92			{
93
94			}
95
96			cull_hardware none
97			cull_software none
98			depth_check off
99			depth_write off
100		}
101	}
102
103}
104
105fragment_program Ogre/Island/MainToBackBufferPS hlsl
106{
107	source Island.hlsl
108	entry_point MainToBackBufferPS
109	target ps_4_0
110
111	default_params
112	{
113		param_named g_MainBufferSizeMultiplier float2 0.0 0.0
114	}
115}
116
117material Ogre/Island/MainToBackBuffer
118{
119	technique MainToBackBuffer
120	{
121		pass Solid
122		{
123			vertex_program_ref Ogre/Island/FullScreenQuadVS
124			{
125
126			}
127			fragment_program_ref Ogre/Island/MainToBackBufferPS
128			{
129
130			}
131
132			cull_hardware none
133			cull_software none
134			depth_check off
135			depth_write off
136		}
137	}
138}
139
140vertex_program Ogre/Island/WaterNormalmapCombineVS hlsl
141{
142	source Island.hlsl
143	entry_point WaterNormalmapCombineVS
144	target vs_4_0
145
146	default_params
147	{
148
149	}
150}
151
152fragment_program Ogre/Island/WaterNormalmapCombinePS hlsl
153{
154	source Island.hlsl
155	entry_point WaterNormalmapCombinePS
156	target ps_4_0
157
158	default_params
159	{
160		param_named_auto g_CameraPosition camera_position
161		param_named g_WaterBumpTexcoordShift float2 0.0 0.0
162	}
163}
164
165material Ogre/Island/WaterNormalmapCombine
166{
167	technique WaterNormalmapCombine
168	{
169		pass Solid
170		{
171			vertex_program_ref Ogre/Island/WaterNormalmapCombineVS
172			{
173
174			}
175			fragment_program_ref Ogre/Island/WaterNormalmapCombinePS
176			{
177
178			}
179
180			cull_hardware none
181			cull_software none
182			depth_check off
183			depth_write off
184		}
185	}
186}
187
188vertex_program Ogre/Island/PassThroughVS hlsl
189{
190	source Island.hlsl
191	entry_point PassThroughVS
192	target vs_5_0
193
194	default_params
195	{
196
197	}
198}
199
200tessellation_hull_program Ogre/Island/PatchHS hlsl
201{
202	source Island.hlsl
203	entry_point PatchHS
204	target hs_5_0
205
206	default_params
207	{
208		param_named g_FrustumCullInHS float 0.0
209		param_named g_TerrainBeingRendered float 0.0
210		param_named_auto g_ModelViewProjectionMatrix worldviewproj_matrix
211		param_named_auto g_CameraPosition camera_position
212		param_named_auto g_CameraDirection view_direction
213	}
214}
215
216tessellation_domain_program Ogre/Island/HeightFieldPatchDS hlsl
217{
218	source Island.hlsl
219	entry_point HeightFieldPatchDS
220	target ds_5_0
221
222	default_params
223	{
224		param_named g_RenderCaustics float 0.0
225		param_named g_UseDynamicLOD float 0.0
226		param_named g_DynamicTessFactor float 0.0
227		param_named g_StaticTessFactor float 0.0
228		param_named g_SkipCausticsCalculation float 0.0
229		param_named_auto g_ModelViewProjectionMatrix worldviewproj_matrix
230		param_named_auto g_CameraPosition camera_position
231	}
232}
233
234fragment_program Ogre/Island/HeightFieldPatchPS hlsl
235{
236	source Island.hlsl
237	entry_point HeightFieldPatchPS
238	target ps_5_0
239
240	default_params
241	{
242		param_named g_HalfSpaceCullSign float 0.0
243		param_named g_HalfSpaceCullPosition float 0.0
244		param_named_auto g_LightModelViewProjectionMatrix worldviewproj_matrix
245		param_named_auto g_CameraPosition camera_position
246		param_named_auto g_LightPosition light_position
247	}
248}
249
250fragment_program Ogre/Island/ColorPS hlsl
251{
252	source IslandCommon.hlsl
253	entry_point ColorPS
254	target ps_5_0
255
256	default_params
257	{
258
259	}
260}
261
262material Ogre/Island/RenderHeightfield
263{
264	technique RenderHeightfield
265	{
266		pass Solid
267		{
268			vertex_program_ref Ogre/Island/PassThroughVS
269			{
270
271			}
272			tessellation_hull_program_ref Ogre/Island/PatchHS
273			{
274
275			}
276			tessellation_domain_program_ref Ogre/Island/HeightFieldPatchDS
277			{
278
279			}
280			fragment_program_ref Ogre/Island/HeightFieldPatchPS
281			{
282
283			}
284
285			cull_software back
286			depth_check on
287			depth_write on
288		}
289
290		pass DepthOnly
291		{
292			vertex_program_ref Ogre/Island/PassThroughVS
293			{
294
295			}
296			tessellation_hull_program_ref Ogre/Island/PatchHS
297			{
298
299			}
300			tessellation_domain_program_ref Ogre/Island/HeightFieldPatchDS
301			{
302
303			}
304			fragment_program_ref Ogre/Island/ColorPS
305			{
306
307			}
308
309			cull_software back
310			depth_check on
311			depth_write on
312		}
313	}
314}
315
316tessellation_domain_program Ogre/Island/WaterPatchDS hlsl
317{
318	source Island.hlsl
319	entry_point WaterPatchDS
320	target ds_5_0
321
322	default_params
323	{
324		param_named g_UseDynamicLOD float 0.0
325		param_named g_DynamicTessFactor float 0.0
326		param_named g_StaticTessFactor float 0.0
327		param_named_auto g_ModelViewProjectionMatrix worldviewproj_matrix
328		param_named_auto g_CameraPosition camera_position
329		param_named_auto g_LightPosition light_position
330		param_named g_WaterBumpTexcoordShift float2 0.0 0.0
331	}
332}
333
334fragment_program Ogre/Island/WaterPatchPS hlsl
335{
336	source IslandCommon.hlsl
337	entry_point WaterPatchPS
338	target ps_5_0
339
340	default_params
341	{
342		param_named_auto g_ModelViewMatrix worldview_matrix
343		param_named_auto g_ModelViewProjectionMatrix worldviewproj_matrix
344		param_named_auto g_LightModelViewProjectionMatrix worldviewproj_matrix
345		param_named_auto g_CameraPosition camera_position
346		param_named_auto g_LightPosition light_position
347		param_named g_WaterBumpTexcoordShift float2 0.0 0.0
348		param_named g_ScreenSizeInv float2 0.0 0.0
349		param_named g_ZNear float 0.0
350		param_named g_ZFar float 0.0
351		param_named g_something float 10.0
352	}
353}
354
355material Ogre/Island/RenderWater
356{
357	technique RenderWater
358	{
359		pass Solid
360		{
361			vertex_program_ref Ogre/Island/PassThroughVS
362			{
363
364			}
365			tessellation_hull_program_ref Ogre/Island/PatchHS
366			{
367
368			}
369			tessellation_domain_program_ref Ogre/Island/WaterPatchDS
370			{
371
372			}
373			fragment_program_ref Ogre/Island/WaterPatchPS
374			{
375
376			}
377
378			cull_software back
379			depth_check on
380			depth_write on
381		}
382
383	}
384}
385