|
1 void VS_Clear( in float3 inPosition : POSITION, in float4 inColor : COLOR, |
|
2 out float4 outPosition : SV_POSITION, out float4 outColor : COLOR) |
|
3 { |
|
4 outPosition = float4(inPosition, 1.0f); |
|
5 outColor = inColor; |
|
6 } |
|
7 |
|
8 // Assume we are in SM4+, which has 8 color outputs |
|
9 struct PS_OutputMultiple |
|
10 { |
|
11 float4 color0 : SV_TARGET0; |
|
12 float4 color1 : SV_TARGET1; |
|
13 float4 color2 : SV_TARGET2; |
|
14 float4 color3 : SV_TARGET3; |
|
15 float4 color4 : SV_TARGET4; |
|
16 float4 color5 : SV_TARGET5; |
|
17 float4 color6 : SV_TARGET6; |
|
18 float4 color7 : SV_TARGET7; |
|
19 }; |
|
20 |
|
21 PS_OutputMultiple PS_ClearMultiple(in float4 inPosition : SV_POSITION, in float4 inColor : COLOR) |
|
22 { |
|
23 PS_OutputMultiple outColor; |
|
24 outColor.color0 = inColor; |
|
25 outColor.color1 = inColor; |
|
26 outColor.color2 = inColor; |
|
27 outColor.color3 = inColor; |
|
28 outColor.color4 = inColor; |
|
29 outColor.color5 = inColor; |
|
30 outColor.color6 = inColor; |
|
31 outColor.color7 = inColor; |
|
32 return outColor; |
|
33 } |
|
34 |
|
35 float4 PS_ClearSingle(in float4 inPosition : SV_Position, in float4 inColor : COLOR) : SV_Target0 |
|
36 { |
|
37 return inColor; |
|
38 } |