__sampler2D V__NV__ColorInput = { __V__NV__ColorInputTex, __s0 }; #line 31 static const __sampler2D V__NV__DepthInput = { __V__NV__DepthInputTex, __s0 }; #line 56 float F__NV__GetLinearizedDepth( #line 56 in float2 uv) { #line 58 float _16 = 1.00000000e+00 - uv.y; #line 58 float _18 = g_sldDepthInvertY ? _16 : uv.y; #line 58 uv[1] = _18; #line 59 float4 _23 = float4(uv.x, uv.y, 0.00000000e+00, 0.00000000e+00); #line 59 float4 _24 = V__NV__DepthInput.t.SampleLevel(V__NV__DepthInput.s, _23.xy, _23.w); #line 59 float depth = _24.x; #line 60 float _28 = 1.00000000e+00 - depth; #line 60 float _29 = g_sldDepthInvertZ ? _28 : depth; #line 60 depth = _29; #line 65 float _31 = depth * 9.99000000e+02; #line 65 float _33 = 1.00000000e+03 - _31; #line 65 float _34 = depth / _33; #line 65 depth = _34; return depth; } #line 71 float F__NV__GetLuma( #line 71 in float3 color) { #line 74 float _39 = dot(float3(2.98999995e-01, 5.87000012e-01, 1.14000000e-01), color); return _39; } #line 78 struct S__VSOut { float4 pos : SV_POSITION; float2 uv : TEXCOORD0; }; #line 84 S__VSOut F__VSMain( #line 84 in uint vid : SV_VERTEXID) { #line 86 S__VSOut o = (S__VSOut)0; #line 87 bool _47 = vid == 2; #line 87 float _50 = _47 ? 2.00000000e+00 : 0.00000000e+00; #line 87 o.uv[0] = _50; #line 88 bool _52 = vid == 1; #line 88 float _55 = _52 ? 2.00000000e+00 : 0.00000000e+00; #line 88 o.uv[1] = _55; #line 89 float2 _58 = o.uv * float2(2.00000000e+00, -2.00000000e+00); #line 89 float2 _60 = _58 + float2(-1.00000000e+00, 1.00000000e+00); #line 89 float4 _65 = float4(_60.x, _60.y, 0.00000000e+00, 1.00000000e+00); #line 89 o.pos = _65; return o; } #line 93 void F__VSMainOut( #line 93 in uint vid : SV_VERTEXID, #line 93 out float4 position : SV_POSITION, #line 93 out float2 texcoord : TEXCOORD0) { #line 95 uint _71; #line 95 _71 = vid; #line 95 S__VSOut _72 = F__VSMain(_71); #line 95 S__VSOut o_73 = _72; #line 96 position = o_73.pos; #line 97 texcoord = o_73.uv; return; } #line 47 "GreenScreen.fx" Texture2D __V__OverlayTex1 : register(t4); Texture2D __srgbV__OverlayTex1 : register(t5); #line 48 Texture2D __V__OverlayTex2 : register(t6); Texture2D __srgbV__OverlayTex2 : register(t7); #line 49 static const __sampler2D V__sOverlayTex1 = { __V__OverlayTex1, __s0 }; #line 50 static const __sampler2D V__sOverlayTex2 = { __V__OverlayTex2, __s0 }; #line 52 void F__PSMain( #line 52 in S__VSOut i, #line 52 out float4 color : SV_TARGET) { #line 54 float4 _88 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv); #line 54 color = _88; #line 56 bool _92 = !depthReady; #line 56 if (_92) { return; } #line 61 float2 _93; #line 61 _93 = i.uv; #line 61 float _95 = F__NV__GetLinearizedDepth(_93); #line 61 float depth_96 = _95; #line 63 bool _101 = captureState == 0; #line 63 bool _103 = captureState == 1; #line 63 bool _104 = _101 || _103; #line 63 bool _106 = captureState == 3; #line 63 bool _107 = _104 || _106; #line 63 if (_107) { #line 65 float2 _111 = lerp(tileUV.xy, tileUV.zw, i.uv); #line 65 float2 greenScreenUV = _111; #line 66 float _114 = g_sldHue + 3.33299994e-01; #line 66 float _115 = frac(_114); #line 66 float hue = _115; #line 69 bool _118 = g_maskID == 0; #line 69 float _120 = hue * 6.00000000e+00; #line 69 float _122 = _120 - 3.00000000e+00; #line 69 float _123 = abs(_122); #line 69 float _125 = _123 - 1.00000000e+00; #line 69 float _127 = hue * 6.00000000e+00; #line 69 float _129 = _127 - 2.00000000e+00; #line 69 float _130 = abs(_129); #line 69 float _132 = 2.00000000e+00 - _130; #line 69 float _134 = hue * 6.00000000e+00; #line 69 float _136 = _134 - 4.00000000e+00; #line 69 float _137 = abs(_136); #line 69 float _139 = 2.00000000e+00 - _137; #line 69 float4 _141 = float4(_125, _132, _139, 1.00000000e+00); #line 69 float4 _142 = saturate(_141); #line 70 bool _144 = g_maskID == 1; #line 70 float4 _145 = V__sOverlayTex1.t.Sample(V__sOverlayTex1.s, greenScreenUV); #line 71 bool _147 = g_maskID == 2; #line 71 float4 _148 = V__sOverlayTex2.t.Sample(V__sOverlayTex2.s, greenScreenUV); #line 71 float4 _151 = _147.xxxx ? _148 : float4(0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00); #line 70 float4 _153 = _144.xxxx ? _145 : _151; #line 69 float4 _155 = _118.xxxx ? _142 : _153; #line 68 float4 mask = _155; #line 74 float _157 = g_sldDIST * g_sldDIST; #line 74 float _158 = _157 * g_sldDIST; #line 74 bool _159 = depth_96 > _158; #line 74 float depth_mask = ((float)_159); #line 75 float _163 = mask.w * depth_mask; #line 75 float3 _167 = lerp(color.xyz, mask.xyz, _163.xxx); #line 75 color.xyz = _167; } return; }