ex : register(t2); Texture2D __srgbV__NV__DepthInputTex : register(t3); SamplerState __s0 : register(s0); #line 30 static const __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 _20 = 1.00000000e+00 - uv.y; #line 58 float _22 = g_sldDepthInvertY ? _20 : uv.y; #line 58 uv[1] = _22; #line 59 float4 _27 = float4(uv.x, uv.y, 0.00000000e+00, 0.00000000e+00); #line 59 float4 _28 = V__NV__DepthInput.t.SampleLevel(V__NV__DepthInput.s, _27.xy, _27.w); #line 59 float depth = _28.x; #line 60 float _32 = 1.00000000e+00 - depth; #line 60 float _33 = g_sldDepthInvertZ ? _32 : depth; #line 60 depth = _33; #line 65 float _35 = depth * 9.99000000e+02; #line 65 float _37 = 1.00000000e+03 - _35; #line 65 float _38 = depth / _37; #line 65 depth = _38; return depth; } #line 71 float F__NV__GetLuma( #line 71 in float3 color) { #line 74 float _43 = dot(float3(2.98999995e-01, 5.87000012e-01, 1.14000000e-01), color); return _43; } #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 _51 = vid == 2; #line 87 float _54 = _51 ? 2.00000000e+00 : 0.00000000e+00; #line 87 o.uv[0] = _54; #line 88 bool _56 = vid == 1; #line 88 float _59 = _56 ? 2.00000000e+00 : 0.00000000e+00; #line 88 o.uv[1] = _59; #line 89 float2 _62 = o.uv * float2(2.00000000e+00, -2.00000000e+00); #line 89 float2 _64 = _62 + float2(-1.00000000e+00, 1.00000000e+00); #line 89 float4 _69 = float4(_64.x, _64.y, 0.00000000e+00, 1.00000000e+00); #line 89 o.pos = _69; 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 _75; #line 95 _75 = vid; #line 95 S__VSOut _76 = F__VSMain(_75); #line 95 S__VSOut o_77 = _76; #line 96 position = o_77.pos; #line 97 texcoord = o_77.uv; return; } #line 67 "Stickers.fx" Texture2D __V__OverlayTex1 : register(t4); Texture2D __srgbV__OverlayTex1 : register(t5); #line 68 Texture2D __V__OverlayTex2 : register(t6); Texture2D __srgbV__OverlayTex2 : register(t7); #line 69 Texture2D __V__OverlayTex3 : register(t8); Texture2D __srgbV__OverlayTex3 : register(t9); #line 70 Texture2D __V__OverlayTex4 : register(t10); Texture2D __srgbV__OverlayTex4 : register(t11); #line 71 Texture2D __V__OverlayTex5 : register(t12); Texture2D __srgbV__OverlayTex5 : register(t13); #line 72 Texture2D __V__OverlayTex6 : register(t14); Texture2D __srgbV__OverlayTex6 : register(t15); #line 73 Texture2D __V__OverlayTex7 : register(t16); Texture2D __srgbV__OverlayTex7 : register(t17); #line 74 Texture2D __V__OverlayTex8 : register(t18); Texture2D __srgbV__OverlayTex8 : register(t19); #line 76 static const __sampler2D V__sOverlayTex1 = { __V__OverlayTex1, __s0 }; #line 77 static const __sampler2D V__sOverlayTex2 = { __V__OverlayTex2, __s0 }; #line 78 static const __sampler2D V__sOverlayTex3 = { __V__OverlayTex3, __s0 }; #line 79 static const __sampler2D V__sOverlayTex4 = { __V__OverlayTex4, __s0 }; #line 80 static const __sampler2D V__sOverlayTex5 = { __V__OverlayTex5, __s0 }; #line 81 static const __sampler2D V__sOverlayTex6 = { __V__OverlayTex6, __s0 }; #line 82 static const __sampler2D V__sOverlayTex7 = { __V__OverlayTex7, __s0 }; #line 83 static const __sampler2D V__sOverlayTex8 = { __V__OverlayTex8, __s0 }; #line 85 void F__PSMain( #line 85 in S__VSOut i, #line 85 out float4 color : SV_TARGET) { #line 87 float4 _103 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv); #line 87 color = _103; #line 89 bool _108 = captureState == 0; #line 89 bool _110 = captureState == 1; #line 89 bool _111 = _108 || _110; #line 89 bool _113 = captureState == 3; #line 89 bool _114 = _111 || _113; #line 89 bool _116 = captureState == 2; #line 89 bool _117 = _114 || _116; #line 89 if (_117) { #line 91 float2 rotatevec = float2(0.00000000e+00, 0.00000000e+00); #line 92 float _121 = g_sldROTATE * 3.14159274e+00; #line 92 float _122; #line 92 float _123; #line 92 _122 = sin(_121), _123 = cos(_121); #line 92 rotatevec[1] = _122; #line 92 rotatevec[0] = _123; #line 93 float _126 = -rotatevec.y; #line 93 float2x2 _130 = float2x2(rotatevec.x, _126, rotatevec.y, rotatevec.x); #line 93 float2x2 rotate2Dmat = _130; #line 95 float2 _135 = lerp(tileUV.xy, tileUV.zw, i.uv); #line 95 float2 maskuv = _135; #line 96 float _138 = 1.00000000e+00 - g_sldPosY; #line 96 float2 _139 = float2(g_sldPosX, _138); #line 96 float2 _141 = _139 * float2(2.00000000e+00, 2.00000000e+00); #line 96 float2 _143 = _141 - float2(1.00000000e+00, 1.00000000e+00); #line 96 float2 _144 = maskuv - _143; #line 96 maskuv = _144; #line 97 float2 _146 = maskuv - float2(5.00000000e-01, 5.00000000e-01); #line 97 maskuv = _146; #line 98 float _149 = 1.00000000e+00 / _1.y; #line 98 float _151 = ((float)((int)_1.x)) * _149; #line 98 float _153 = maskuv.x * _151; #line 98 maskuv[0] = _153; #line 99 float2 _154 = mul(maskuv, rotate2Dmat); #line 99 maskuv = _154; #line 100 float _157 = 1.00000000e+00 / _1.y; #line 100 float _159 = ((float)((int)_1.x)) * _157; #line 100 float _161 = maskuv.x / _159; #line 100 maskuv[0] = _161; #line 101 float _163 = g_sldSIZE + 9.99999997e-07; #line 101 float2 _165 = maskuv / _163.xx; #line 101 maskuv = _165; #line 103 float4 mask = float4(0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00); #line 104 float2 mask_size = float2(1.00000000e+00, 1.00000000e+00); #line 106 switch (g_maskID) { case 1: { #line 109 int2 _172; V__sOverlayTex1.t.GetDimensions(_172.x, _172.y); #line 109 mask_size = ((float2)_172); #line 110 float _176 = mask_size.x / mask_size.y; #line 110 float2 _178 = float2(_176, 1.00000000e+00); #line 110 float2 _179 = maskuv * _178; #line 110 float2 _181 = _179 + float2(5.00000000e-01, 5.00000000e-01); #line 110 maskuv = _181; #line 111 float4 _182 = V__sOverlayTex1.t.Sample(V__sOverlayTex1.s, maskuv); #line 111 mask = _182; break; } case 2: { #line 114 int2 _184; V__sOverlayTex2.t.GetDimensions(_184.x, _184.y); #line 114 mask_size = ((float2)_184); #line 115 float _188 = mask_size.x / mask_size.y; #line 115 float2 _190 = float2(_188, 1.00000000e+00); #line 115 float2 _191 = maskuv * _190; #line 115 float2 _193 = _191 + float2(5.00000000e-01, 5.00000000e-01); #line 115 maskuv = _193; #line 116 float4 _194 = V__sOverlayTex2.t.Sample(V__sOverlayTex2.s, maskuv); #line 116 mask = _194; break; } case 3: { #line 119 int2 _196; V__sOverlayTex3.t.GetDimensions(_196.x, _196.y); #line 119 mask_size = ((float2)_196); #line 120 float _200 = mask_size.x / mask_size.y; #line 120 float2 _202 = float2(_200, 1.00000000e+00); #line 120 float2 _203 = maskuv * _202; #line 120 float2 _205 = _203 + float2(5.00000000e-01, 5.00000000e-01); #line 120 maskuv = _205; #line 121 float4 _206 = V__sOverlayTex3.t.Sample(V__sOverlayTex3.s, maskuv); #line 121 mask = _206; break; } case 4: { #line 124 int2 _208; V__sOverlayTex4.t.GetDimensions(_208.x, _208.y); #line 124 mask_size = ((float2)_208); #line 125 float _212 = mask_size.x / mask_size.y; #line 125 float2 _214 = float2(_212, 1.00000000e+00); #line 125 float2 _215 = maskuv * _214; #line 125 float2 _217 = _215 + float2(5.00000000e-01, 5.00000000e-01); #line 125 maskuv = _217; #line 126 float4 _218 = V__sOverlayTex4.t.Sample(V__sOverlayTex4.s, maskuv); #line 126 mask = _218; break; } case 5: { #line 129 int2 _220; V__sOverlayTex5.t.GetDimensions(_220.x, _220.y); #line 129 mask_size = ((float2)_220); #line 130 float _224 = mask_size.x / mask_size.y; #line 130 float2 _226 = float2(_224, 1.00000000e+00); #line 130 float2 _227 = maskuv * _226; #line 130 float2 _229 = _227 + float2(5.00000000e-01, 5.00000000e-01); #line 130 maskuv = _229; #line 131 float4 _230 = V__sOverlayTex5.t.Sample(V__sOverlayTex5.s, maskuv); #line 131 mask = _230; break; } case 6: { #line 134 int2 _232; V__sOverlayTex6.t.GetDimensions(_232.x, _232.y); #line 134 mask_size = ((float2)_232); #line 135 float _236 = mask_size.x / mask_size.y; #line 135 float2 _238 = float2(_236, 1.00000000e+00); #line 135 float2 _239 = maskuv * _238; #line 135 float2 _241 = _239 + float2(5.00000000e-01, 5.00000000e-01); #line 135 maskuv = _241; #line 136 float4 _242 = V__sOverlayTex6.t.Sample(V__sOverlayTex6.s, maskuv); #line 136 mask = _242; break; } case 7: { #line 139 int2 _244; V__sOverlayTex7.t.GetDimensions(_244.x, _244.y); #line 139 mask_size = ((float2)_244); #line 140 float _248 = mask_size.x / mask_size.y; #line 140 float2 _250 = float2(_248, 1.00000000e+00); #line 140 float2 _251 = maskuv * _250; #line 140 float2 _253 = _251 + float2(5.00000000e-01, 5.00000000e-01); #line 140 maskuv = _253; #line 141 float4 _254 = V__sOverlayTex7.t.Sample(V__sOverlayTex7.s, maskuv); #line 141 mask = _254; break; } case 8: { #line 144 int2 _256; V__sOverlayTex8.t.GetDimensions(_256.x, _256.y); #line 144 mask_size = ((float2)_256); #line 145 float _260 = mask_size.x / mask_size.y; #line 145 float2 _262 = float2(_260, 1.00000000e+00); #line 145 float2 _263 = maskuv * _262; #line 145 float2 _265 = _263 + float2(5.00000000e-01, 5.00000000e-01); #line 145 maskuv = _265; #line 146 float4 _266 = V__sOverlayTex8.t.Sample(V__sOverlayTex8.s, maskuv); #line 146 mask = _266; break; } } #line 150 float2 _267 = maskuv * maskuv; #line 150 float2 _268 = maskuv - _267; #line 150 float2 _269 = saturate(_268); #line 150 bool _271 = all(((bool2)_269)); #line 150 float _274 = mask.w * ((float)_271); #line 150 mask[3] = _274; #line 152 float2 _275; #line 152 _275 = i.uv; #line 152 float _277 = F__NV__GetLinearizedDepth(_275); #line 152 float depth_278 = _277; #line 154 float _279 = g_sldDIST * g_sldDIST; #line 154 float _280 = _279 * g_sldDIST; #line 154 bool _281 = depth_278 > _280; #line 154 float depth_mask = ((float)_281); #line 155 float _285 = mask.w * depth_mask; #line 155 float _286 = _285 * g_sldTRANSP; #line 155 float3 _290 = lerp(color.xyz, mask.xyz, _286.xxx); #line 155 color.xyz = _290; } return; }