Texture2D __srgbV__NV__ColorInputTex : register(t1); #line 29 Texture2D __V__NV__DepthInputTex : 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 71 float F__NV__GetLuma( #line 71 in float3 color) { #line 74 float _20 = dot(float3(2.98999995e-01, 5.87000012e-01, 1.14000000e-01), color); return _20; } #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 _28 = vid == 2; #line 87 float _31 = _28 ? 2.00000000e+00 : 0.00000000e+00; #line 87 o.uv[0] = _31; #line 88 bool _33 = vid == 1; #line 88 float _36 = _33 ? 2.00000000e+00 : 0.00000000e+00; #line 88 o.uv[1] = _36; #line 89 float2 _39 = o.uv * float2(2.00000000e+00, -2.00000000e+00); #line 89 float2 _41 = _39 + float2(-1.00000000e+00, 1.00000000e+00); #line 89 float4 _46 = float4(_41.x, _41.y, 0.00000000e+00, 1.00000000e+00); #line 89 o.pos = _46; 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 _52; #line 95 _52 = vid; #line 95 S__VSOut _53 = F__VSMain(_52); #line 95 S__VSOut o_54 = _53; #line 96 position = o_54.pos; #line 97 texcoord = o_54.uv; return; } #line 75 "Watercolor.fx" float2 F__get_gradient( #line 75 in float2 uv, #line 75 in float d) { #line 77 float2 _62 = float2(d, 0.00000000e+00); #line 77 float2 offset = _62; #line 78 float4 LRTB = float4(0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00); #line 79 float4 _67 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, uv, int2(-1, 0)); #line 79 float3 _68; #line 79 _68 = _67.xyz; #line 79 float _70 = F__NV__GetLuma(_68); #line 79 LRTB[0] = _70; #line 80 float4 _72 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, uv, int2(1, 0)); #line 80 float3 _73; #line 80 _73 = _72.xyz; #line 80 float _75 = F__NV__GetLuma(_73); #line 80 LRTB[1] = _75; #line 81 float4 _77 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, uv, int2(0, -1)); #line 81 float3 _78; #line 81 _78 = _77.xyz; #line 81 float _80 = F__NV__GetLuma(_78); #line 81 LRTB[2] = _80; #line 82 float4 _82 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, uv, int2(0, 1)); #line 82 float3 _83; #line 82 _83 = _82.xyz; #line 82 float _85 = F__NV__GetLuma(_83); #line 82 LRTB[3] = _85; #line 83 float2 _88 = LRTB.yw - LRTB.xz; #line 83 float2 _90 = _88 / d.xx; #line 83 float2 _92 = _90 * float2(5.00000000e-01, 5.00000000e-01); return _92; } #line 86 float3 F__hash( #line 86 in float2 p) { #line 89 float3 _98 = p.xyx + float3(0.00000000e+00, 3.33299994e-01, 6.66599989e-01); #line 89 float3 _100 = float3(1.61803412e+00, 1.61803412e+00, 1.61803412e+00) * _98; #line 89 float3 _101 = frac(_100); #line 89 float3 p3 = _101; #line 90 float3 _105 = p3.zxy + float3(3.14159274e+00, 3.14159274e+00, 3.14159274e+00); #line 90 float _106 = dot(p3, _105); #line 90 float3 _108 = p3 + _106.xxx; #line 90 p3 = _108; #line 91 float3 _111 = p3.xxy + p3.yzz; #line 91 float3 _113 = _111 * p3.zyx; #line 91 float3 _114 = frac(_113); return _114; } #line 94 float3 F__get_noise( #line 94 in float2 uv) { #line 96 float2 _120 = float2(((float)((int)_1.x)), ((float)((int)_1.y))); #line 96 float2 _122 = _120 * float2(5.00000000e-01, 5.00000000e-01); #line 96 float2 _123 = uv * _122; #line 96 uv = _123; #line 97 float2 _124 = frac(uv); #line 97 float2 fractional = _124; #line 98 float2 _126 = uv - fractional; #line 98 float2 whole = _126; #line 101 float2 _128 = fractional * fractional; #line 101 float2 _130 = float2(2.00000000e+00, 2.00000000e+00) * fractional; #line 101 float2 _132 = float2(3.00000000e+00, 3.00000000e+00) - _130; #line 101 float2 _133 = _128 * _132; #line 101 fractional = _133; #line 103 float2 _135 = whole + float2(0.00000000e+00, 0.00000000e+00); #line 103 float2 _136; #line 103 _136 = _135; #line 103 float3 _137 = F__hash(_136); #line 103 float3 noisex = _137; #line 104 float2 _140 = whole + float2(1.00000000e+00, 0.00000000e+00); #line 104 float2 _141; #line 104 _141 = _140; #line 104 float3 _142 = F__hash(_141); #line 104 float3 noisey = _142; #line 105 float2 _145 = whole + float2(0.00000000e+00, 1.00000000e+00); #line 105 float2 _146; #line 105 _146 = _145; #line 105 float3 _147 = F__hash(_146); #line 105 float3 noisez = _147; #line 106 float2 _150 = whole + float2(1.00000000e+00, 1.00000000e+00); #line 106 float2 _151; #line 106 _151 = _150; #line 106 float3 _152 = F__hash(_151); #line 106 float3 noisew = _152; #line 108 float3 _155 = lerp(noisex, noisey, fractional.x.xxx); #line 108 float3 xinterp1 = _155; #line 109 float3 _158 = lerp(noisez, noisew, fractional.x.xxx); #line 109 float3 xinterp2 = _158; #line 111 float3 _161 = lerp(xinterp1, xinterp2, fractional.y.xxx); #line 111 float3 _163 = _161 * float3(2.00000000e+00, 2.00000000e+00, 2.00000000e+00); #line 111 float3 _165 = _163 - float3(1.00000000e+00, 1.00000000e+00, 1.00000000e+00); return _165; } #line 114 void F__PS_ColorGrade( #line 114 in S__VSOut i, #line 114 out float4 color : SV_TARGET) { #line 116 float4 _171 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv); #line 116 color = _171; #line 119 float _173 = g_sldGamma * 2.00000000e+00; #line 119 float _174 = exp2(_173); #line 119 float3 _177 = pow(color.xyz, _174.xxx); #line 119 float _179 = g_sldExposure * 2.00000000e+00; #line 119 float _180 = exp2(_179); #line 119 float3 _182 = _177 * _180.xxx; #line 119 color.xyz = _182; #line 120 float3 _184 = saturate(color.xyz); #line 120 float3 _187 = smoothstep(float3(0.00000000e+00, 0.00000000e+00, 0.00000000e+00), float3(1.00000000e+00, 1.00000000e+00, 1.00000000e+00), _184); #line 120 float _189 = g_sldContrast - 1.00000000e+00; #line 120 float _190 = exp2(_189); #line 120 float3 _193 = lerp(color.xyz, _187, _190.xxx); #line 120 color.xyz = _193; #line 121 float3 _194; #line 121 _194 = color.xyz; #line 121 float _196 = F__NV__GetLuma(_194); #line 121 float _198 = g_sldSaturation * 5.00000000e-01; #line 121 float _200 = _198 + 5.00000000e-01; #line 121 float3 _204 = lerp(_196.xxx, color.xyz, _200.xxx); #line 121 color.xyz = _204; #line 123 float3 canvas_col = float3(1.00000000e+00, 9.31372523e-01, 7.10784316e-01); #line 124 float3 _209 = lerp(float3(1.00000000e+00, 1.00000000e+00, 1.00000000e+00), canvas_col, g_sldTint.xxx); #line 124 float3 _211 = color.xyz * _209; #line 124 color.xyz = _211; #line 128 float pencil = 0.00000000e+00; #line 129 int t = 1; #line 129 bool _222 = t <= 4; #line 129 while (_222) { { #line 131 float2 _228 = i.uv * float2(2.50000000e-01, 2.50000000e-01); #line 131 float _231 = ((float)t) * 3.33000004e-01; #line 131 float2 _233 = _228 + _231.xx; #line 131 float2 _234; #line 131 _234 = _233; #line 131 float3 _235 = F__get_noise(_234); #line 131 float2 _238 = _235.xy * float2(9.99999978e-03, 9.99999978e-03); #line 131 float2 _240 = _238 * g_sldPencilFuzzyness.xx; #line 131 float2 noise = _240; #line 132 float2 _243 = i.uv + noise; #line 132 float _245 = ((float)t) * g_sldPencilBlur; #line 132 float _247 = 1.50000000e+00 + _245; #line 132 float2 _248; #line 132 float _249; #line 132 _248 = _243; #line 132 _249 = _247; #line 132 float2 _250 = F__get_gradient(_248, _249); #line 132 float _251 = length(_250); #line 132 float _252 = pencil + _251; #line 132 pencil = _252; } int _223 = t; #line 129 int _225 = _223 + 1; #line 129 t = _225; #line 129 _222 = t <= 4; } #line 134 float _254 = pencil / 4.00000000e+00; #line 134 pencil = _254; #line 135 float _255 = pencil * g_sldPencilInt; #line 135 float _257 = _255 * 1.00000000e+01; #line 135 float _259 = 1.00000000e+00 - _257; #line 135 pencil = _259; #line 136 color[3] = pencil; return; } #line 139 void F__PS_WaterColor( #line 139 in S__VSOut i, #line 139 out float4 color : SV_TARGET) { #line 141 float4 _265 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv); #line 141 color = _265; #line 143 float2 paint_uv = i.uv; #line 144 float3 watercolor = float3(0.00000000e+00, 0.00000000e+00, 0.00000000e+00); #line 147 int j = 0; #line 147 bool _278 = j < 24; #line 147 [loop] while (_278) { { #line 149 float2 _282; #line 149 _282 = paint_uv; #line 149 float3 _283 = F__get_noise(_282); #line 149 float3 _285 = _283 * float3(1.99999996e-02, 1.99999996e-02, 1.99999996e-02); #line 149 float3 jitter = _285; #line 150 float3 gradient = float3(0.00000000e+00, 0.00000000e+00, 0.00000000e+00); #line 151 float2 _289; #line 151 float _290; #line 151 _289 = paint_uv; #line 151 _290 = 2.00000000e+00; #line 151 float2 _292 = F__get_gradient(_289, _290); #line 151 float2 _295 = jitter.xy * float2(5.00000024e-04, 5.00000024e-04); #line 151 float2 _296 = _292 + _295; #line 151 gradient.xy = _296; #line 152 float _298 = length(gradient.xy); #line 152 gradient[2] = _298; #line 155 float2 _301 = gradient.yx * float2(1.00000000e+00, -1.00000000e+00); #line 155 float2 tangent = _301; #line 156 float2 _303 = -tangent; #line 156 float2 _306 = lerp(gradient.xy, _303, g_sldDetail.xx); #line 156 float2 increment = _306; #line 157 float _310 = 1.00000000e+00 / _1.x; #line 157 float _313 = 1.00000000e+00 / _1.y; #line 157 float2 _314 = float2(_310, _313); #line 157 float2 _315 = _314 * increment; #line 157 float _318 = gradient.z + 9.99999997e-07; #line 157 float2 _320 = _315 / _318.xx; #line 157 float _323 = 1.60000000e+01 * gradient.z; #line 157 float _325 = 1.00000000e+00 + _323; #line 157 float2 _327 = _320 / _325.xx; #line 157 float2 _328 = paint_uv - _327; #line 157 paint_uv = _328; #line 158 float4 _333 = float4(paint_uv.x, paint_uv.y, 0.00000000e+00, 0.00000000e+00); #line 158 float4 _334 = V__NV__ColorInput.t.SampleLevel(V__NV__ColorInput.s, _333.xy, _333.w); #line 158 float3 _336 = watercolor + _334.xyz; #line 158 watercolor = _336; #line 160 float _338 = dot(jitter, float3(3.33000004e-01, 3.33000004e-01, 3.33000004e-01)); #line 160 float3 _341 = lerp(_338.xxx, jitter, float3(1.50000006e-01, 1.50000006e-01, 1.50000006e-01)); #line 160 float3 _343 = _341 * g_sldFuzz.xxx; #line 160 float3 _345 = _343 * float3(2.50000000e+01, 2.50000000e+01, 2.50000000e+01); #line 160 float3 _346 = watercolor + _345; #line 160 watercolor = _346; } int _279 = j; #line 147 int _281 = _279 + 1; #line 147 j = _281; #line 147 _278 = j < 24; } #line 163 float3 _348 = watercolor / float3(2.40000000e+01, 2.40000000e+01, 2.40000000e+01); #line 163 watercolor = _348; #line 166 float2 _349; #line 166 _349 = i.uv; #line 166 float3 _351 = F__get_noise(_349); #line 166 float _354 = 1.00000000e+00 / _1.x; #line 166 float _357 = 1.00000000e+00 / _1.y; #line 166 float2 _358 = float2(_354, _357); #line 166 float2 _360 = i.uv + _358; #line 166 float2 _361; #line 166 _361 = _360; #line 166 float3 _362 = F__get_noise(_361); #line 166 float3 _363 = _351 - _362; #line 166 float3 papercolor = _363; #line 167 float3 _366 = float3(2.50000004e-02, 2.50000004e-02, 2.50000004e-02) * papercolor; #line 167 float3 _368 = float3(8.00000012e-01, 8.00000012e-01, 8.00000012e-01) + _366; #line 167 float3 _371 = float3(7.50000030e-02, 7.50000030e-02, 7.50000030e-02) * papercolor.xxx; #line 167 float3 _372 = _368 + _371; #line 167 papercolor = _372; #line 169 float4 _374 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv); #line 169 float pencilcolor = _374.w; #line 171 float3 _377 = papercolor * watercolor; #line 171 float3 _379 = _377 - float3(1.00000000e+00, 1.00000000e+00, 1.00000000e+00); #line 171 float _380 = sqrt(pencilcolor); #line 171 float3 _382 = _379 + _380.xxx; #line 171 color.xyz = _382; #line 172 color[3] = 1.00000000e+00; return; } €0(€