805 lines
62 KiB
GLSL
805 lines
62 KiB
GLSL
Shader "Hidden/Universal Render Pipeline/LutBuilderLdr"
|
|
{
|
|
Properties
|
|
{
|
|
}
|
|
SubShader
|
|
{
|
|
LOD 100
|
|
Tags { "RenderPipeline" = "UniversalPipeline" "RenderType" = "Opaque" }
|
|
Pass
|
|
{
|
|
Name "LutBuilderLdr"
|
|
LOD 100
|
|
Tags { "RenderPipeline" = "UniversalPipeline" "RenderType" = "Opaque" }
|
|
ZTest Always
|
|
ZWrite Off
|
|
Cull Off
|
|
GpuProgramID 44091
|
|
|
|
HLSLPROGRAM
|
|
|
|
// https://docs.unity3d.com/Manual/SL-PragmaDirectives.html
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma target 4.0
|
|
#pragma multi_compile _ STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
float4 _BlitScaleBias;
|
|
|
|
static float4 vertex_uniform_buffer_0[131];
|
|
static float4 gl_Position;
|
|
static int gl_VertexIndex;
|
|
static int gl_BaseVertexARB;
|
|
static float2 vertex_output_1;
|
|
|
|
struct Vertex_Stage_Input
|
|
{
|
|
uint gl_VertexIndex : SV_VertexID;
|
|
uint gl_BaseVertexARB : SV_StartVertexLocation;
|
|
};
|
|
|
|
struct Vertex_Stage_Output
|
|
{
|
|
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
|
|
float4 gl_Position : SV_Position;
|
|
};
|
|
|
|
void vert_main()
|
|
{
|
|
float vertex_unnamed_32 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
|
|
float vertex_unnamed_33 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
|
|
gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f);
|
|
gl_Position.y = mad(vertex_unnamed_33, 2.0f, -1.0f);
|
|
precise float vertex_unnamed_43 = (-0.0f) - vertex_unnamed_33;
|
|
precise float vertex_unnamed_45 = vertex_unnamed_43 + 1.0f;
|
|
vertex_output_1.x = mad(vertex_unnamed_32, vertex_uniform_buffer_0[130u].x, vertex_uniform_buffer_0[130u].z);
|
|
vertex_output_1.y = mad(vertex_unnamed_45, vertex_uniform_buffer_0[130u].y, vertex_uniform_buffer_0[130u].w);
|
|
gl_Position.z = 1.0f;
|
|
gl_Position.w = 1.0f;
|
|
}
|
|
|
|
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
|
|
{
|
|
vertex_uniform_buffer_0[130] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
|
|
|
|
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
|
|
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
|
|
vert_main();
|
|
Vertex_Stage_Output stage_output;
|
|
stage_output.gl_Position = gl_Position;
|
|
stage_output.vertex_output_1 = vertex_output_1;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
float4 _BlitScaleBias;
|
|
|
|
static float4 vertex_uniform_buffer_0[100];
|
|
static float4 gl_Position;
|
|
static uint gl_Layer;
|
|
static int gl_VertexIndex;
|
|
static int gl_InstanceIndex;
|
|
static int gl_BaseVertexARB;
|
|
static int gl_BaseInstanceARB;
|
|
static float2 vertex_output_1;
|
|
|
|
struct Vertex_Stage_Input
|
|
{
|
|
uint gl_VertexIndex : SV_VertexID;
|
|
uint gl_InstanceIndex : SV_InstanceID;
|
|
uint gl_BaseVertexARB : SV_StartVertexLocation;
|
|
uint gl_BaseInstanceARB : SV_StartInstanceLocation;
|
|
};
|
|
|
|
struct Vertex_Stage_Output
|
|
{
|
|
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
|
|
float4 gl_Position : SV_Position;
|
|
uint gl_Layer : SV_RenderTargetArrayIndex;
|
|
};
|
|
|
|
void vert_main()
|
|
{
|
|
float vertex_unnamed_35 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
|
|
float vertex_unnamed_36 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
|
|
gl_Position.x = mad(vertex_unnamed_35, 2.0f, -1.0f);
|
|
gl_Position.y = mad(vertex_unnamed_36, 2.0f, -1.0f);
|
|
precise float vertex_unnamed_46 = (-0.0f) - vertex_unnamed_36;
|
|
precise float vertex_unnamed_48 = vertex_unnamed_46 + 1.0f;
|
|
vertex_output_1.x = mad(vertex_unnamed_35, vertex_uniform_buffer_0[99u].x, vertex_uniform_buffer_0[99u].z);
|
|
vertex_output_1.y = mad(vertex_unnamed_48, vertex_uniform_buffer_0[99u].y, vertex_uniform_buffer_0[99u].w);
|
|
gl_Position.z = 1.0f;
|
|
gl_Position.w = 1.0f;
|
|
gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u);
|
|
}
|
|
|
|
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
|
|
{
|
|
vertex_uniform_buffer_0[99] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
|
|
|
|
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
|
|
gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB);
|
|
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
|
|
gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB;
|
|
vert_main();
|
|
Vertex_Stage_Output stage_output;
|
|
stage_output.gl_Position = gl_Position;
|
|
stage_output.gl_Layer = gl_Layer;
|
|
stage_output.vertex_output_1 = vertex_output_1;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
float4 _Lut_Params;
|
|
float4 _ColorBalance;
|
|
float4 _ColorFilter;
|
|
float4 _ChannelMixerRed;
|
|
float4 _ChannelMixerGreen;
|
|
float4 _ChannelMixerBlue;
|
|
float4 _HueSatCon;
|
|
float4 _Lift;
|
|
float4 _Gamma;
|
|
float4 _Gain;
|
|
float4 _Shadows;
|
|
float4 _Midtones;
|
|
float4 _Highlights;
|
|
float4 _ShaHiLimits;
|
|
float4 _SplitShadows;
|
|
float4 _SplitHighlights;
|
|
|
|
static float4 fragment_uniform_buffer_0[152];
|
|
Texture2D<float4> _CurveMaster;
|
|
Texture2D<float4> _CurveRed;
|
|
Texture2D<float4> _CurveGreen;
|
|
Texture2D<float4> _CurveBlue;
|
|
Texture2D<float4> _CurveHueVsHue;
|
|
Texture2D<float4> _CurveHueVsSat;
|
|
Texture2D<float4> _CurveSatVsSat;
|
|
Texture2D<float4> _CurveLumVsSat;
|
|
SamplerState S0;
|
|
|
|
static float2 fragment_input_1;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
precise float fragment_unnamed_51 = fragment_input_1.x * fragment_uniform_buffer_0[136u].x;
|
|
float fragment_unnamed_53 = floor(fragment_unnamed_51);
|
|
precise float fragment_unnamed_59 = (-0.0f) - fragment_unnamed_53;
|
|
precise float fragment_unnamed_65 = fragment_unnamed_53 * fragment_uniform_buffer_0[136u].z;
|
|
precise float fragment_unnamed_69 = fragment_unnamed_65 * fragment_uniform_buffer_0[136u].w;
|
|
precise float fragment_unnamed_76 = (-0.0f) - fragment_uniform_buffer_0[136u].z;
|
|
precise float fragment_unnamed_77 = mad(fragment_input_1.x, fragment_uniform_buffer_0[136u].x, fragment_unnamed_59) + fragment_unnamed_76;
|
|
precise float fragment_unnamed_78 = fragment_input_1.y + fragment_unnamed_76;
|
|
float fragment_unnamed_84 = asfloat(asuint(fragment_uniform_buffer_0[136u]).w);
|
|
precise float fragment_unnamed_87 = fragment_unnamed_77 * fragment_unnamed_84;
|
|
precise float fragment_unnamed_88 = fragment_unnamed_78 * fragment_unnamed_84;
|
|
precise float fragment_unnamed_89 = fragment_unnamed_69 * asfloat(1073741824u);
|
|
precise float fragment_unnamed_115 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_87, fragment_unnamed_88, fragment_unnamed_89)) * fragment_uniform_buffer_0[137u].x;
|
|
precise float fragment_unnamed_116 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_87, fragment_unnamed_88, fragment_unnamed_89)) * fragment_uniform_buffer_0[137u].y;
|
|
precise float fragment_unnamed_117 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_87, fragment_unnamed_88, fragment_unnamed_89)) * fragment_uniform_buffer_0[137u].z;
|
|
precise float fragment_unnamed_161 = mad(mad(log2(max(mad(dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_115, fragment_unnamed_116, fragment_unnamed_117)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
|
|
precise float fragment_unnamed_163 = mad(mad(log2(max(mad(dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_115, fragment_unnamed_116, fragment_unnamed_117)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
|
|
precise float fragment_unnamed_164 = mad(mad(log2(max(mad(dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_115, fragment_unnamed_116, fragment_unnamed_117)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
|
|
precise float fragment_unnamed_168 = exp2(fragment_unnamed_161) + (-0.04799599945545196533203125f);
|
|
precise float fragment_unnamed_170 = exp2(fragment_unnamed_163) + (-0.04799599945545196533203125f);
|
|
precise float fragment_unnamed_171 = exp2(fragment_unnamed_164) + (-0.04799599945545196533203125f);
|
|
precise float fragment_unnamed_172 = fragment_unnamed_168 * 0.17999999225139617919921875f;
|
|
precise float fragment_unnamed_174 = fragment_unnamed_170 * 0.17999999225139617919921875f;
|
|
precise float fragment_unnamed_175 = fragment_unnamed_171 * 0.17999999225139617919921875f;
|
|
precise float fragment_unnamed_182 = fragment_unnamed_172 * fragment_uniform_buffer_0[138u].x;
|
|
precise float fragment_unnamed_183 = fragment_unnamed_174 * fragment_uniform_buffer_0[138u].y;
|
|
precise float fragment_unnamed_184 = fragment_unnamed_175 * fragment_uniform_buffer_0[138u].z;
|
|
precise float fragment_unnamed_191 = log2(max(fragment_unnamed_182, 0.0f)) * 0.4545454680919647216796875f;
|
|
precise float fragment_unnamed_193 = log2(max(fragment_unnamed_183, 0.0f)) * 0.4545454680919647216796875f;
|
|
precise float fragment_unnamed_194 = log2(max(fragment_unnamed_184, 0.0f)) * 0.4545454680919647216796875f;
|
|
float fragment_unnamed_195 = exp2(fragment_unnamed_191);
|
|
float fragment_unnamed_196 = exp2(fragment_unnamed_193);
|
|
float fragment_unnamed_197 = exp2(fragment_unnamed_194);
|
|
precise float fragment_unnamed_198 = fragment_unnamed_195 + fragment_unnamed_195;
|
|
precise float fragment_unnamed_199 = fragment_unnamed_196 + fragment_unnamed_196;
|
|
precise float fragment_unnamed_200 = fragment_unnamed_197 + fragment_unnamed_197;
|
|
precise float fragment_unnamed_201 = fragment_unnamed_195 * fragment_unnamed_195;
|
|
precise float fragment_unnamed_202 = fragment_unnamed_196 * fragment_unnamed_196;
|
|
precise float fragment_unnamed_203 = fragment_unnamed_197 * fragment_unnamed_197;
|
|
precise float fragment_unnamed_221 = dot(float3(min(fragment_unnamed_195, 1.0f), min(fragment_unnamed_196, 1.0f), min(fragment_unnamed_197, 1.0f)), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)) + fragment_uniform_buffer_0[150u].w;
|
|
float fragment_unnamed_222 = clamp(fragment_unnamed_221, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_223 = (-0.0f) - fragment_unnamed_222;
|
|
precise float fragment_unnamed_224 = fragment_unnamed_223 + 1.0f;
|
|
precise float fragment_unnamed_230 = fragment_uniform_buffer_0[150u].x + (-0.5f);
|
|
precise float fragment_unnamed_232 = fragment_uniform_buffer_0[150u].y + (-0.5f);
|
|
precise float fragment_unnamed_233 = fragment_uniform_buffer_0[150u].z + (-0.5f);
|
|
float fragment_unnamed_234 = mad(fragment_unnamed_224, fragment_unnamed_230, 0.5f);
|
|
float fragment_unnamed_236 = mad(fragment_unnamed_224, fragment_unnamed_232, 0.5f);
|
|
float fragment_unnamed_237 = mad(fragment_unnamed_224, fragment_unnamed_233, 0.5f);
|
|
precise float fragment_unnamed_238 = (-0.0f) - fragment_unnamed_234;
|
|
precise float fragment_unnamed_239 = (-0.0f) - fragment_unnamed_236;
|
|
precise float fragment_unnamed_240 = (-0.0f) - fragment_unnamed_237;
|
|
precise float fragment_unnamed_245 = fragment_unnamed_201 * mad(fragment_unnamed_238, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_246 = fragment_unnamed_202 * mad(fragment_unnamed_239, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_247 = fragment_unnamed_203 * mad(fragment_unnamed_240, 2.0f, 1.0f);
|
|
bool fragment_unnamed_252 = fragment_unnamed_234 >= 0.5f;
|
|
bool fragment_unnamed_253 = fragment_unnamed_236 >= 0.5f;
|
|
bool fragment_unnamed_254 = fragment_unnamed_237 >= 0.5f;
|
|
precise float fragment_unnamed_270 = mad(fragment_unnamed_198, fragment_unnamed_234, fragment_unnamed_245) * asfloat(fragment_unnamed_252 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_271 = mad(fragment_unnamed_199, fragment_unnamed_236, fragment_unnamed_246) * asfloat(fragment_unnamed_253 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_272 = mad(fragment_unnamed_200, fragment_unnamed_237, fragment_unnamed_247) * asfloat(fragment_unnamed_254 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_273 = (-0.0f) - fragment_unnamed_234;
|
|
precise float fragment_unnamed_274 = (-0.0f) - fragment_unnamed_236;
|
|
precise float fragment_unnamed_275 = (-0.0f) - fragment_unnamed_237;
|
|
precise float fragment_unnamed_276 = fragment_unnamed_273 + 1.0f;
|
|
precise float fragment_unnamed_277 = fragment_unnamed_274 + 1.0f;
|
|
precise float fragment_unnamed_278 = fragment_unnamed_275 + 1.0f;
|
|
precise float fragment_unnamed_283 = fragment_unnamed_198 * fragment_unnamed_276;
|
|
precise float fragment_unnamed_284 = fragment_unnamed_199 * fragment_unnamed_277;
|
|
precise float fragment_unnamed_285 = fragment_unnamed_200 * fragment_unnamed_278;
|
|
float fragment_unnamed_291 = mad(mad(sqrt(fragment_unnamed_195), mad(fragment_unnamed_234, 2.0f, -1.0f), fragment_unnamed_283), asfloat((fragment_unnamed_252 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_270);
|
|
float fragment_unnamed_292 = mad(mad(sqrt(fragment_unnamed_196), mad(fragment_unnamed_236, 2.0f, -1.0f), fragment_unnamed_284), asfloat((fragment_unnamed_253 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_271);
|
|
float fragment_unnamed_293 = mad(mad(sqrt(fragment_unnamed_197), mad(fragment_unnamed_237, 2.0f, -1.0f), fragment_unnamed_285), asfloat((fragment_unnamed_254 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_272);
|
|
precise float fragment_unnamed_294 = fragment_unnamed_291 + fragment_unnamed_291;
|
|
precise float fragment_unnamed_295 = fragment_unnamed_292 + fragment_unnamed_292;
|
|
precise float fragment_unnamed_296 = fragment_unnamed_293 + fragment_unnamed_293;
|
|
precise float fragment_unnamed_297 = fragment_unnamed_291 * fragment_unnamed_291;
|
|
precise float fragment_unnamed_298 = fragment_unnamed_292 * fragment_unnamed_292;
|
|
precise float fragment_unnamed_299 = fragment_unnamed_293 * fragment_unnamed_293;
|
|
precise float fragment_unnamed_309 = fragment_uniform_buffer_0[151u].x + (-0.5f);
|
|
precise float fragment_unnamed_310 = fragment_uniform_buffer_0[151u].y + (-0.5f);
|
|
precise float fragment_unnamed_311 = fragment_uniform_buffer_0[151u].z + (-0.5f);
|
|
float fragment_unnamed_312 = mad(fragment_unnamed_222, fragment_unnamed_309, 0.5f);
|
|
float fragment_unnamed_313 = mad(fragment_unnamed_222, fragment_unnamed_310, 0.5f);
|
|
float fragment_unnamed_314 = mad(fragment_unnamed_222, fragment_unnamed_311, 0.5f);
|
|
precise float fragment_unnamed_315 = (-0.0f) - fragment_unnamed_312;
|
|
precise float fragment_unnamed_316 = (-0.0f) - fragment_unnamed_313;
|
|
precise float fragment_unnamed_317 = (-0.0f) - fragment_unnamed_314;
|
|
precise float fragment_unnamed_321 = fragment_unnamed_297 * mad(fragment_unnamed_315, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_322 = fragment_unnamed_298 * mad(fragment_unnamed_316, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_323 = fragment_unnamed_299 * mad(fragment_unnamed_317, 2.0f, 1.0f);
|
|
bool fragment_unnamed_327 = fragment_unnamed_312 >= 0.5f;
|
|
bool fragment_unnamed_328 = fragment_unnamed_313 >= 0.5f;
|
|
bool fragment_unnamed_329 = fragment_unnamed_314 >= 0.5f;
|
|
precise float fragment_unnamed_343 = mad(fragment_unnamed_294, fragment_unnamed_312, fragment_unnamed_321) * asfloat(fragment_unnamed_327 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_344 = mad(fragment_unnamed_295, fragment_unnamed_313, fragment_unnamed_322) * asfloat(fragment_unnamed_328 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_345 = mad(fragment_unnamed_296, fragment_unnamed_314, fragment_unnamed_323) * asfloat(fragment_unnamed_329 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_346 = (-0.0f) - fragment_unnamed_312;
|
|
precise float fragment_unnamed_347 = (-0.0f) - fragment_unnamed_313;
|
|
precise float fragment_unnamed_348 = (-0.0f) - fragment_unnamed_314;
|
|
precise float fragment_unnamed_349 = fragment_unnamed_346 + 1.0f;
|
|
precise float fragment_unnamed_350 = fragment_unnamed_347 + 1.0f;
|
|
precise float fragment_unnamed_351 = fragment_unnamed_348 + 1.0f;
|
|
precise float fragment_unnamed_355 = fragment_unnamed_294 * fragment_unnamed_349;
|
|
precise float fragment_unnamed_356 = fragment_unnamed_295 * fragment_unnamed_350;
|
|
precise float fragment_unnamed_357 = fragment_unnamed_296 * fragment_unnamed_351;
|
|
precise float fragment_unnamed_372 = log2(abs(mad(mad(sqrt(fragment_unnamed_291), mad(fragment_unnamed_312, 2.0f, -1.0f), fragment_unnamed_355), asfloat((fragment_unnamed_327 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_343))) * 2.2000000476837158203125f;
|
|
precise float fragment_unnamed_374 = log2(abs(mad(mad(sqrt(fragment_unnamed_292), mad(fragment_unnamed_313, 2.0f, -1.0f), fragment_unnamed_356), asfloat((fragment_unnamed_328 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_344))) * 2.2000000476837158203125f;
|
|
precise float fragment_unnamed_375 = log2(abs(mad(mad(sqrt(fragment_unnamed_293), mad(fragment_unnamed_314, 2.0f, -1.0f), fragment_unnamed_357), asfloat((fragment_unnamed_329 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_345))) * 2.2000000476837158203125f;
|
|
float fragment_unnamed_376 = exp2(fragment_unnamed_372);
|
|
float fragment_unnamed_377 = exp2(fragment_unnamed_374);
|
|
float fragment_unnamed_378 = exp2(fragment_unnamed_375);
|
|
float fragment_unnamed_385 = dot(float3(fragment_unnamed_376, fragment_unnamed_377, fragment_unnamed_378), float3(fragment_uniform_buffer_0[139u].xyz));
|
|
float fragment_unnamed_394 = dot(float3(fragment_unnamed_376, fragment_unnamed_377, fragment_unnamed_378), float3(fragment_uniform_buffer_0[140u].xyz));
|
|
float fragment_unnamed_403 = dot(float3(fragment_unnamed_376, fragment_unnamed_377, fragment_unnamed_378), float3(fragment_uniform_buffer_0[141u].xyz));
|
|
precise float fragment_unnamed_412 = fragment_unnamed_385 * fragment_uniform_buffer_0[147u].x;
|
|
precise float fragment_unnamed_413 = fragment_unnamed_394 * fragment_uniform_buffer_0[147u].y;
|
|
precise float fragment_unnamed_414 = fragment_unnamed_403 * fragment_uniform_buffer_0[147u].z;
|
|
float fragment_unnamed_415 = dot(float3(fragment_unnamed_385, fragment_unnamed_394, fragment_unnamed_403), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
|
|
precise float fragment_unnamed_422 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
|
|
precise float fragment_unnamed_424 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
|
|
precise float fragment_unnamed_425 = fragment_unnamed_415 + fragment_unnamed_422;
|
|
precise float fragment_unnamed_426 = fragment_unnamed_415 + fragment_unnamed_424;
|
|
precise float fragment_unnamed_430 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
|
|
precise float fragment_unnamed_432 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
|
|
precise float fragment_unnamed_437 = fragment_unnamed_430 + fragment_uniform_buffer_0[149u].y;
|
|
precise float fragment_unnamed_438 = fragment_unnamed_432 + fragment_uniform_buffer_0[149u].w;
|
|
precise float fragment_unnamed_439 = 1.0f / fragment_unnamed_437;
|
|
precise float fragment_unnamed_440 = 1.0f / fragment_unnamed_438;
|
|
precise float fragment_unnamed_441 = fragment_unnamed_439 * fragment_unnamed_425;
|
|
precise float fragment_unnamed_442 = fragment_unnamed_440 * fragment_unnamed_426;
|
|
float fragment_unnamed_443 = clamp(fragment_unnamed_441, 0.0f, 1.0f);
|
|
float fragment_unnamed_444 = clamp(fragment_unnamed_442, 0.0f, 1.0f);
|
|
float fragment_unnamed_448 = mad(fragment_unnamed_444, -2.0f, 3.0f);
|
|
precise float fragment_unnamed_449 = fragment_unnamed_443 * fragment_unnamed_443;
|
|
precise float fragment_unnamed_450 = fragment_unnamed_444 * fragment_unnamed_444;
|
|
precise float fragment_unnamed_451 = (-0.0f) - mad(fragment_unnamed_443, -2.0f, 3.0f);
|
|
float fragment_unnamed_452 = mad(fragment_unnamed_451, fragment_unnamed_449, 1.0f);
|
|
precise float fragment_unnamed_453 = (-0.0f) - fragment_unnamed_452;
|
|
precise float fragment_unnamed_454 = fragment_unnamed_453 + 1.0f;
|
|
precise float fragment_unnamed_455 = (-0.0f) - fragment_unnamed_448;
|
|
float fragment_unnamed_456 = mad(fragment_unnamed_455, fragment_unnamed_450, fragment_unnamed_454);
|
|
precise float fragment_unnamed_457 = fragment_unnamed_450 * fragment_unnamed_448;
|
|
precise float fragment_unnamed_458 = fragment_unnamed_412 * fragment_unnamed_456;
|
|
precise float fragment_unnamed_459 = fragment_unnamed_413 * fragment_unnamed_456;
|
|
precise float fragment_unnamed_460 = fragment_unnamed_414 * fragment_unnamed_456;
|
|
precise float fragment_unnamed_467 = fragment_unnamed_385 * fragment_uniform_buffer_0[146u].x;
|
|
precise float fragment_unnamed_468 = fragment_unnamed_394 * fragment_uniform_buffer_0[146u].y;
|
|
precise float fragment_unnamed_469 = fragment_unnamed_403 * fragment_uniform_buffer_0[146u].z;
|
|
precise float fragment_unnamed_476 = fragment_unnamed_385 * fragment_uniform_buffer_0[148u].x;
|
|
precise float fragment_unnamed_477 = fragment_unnamed_394 * fragment_uniform_buffer_0[148u].y;
|
|
precise float fragment_unnamed_478 = fragment_unnamed_403 * fragment_uniform_buffer_0[148u].z;
|
|
float fragment_unnamed_497 = mad(mad(fragment_unnamed_476, fragment_unnamed_457, mad(fragment_unnamed_467, fragment_unnamed_452, fragment_unnamed_458)), fragment_uniform_buffer_0[145u].x, fragment_uniform_buffer_0[143u].x);
|
|
float fragment_unnamed_498 = mad(mad(fragment_unnamed_477, fragment_unnamed_457, mad(fragment_unnamed_468, fragment_unnamed_452, fragment_unnamed_459)), fragment_uniform_buffer_0[145u].y, fragment_uniform_buffer_0[143u].y);
|
|
float fragment_unnamed_499 = mad(mad(fragment_unnamed_478, fragment_unnamed_457, mad(fragment_unnamed_469, fragment_unnamed_452, fragment_unnamed_460)), fragment_uniform_buffer_0[145u].z, fragment_uniform_buffer_0[143u].z);
|
|
precise float fragment_unnamed_524 = log2(abs(fragment_unnamed_497)) * fragment_uniform_buffer_0[144u].x;
|
|
precise float fragment_unnamed_525 = log2(abs(fragment_unnamed_498)) * fragment_uniform_buffer_0[144u].y;
|
|
precise float fragment_unnamed_526 = log2(abs(fragment_unnamed_499)) * fragment_uniform_buffer_0[144u].z;
|
|
float fragment_unnamed_528 = exp2(fragment_unnamed_525);
|
|
float fragment_unnamed_529 = exp2(fragment_unnamed_526);
|
|
float fragment_unnamed_537 = float(int((-((0.0f < fragment_unnamed_498) ? 4294967295u : 0u)) + ((fragment_unnamed_498 < 0.0f) ? 4294967295u : 0u)));
|
|
float fragment_unnamed_538 = float(int((-((0.0f < fragment_unnamed_499) ? 4294967295u : 0u)) + ((fragment_unnamed_499 < 0.0f) ? 4294967295u : 0u)));
|
|
precise float fragment_unnamed_539 = exp2(fragment_unnamed_524) * float(int((-((0.0f < fragment_unnamed_497) ? 4294967295u : 0u)) + ((fragment_unnamed_497 < 0.0f) ? 4294967295u : 0u)));
|
|
precise float fragment_unnamed_540 = fragment_unnamed_528 * fragment_unnamed_537;
|
|
precise float fragment_unnamed_541 = fragment_unnamed_529 * fragment_unnamed_538;
|
|
precise float fragment_unnamed_542 = (-0.0f) - fragment_unnamed_541;
|
|
precise float fragment_unnamed_543 = (-0.0f) - fragment_unnamed_540;
|
|
float fragment_unnamed_549 = asfloat(((fragment_unnamed_540 >= fragment_unnamed_541) ? 4294967295u : 0u) & 1065353216u);
|
|
float fragment_unnamed_556 = mad(fragment_unnamed_549, mad(fragment_unnamed_537, fragment_unnamed_528, fragment_unnamed_542), fragment_unnamed_541);
|
|
float fragment_unnamed_557 = mad(fragment_unnamed_549, mad(fragment_unnamed_538, fragment_unnamed_529, fragment_unnamed_543), fragment_unnamed_540);
|
|
float fragment_unnamed_558 = mad(fragment_unnamed_549, asfloat(3212836864u), asfloat(1059760811u));
|
|
float fragment_unnamed_563 = asfloat(((fragment_unnamed_539 >= fragment_unnamed_556) ? 4294967295u : 0u) & 1065353216u);
|
|
precise float fragment_unnamed_567 = (-0.0f) - fragment_unnamed_556;
|
|
precise float fragment_unnamed_568 = (-0.0f) - fragment_unnamed_557;
|
|
precise float fragment_unnamed_569 = (-0.0f) - fragment_unnamed_558;
|
|
precise float fragment_unnamed_570 = (-0.0f) - fragment_unnamed_539;
|
|
precise float fragment_unnamed_571 = fragment_unnamed_567 + fragment_unnamed_539;
|
|
precise float fragment_unnamed_572 = fragment_unnamed_568 + fragment_unnamed_557;
|
|
precise float fragment_unnamed_573 = fragment_unnamed_569 + mad(fragment_unnamed_549, asfloat(1065353216u), asfloat(3212836864u));
|
|
precise float fragment_unnamed_574 = fragment_unnamed_570 + fragment_unnamed_556;
|
|
float fragment_unnamed_575 = mad(fragment_unnamed_563, fragment_unnamed_571, fragment_unnamed_556);
|
|
float fragment_unnamed_576 = mad(fragment_unnamed_563, fragment_unnamed_572, fragment_unnamed_557);
|
|
float fragment_unnamed_578 = mad(fragment_unnamed_563, fragment_unnamed_574, fragment_unnamed_539);
|
|
precise float fragment_unnamed_580 = (-0.0f) - min(fragment_unnamed_576, fragment_unnamed_578);
|
|
precise float fragment_unnamed_581 = fragment_unnamed_575 + fragment_unnamed_580;
|
|
precise float fragment_unnamed_585 = (-0.0f) - fragment_unnamed_576;
|
|
precise float fragment_unnamed_586 = fragment_unnamed_585 + fragment_unnamed_578;
|
|
precise float fragment_unnamed_587 = fragment_unnamed_586 / mad(fragment_unnamed_581, 6.0f, 9.9999997473787516355514526367188e-05f);
|
|
precise float fragment_unnamed_588 = fragment_unnamed_587 + mad(fragment_unnamed_563, fragment_unnamed_573, fragment_unnamed_558);
|
|
float fragment_unnamed_589 = abs(fragment_unnamed_588);
|
|
precise float fragment_unnamed_593 = fragment_unnamed_589 + fragment_uniform_buffer_0[142u].x;
|
|
float fragment_unnamed_612 = clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_539, fragment_unnamed_540, fragment_unnamed_541), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_613 = fragment_unnamed_612 + fragment_unnamed_612;
|
|
precise float fragment_unnamed_615 = clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_593, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + (-0.5f);
|
|
precise float fragment_unnamed_616 = fragment_unnamed_615 + fragment_unnamed_593;
|
|
precise float fragment_unnamed_618 = fragment_unnamed_616 + 1.0f;
|
|
precise float fragment_unnamed_619 = fragment_unnamed_616 + (-1.0f);
|
|
float fragment_unnamed_626 = asfloat((fragment_unnamed_616 < 0.0f) ? asuint(fragment_unnamed_618) : ((1.0f < fragment_unnamed_616) ? asuint(fragment_unnamed_619) : asuint(fragment_unnamed_616)));
|
|
precise float fragment_unnamed_627 = fragment_unnamed_626 + 1.0f;
|
|
precise float fragment_unnamed_628 = fragment_unnamed_626 + 0.666666686534881591796875f;
|
|
precise float fragment_unnamed_630 = fragment_unnamed_626 + 0.3333333432674407958984375f;
|
|
precise float fragment_unnamed_642 = abs(mad(frac(fragment_unnamed_627), 6.0f, -3.0f)) + (-1.0f);
|
|
precise float fragment_unnamed_643 = abs(mad(frac(fragment_unnamed_628), 6.0f, -3.0f)) + (-1.0f);
|
|
precise float fragment_unnamed_644 = abs(mad(frac(fragment_unnamed_630), 6.0f, -3.0f)) + (-1.0f);
|
|
precise float fragment_unnamed_648 = clamp(fragment_unnamed_642, 0.0f, 1.0f) + (-1.0f);
|
|
precise float fragment_unnamed_649 = clamp(fragment_unnamed_643, 0.0f, 1.0f) + (-1.0f);
|
|
precise float fragment_unnamed_650 = clamp(fragment_unnamed_644, 0.0f, 1.0f) + (-1.0f);
|
|
precise float fragment_unnamed_651 = fragment_unnamed_575 + 9.9999997473787516355514526367188e-05f;
|
|
precise float fragment_unnamed_652 = fragment_unnamed_581 / fragment_unnamed_651;
|
|
float fragment_unnamed_653 = mad(fragment_unnamed_652, fragment_unnamed_648, 1.0f);
|
|
float fragment_unnamed_654 = mad(fragment_unnamed_652, fragment_unnamed_649, 1.0f);
|
|
float fragment_unnamed_655 = mad(fragment_unnamed_652, fragment_unnamed_650, 1.0f);
|
|
precise float fragment_unnamed_656 = fragment_unnamed_575 * fragment_unnamed_653;
|
|
precise float fragment_unnamed_657 = fragment_unnamed_575 * fragment_unnamed_654;
|
|
precise float fragment_unnamed_658 = fragment_unnamed_575 * fragment_unnamed_655;
|
|
float fragment_unnamed_659 = dot(float3(fragment_unnamed_656, fragment_unnamed_657, fragment_unnamed_658), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
|
|
precise float fragment_unnamed_662 = (-0.0f) - fragment_unnamed_659;
|
|
float fragment_unnamed_682 = clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_652, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_683 = fragment_unnamed_682 + fragment_unnamed_682;
|
|
float fragment_unnamed_684 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_589, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_685 = fragment_unnamed_684 + fragment_unnamed_684;
|
|
precise float fragment_unnamed_686 = fragment_unnamed_683 * fragment_unnamed_685;
|
|
precise float fragment_unnamed_687 = fragment_unnamed_613 * fragment_unnamed_686;
|
|
precise float fragment_unnamed_691 = fragment_unnamed_687 * fragment_uniform_buffer_0[142u].y;
|
|
precise float fragment_unnamed_695 = mad(fragment_unnamed_691, mad(fragment_unnamed_575, fragment_unnamed_653, fragment_unnamed_662), fragment_unnamed_659) + 0.00390625f;
|
|
precise float fragment_unnamed_697 = mad(fragment_unnamed_691, mad(fragment_unnamed_575, fragment_unnamed_654, fragment_unnamed_662), fragment_unnamed_659) + 0.00390625f;
|
|
precise float fragment_unnamed_698 = mad(fragment_unnamed_691, mad(fragment_unnamed_575, fragment_unnamed_655, fragment_unnamed_662), fragment_unnamed_659) + 0.00390625f;
|
|
float fragment_unnamed_699 = asfloat(0u);
|
|
precise float fragment_unnamed_722 = clamp(_CurveMaster.SampleBias(S0, float2(fragment_unnamed_695, fragment_unnamed_699), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
|
|
precise float fragment_unnamed_723 = clamp(_CurveMaster.SampleBias(S0, float2(fragment_unnamed_697, fragment_unnamed_699), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
|
|
precise float fragment_unnamed_724 = clamp(_CurveMaster.SampleBias(S0, float2(fragment_unnamed_698, fragment_unnamed_699), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
|
|
float fragment_unnamed_725 = asfloat(0u);
|
|
fragment_output_0.x = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_722, fragment_unnamed_725), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
fragment_output_0.z = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_724, fragment_unnamed_725), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
fragment_output_0.y = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_723, fragment_unnamed_725), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
fragment_output_0.w = 1.0f;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
fragment_uniform_buffer_0[136] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
|
|
|
|
fragment_uniform_buffer_0[137] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
|
|
|
|
fragment_uniform_buffer_0[138] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
|
|
|
|
fragment_uniform_buffer_0[139] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
|
|
|
|
fragment_uniform_buffer_0[140] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
|
|
|
|
fragment_uniform_buffer_0[141] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
|
|
|
|
fragment_uniform_buffer_0[142] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
|
|
|
|
fragment_uniform_buffer_0[143] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
|
|
|
|
fragment_uniform_buffer_0[144] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
|
|
|
|
fragment_uniform_buffer_0[145] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
|
|
|
|
fragment_uniform_buffer_0[146] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
|
|
|
|
fragment_uniform_buffer_0[147] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
|
|
|
|
fragment_uniform_buffer_0[148] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
|
|
|
|
fragment_uniform_buffer_0[149] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
|
|
|
|
fragment_uniform_buffer_0[150] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
|
|
|
|
fragment_uniform_buffer_0[151] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
|
|
|
|
fragment_input_1 = stage_input.fragment_input_1;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
float4 _Lut_Params;
|
|
float4 _ColorBalance;
|
|
float4 _ColorFilter;
|
|
float4 _ChannelMixerRed;
|
|
float4 _ChannelMixerGreen;
|
|
float4 _ChannelMixerBlue;
|
|
float4 _HueSatCon;
|
|
float4 _Lift;
|
|
float4 _Gamma;
|
|
float4 _Gain;
|
|
float4 _Shadows;
|
|
float4 _Midtones;
|
|
float4 _Highlights;
|
|
float4 _ShaHiLimits;
|
|
float4 _SplitShadows;
|
|
float4 _SplitHighlights;
|
|
|
|
static float4 fragment_uniform_buffer_0[121];
|
|
Texture2D<float4> _CurveMaster;
|
|
Texture2D<float4> _CurveRed;
|
|
Texture2D<float4> _CurveGreen;
|
|
Texture2D<float4> _CurveBlue;
|
|
Texture2D<float4> _CurveHueVsHue;
|
|
Texture2D<float4> _CurveHueVsSat;
|
|
Texture2D<float4> _CurveSatVsSat;
|
|
Texture2D<float4> _CurveLumVsSat;
|
|
SamplerState S0;
|
|
|
|
static float2 fragment_input_1;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
precise float fragment_unnamed_53 = fragment_input_1.x * fragment_uniform_buffer_0[105u].x;
|
|
float fragment_unnamed_55 = floor(fragment_unnamed_53);
|
|
precise float fragment_unnamed_61 = (-0.0f) - fragment_unnamed_55;
|
|
precise float fragment_unnamed_67 = fragment_unnamed_55 * fragment_uniform_buffer_0[105u].z;
|
|
precise float fragment_unnamed_71 = fragment_unnamed_67 * fragment_uniform_buffer_0[105u].w;
|
|
precise float fragment_unnamed_78 = (-0.0f) - fragment_uniform_buffer_0[105u].z;
|
|
precise float fragment_unnamed_79 = mad(fragment_input_1.x, fragment_uniform_buffer_0[105u].x, fragment_unnamed_61) + fragment_unnamed_78;
|
|
precise float fragment_unnamed_80 = fragment_input_1.y + fragment_unnamed_78;
|
|
float fragment_unnamed_86 = asfloat(asuint(fragment_uniform_buffer_0[105u]).w);
|
|
precise float fragment_unnamed_89 = fragment_unnamed_79 * fragment_unnamed_86;
|
|
precise float fragment_unnamed_90 = fragment_unnamed_80 * fragment_unnamed_86;
|
|
precise float fragment_unnamed_91 = fragment_unnamed_71 * asfloat(1073741824u);
|
|
precise float fragment_unnamed_117 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_89, fragment_unnamed_90, fragment_unnamed_91)) * fragment_uniform_buffer_0[106u].x;
|
|
precise float fragment_unnamed_118 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_89, fragment_unnamed_90, fragment_unnamed_91)) * fragment_uniform_buffer_0[106u].y;
|
|
precise float fragment_unnamed_119 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_89, fragment_unnamed_90, fragment_unnamed_91)) * fragment_uniform_buffer_0[106u].z;
|
|
precise float fragment_unnamed_163 = mad(mad(log2(max(mad(dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_117, fragment_unnamed_118, fragment_unnamed_119)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
|
|
precise float fragment_unnamed_165 = mad(mad(log2(max(mad(dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_117, fragment_unnamed_118, fragment_unnamed_119)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
|
|
precise float fragment_unnamed_166 = mad(mad(log2(max(mad(dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_117, fragment_unnamed_118, fragment_unnamed_119)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
|
|
precise float fragment_unnamed_170 = exp2(fragment_unnamed_163) + (-0.04799599945545196533203125f);
|
|
precise float fragment_unnamed_172 = exp2(fragment_unnamed_165) + (-0.04799599945545196533203125f);
|
|
precise float fragment_unnamed_173 = exp2(fragment_unnamed_166) + (-0.04799599945545196533203125f);
|
|
precise float fragment_unnamed_174 = fragment_unnamed_170 * 0.17999999225139617919921875f;
|
|
precise float fragment_unnamed_176 = fragment_unnamed_172 * 0.17999999225139617919921875f;
|
|
precise float fragment_unnamed_177 = fragment_unnamed_173 * 0.17999999225139617919921875f;
|
|
precise float fragment_unnamed_184 = fragment_unnamed_174 * fragment_uniform_buffer_0[107u].x;
|
|
precise float fragment_unnamed_185 = fragment_unnamed_176 * fragment_uniform_buffer_0[107u].y;
|
|
precise float fragment_unnamed_186 = fragment_unnamed_177 * fragment_uniform_buffer_0[107u].z;
|
|
precise float fragment_unnamed_193 = log2(max(fragment_unnamed_184, 0.0f)) * 0.4545454680919647216796875f;
|
|
precise float fragment_unnamed_195 = log2(max(fragment_unnamed_185, 0.0f)) * 0.4545454680919647216796875f;
|
|
precise float fragment_unnamed_196 = log2(max(fragment_unnamed_186, 0.0f)) * 0.4545454680919647216796875f;
|
|
float fragment_unnamed_197 = exp2(fragment_unnamed_193);
|
|
float fragment_unnamed_198 = exp2(fragment_unnamed_195);
|
|
float fragment_unnamed_199 = exp2(fragment_unnamed_196);
|
|
precise float fragment_unnamed_200 = fragment_unnamed_197 + fragment_unnamed_197;
|
|
precise float fragment_unnamed_201 = fragment_unnamed_198 + fragment_unnamed_198;
|
|
precise float fragment_unnamed_202 = fragment_unnamed_199 + fragment_unnamed_199;
|
|
precise float fragment_unnamed_203 = fragment_unnamed_197 * fragment_unnamed_197;
|
|
precise float fragment_unnamed_204 = fragment_unnamed_198 * fragment_unnamed_198;
|
|
precise float fragment_unnamed_205 = fragment_unnamed_199 * fragment_unnamed_199;
|
|
precise float fragment_unnamed_223 = dot(float3(min(fragment_unnamed_197, 1.0f), min(fragment_unnamed_198, 1.0f), min(fragment_unnamed_199, 1.0f)), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)) + fragment_uniform_buffer_0[119u].w;
|
|
float fragment_unnamed_224 = clamp(fragment_unnamed_223, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_225 = (-0.0f) - fragment_unnamed_224;
|
|
precise float fragment_unnamed_226 = fragment_unnamed_225 + 1.0f;
|
|
precise float fragment_unnamed_232 = fragment_uniform_buffer_0[119u].x + (-0.5f);
|
|
precise float fragment_unnamed_234 = fragment_uniform_buffer_0[119u].y + (-0.5f);
|
|
precise float fragment_unnamed_235 = fragment_uniform_buffer_0[119u].z + (-0.5f);
|
|
float fragment_unnamed_236 = mad(fragment_unnamed_226, fragment_unnamed_232, 0.5f);
|
|
float fragment_unnamed_238 = mad(fragment_unnamed_226, fragment_unnamed_234, 0.5f);
|
|
float fragment_unnamed_239 = mad(fragment_unnamed_226, fragment_unnamed_235, 0.5f);
|
|
precise float fragment_unnamed_240 = (-0.0f) - fragment_unnamed_236;
|
|
precise float fragment_unnamed_241 = (-0.0f) - fragment_unnamed_238;
|
|
precise float fragment_unnamed_242 = (-0.0f) - fragment_unnamed_239;
|
|
precise float fragment_unnamed_247 = fragment_unnamed_203 * mad(fragment_unnamed_240, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_248 = fragment_unnamed_204 * mad(fragment_unnamed_241, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_249 = fragment_unnamed_205 * mad(fragment_unnamed_242, 2.0f, 1.0f);
|
|
bool fragment_unnamed_254 = fragment_unnamed_236 >= 0.5f;
|
|
bool fragment_unnamed_255 = fragment_unnamed_238 >= 0.5f;
|
|
bool fragment_unnamed_256 = fragment_unnamed_239 >= 0.5f;
|
|
precise float fragment_unnamed_272 = mad(fragment_unnamed_200, fragment_unnamed_236, fragment_unnamed_247) * asfloat(fragment_unnamed_254 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_273 = mad(fragment_unnamed_201, fragment_unnamed_238, fragment_unnamed_248) * asfloat(fragment_unnamed_255 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_274 = mad(fragment_unnamed_202, fragment_unnamed_239, fragment_unnamed_249) * asfloat(fragment_unnamed_256 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_275 = (-0.0f) - fragment_unnamed_236;
|
|
precise float fragment_unnamed_276 = (-0.0f) - fragment_unnamed_238;
|
|
precise float fragment_unnamed_277 = (-0.0f) - fragment_unnamed_239;
|
|
precise float fragment_unnamed_278 = fragment_unnamed_275 + 1.0f;
|
|
precise float fragment_unnamed_279 = fragment_unnamed_276 + 1.0f;
|
|
precise float fragment_unnamed_280 = fragment_unnamed_277 + 1.0f;
|
|
precise float fragment_unnamed_285 = fragment_unnamed_200 * fragment_unnamed_278;
|
|
precise float fragment_unnamed_286 = fragment_unnamed_201 * fragment_unnamed_279;
|
|
precise float fragment_unnamed_287 = fragment_unnamed_202 * fragment_unnamed_280;
|
|
float fragment_unnamed_293 = mad(mad(sqrt(fragment_unnamed_197), mad(fragment_unnamed_236, 2.0f, -1.0f), fragment_unnamed_285), asfloat((fragment_unnamed_254 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_272);
|
|
float fragment_unnamed_294 = mad(mad(sqrt(fragment_unnamed_198), mad(fragment_unnamed_238, 2.0f, -1.0f), fragment_unnamed_286), asfloat((fragment_unnamed_255 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_273);
|
|
float fragment_unnamed_295 = mad(mad(sqrt(fragment_unnamed_199), mad(fragment_unnamed_239, 2.0f, -1.0f), fragment_unnamed_287), asfloat((fragment_unnamed_256 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_274);
|
|
precise float fragment_unnamed_296 = fragment_unnamed_293 + fragment_unnamed_293;
|
|
precise float fragment_unnamed_297 = fragment_unnamed_294 + fragment_unnamed_294;
|
|
precise float fragment_unnamed_298 = fragment_unnamed_295 + fragment_unnamed_295;
|
|
precise float fragment_unnamed_299 = fragment_unnamed_293 * fragment_unnamed_293;
|
|
precise float fragment_unnamed_300 = fragment_unnamed_294 * fragment_unnamed_294;
|
|
precise float fragment_unnamed_301 = fragment_unnamed_295 * fragment_unnamed_295;
|
|
precise float fragment_unnamed_311 = fragment_uniform_buffer_0[120u].x + (-0.5f);
|
|
precise float fragment_unnamed_312 = fragment_uniform_buffer_0[120u].y + (-0.5f);
|
|
precise float fragment_unnamed_313 = fragment_uniform_buffer_0[120u].z + (-0.5f);
|
|
float fragment_unnamed_314 = mad(fragment_unnamed_224, fragment_unnamed_311, 0.5f);
|
|
float fragment_unnamed_315 = mad(fragment_unnamed_224, fragment_unnamed_312, 0.5f);
|
|
float fragment_unnamed_316 = mad(fragment_unnamed_224, fragment_unnamed_313, 0.5f);
|
|
precise float fragment_unnamed_317 = (-0.0f) - fragment_unnamed_314;
|
|
precise float fragment_unnamed_318 = (-0.0f) - fragment_unnamed_315;
|
|
precise float fragment_unnamed_319 = (-0.0f) - fragment_unnamed_316;
|
|
precise float fragment_unnamed_323 = fragment_unnamed_299 * mad(fragment_unnamed_317, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_324 = fragment_unnamed_300 * mad(fragment_unnamed_318, 2.0f, 1.0f);
|
|
precise float fragment_unnamed_325 = fragment_unnamed_301 * mad(fragment_unnamed_319, 2.0f, 1.0f);
|
|
bool fragment_unnamed_329 = fragment_unnamed_314 >= 0.5f;
|
|
bool fragment_unnamed_330 = fragment_unnamed_315 >= 0.5f;
|
|
bool fragment_unnamed_331 = fragment_unnamed_316 >= 0.5f;
|
|
precise float fragment_unnamed_345 = mad(fragment_unnamed_296, fragment_unnamed_314, fragment_unnamed_323) * asfloat(fragment_unnamed_329 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_346 = mad(fragment_unnamed_297, fragment_unnamed_315, fragment_unnamed_324) * asfloat(fragment_unnamed_330 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_347 = mad(fragment_unnamed_298, fragment_unnamed_316, fragment_unnamed_325) * asfloat(fragment_unnamed_331 ? 0u : 1065353216u);
|
|
precise float fragment_unnamed_348 = (-0.0f) - fragment_unnamed_314;
|
|
precise float fragment_unnamed_349 = (-0.0f) - fragment_unnamed_315;
|
|
precise float fragment_unnamed_350 = (-0.0f) - fragment_unnamed_316;
|
|
precise float fragment_unnamed_351 = fragment_unnamed_348 + 1.0f;
|
|
precise float fragment_unnamed_352 = fragment_unnamed_349 + 1.0f;
|
|
precise float fragment_unnamed_353 = fragment_unnamed_350 + 1.0f;
|
|
precise float fragment_unnamed_357 = fragment_unnamed_296 * fragment_unnamed_351;
|
|
precise float fragment_unnamed_358 = fragment_unnamed_297 * fragment_unnamed_352;
|
|
precise float fragment_unnamed_359 = fragment_unnamed_298 * fragment_unnamed_353;
|
|
precise float fragment_unnamed_374 = log2(abs(mad(mad(sqrt(fragment_unnamed_293), mad(fragment_unnamed_314, 2.0f, -1.0f), fragment_unnamed_357), asfloat((fragment_unnamed_329 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_345))) * 2.2000000476837158203125f;
|
|
precise float fragment_unnamed_376 = log2(abs(mad(mad(sqrt(fragment_unnamed_294), mad(fragment_unnamed_315, 2.0f, -1.0f), fragment_unnamed_358), asfloat((fragment_unnamed_330 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_346))) * 2.2000000476837158203125f;
|
|
precise float fragment_unnamed_377 = log2(abs(mad(mad(sqrt(fragment_unnamed_295), mad(fragment_unnamed_316, 2.0f, -1.0f), fragment_unnamed_359), asfloat((fragment_unnamed_331 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_347))) * 2.2000000476837158203125f;
|
|
float fragment_unnamed_378 = exp2(fragment_unnamed_374);
|
|
float fragment_unnamed_379 = exp2(fragment_unnamed_376);
|
|
float fragment_unnamed_380 = exp2(fragment_unnamed_377);
|
|
float fragment_unnamed_387 = dot(float3(fragment_unnamed_378, fragment_unnamed_379, fragment_unnamed_380), float3(fragment_uniform_buffer_0[108u].xyz));
|
|
float fragment_unnamed_396 = dot(float3(fragment_unnamed_378, fragment_unnamed_379, fragment_unnamed_380), float3(fragment_uniform_buffer_0[109u].xyz));
|
|
float fragment_unnamed_405 = dot(float3(fragment_unnamed_378, fragment_unnamed_379, fragment_unnamed_380), float3(fragment_uniform_buffer_0[110u].xyz));
|
|
precise float fragment_unnamed_414 = fragment_unnamed_387 * fragment_uniform_buffer_0[116u].x;
|
|
precise float fragment_unnamed_415 = fragment_unnamed_396 * fragment_uniform_buffer_0[116u].y;
|
|
precise float fragment_unnamed_416 = fragment_unnamed_405 * fragment_uniform_buffer_0[116u].z;
|
|
float fragment_unnamed_417 = dot(float3(fragment_unnamed_387, fragment_unnamed_396, fragment_unnamed_405), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
|
|
precise float fragment_unnamed_424 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
|
|
precise float fragment_unnamed_426 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
|
|
precise float fragment_unnamed_427 = fragment_unnamed_417 + fragment_unnamed_424;
|
|
precise float fragment_unnamed_428 = fragment_unnamed_417 + fragment_unnamed_426;
|
|
precise float fragment_unnamed_432 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
|
|
precise float fragment_unnamed_434 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
|
|
precise float fragment_unnamed_439 = fragment_unnamed_432 + fragment_uniform_buffer_0[118u].y;
|
|
precise float fragment_unnamed_440 = fragment_unnamed_434 + fragment_uniform_buffer_0[118u].w;
|
|
precise float fragment_unnamed_441 = 1.0f / fragment_unnamed_439;
|
|
precise float fragment_unnamed_442 = 1.0f / fragment_unnamed_440;
|
|
precise float fragment_unnamed_443 = fragment_unnamed_441 * fragment_unnamed_427;
|
|
precise float fragment_unnamed_444 = fragment_unnamed_442 * fragment_unnamed_428;
|
|
float fragment_unnamed_445 = clamp(fragment_unnamed_443, 0.0f, 1.0f);
|
|
float fragment_unnamed_446 = clamp(fragment_unnamed_444, 0.0f, 1.0f);
|
|
float fragment_unnamed_450 = mad(fragment_unnamed_446, -2.0f, 3.0f);
|
|
precise float fragment_unnamed_451 = fragment_unnamed_445 * fragment_unnamed_445;
|
|
precise float fragment_unnamed_452 = fragment_unnamed_446 * fragment_unnamed_446;
|
|
precise float fragment_unnamed_453 = (-0.0f) - mad(fragment_unnamed_445, -2.0f, 3.0f);
|
|
float fragment_unnamed_454 = mad(fragment_unnamed_453, fragment_unnamed_451, 1.0f);
|
|
precise float fragment_unnamed_455 = (-0.0f) - fragment_unnamed_454;
|
|
precise float fragment_unnamed_456 = fragment_unnamed_455 + 1.0f;
|
|
precise float fragment_unnamed_457 = (-0.0f) - fragment_unnamed_450;
|
|
float fragment_unnamed_458 = mad(fragment_unnamed_457, fragment_unnamed_452, fragment_unnamed_456);
|
|
precise float fragment_unnamed_459 = fragment_unnamed_452 * fragment_unnamed_450;
|
|
precise float fragment_unnamed_460 = fragment_unnamed_414 * fragment_unnamed_458;
|
|
precise float fragment_unnamed_461 = fragment_unnamed_415 * fragment_unnamed_458;
|
|
precise float fragment_unnamed_462 = fragment_unnamed_416 * fragment_unnamed_458;
|
|
precise float fragment_unnamed_469 = fragment_unnamed_387 * fragment_uniform_buffer_0[115u].x;
|
|
precise float fragment_unnamed_470 = fragment_unnamed_396 * fragment_uniform_buffer_0[115u].y;
|
|
precise float fragment_unnamed_471 = fragment_unnamed_405 * fragment_uniform_buffer_0[115u].z;
|
|
precise float fragment_unnamed_478 = fragment_unnamed_387 * fragment_uniform_buffer_0[117u].x;
|
|
precise float fragment_unnamed_479 = fragment_unnamed_396 * fragment_uniform_buffer_0[117u].y;
|
|
precise float fragment_unnamed_480 = fragment_unnamed_405 * fragment_uniform_buffer_0[117u].z;
|
|
float fragment_unnamed_499 = mad(mad(fragment_unnamed_478, fragment_unnamed_459, mad(fragment_unnamed_469, fragment_unnamed_454, fragment_unnamed_460)), fragment_uniform_buffer_0[114u].x, fragment_uniform_buffer_0[112u].x);
|
|
float fragment_unnamed_500 = mad(mad(fragment_unnamed_479, fragment_unnamed_459, mad(fragment_unnamed_470, fragment_unnamed_454, fragment_unnamed_461)), fragment_uniform_buffer_0[114u].y, fragment_uniform_buffer_0[112u].y);
|
|
float fragment_unnamed_501 = mad(mad(fragment_unnamed_480, fragment_unnamed_459, mad(fragment_unnamed_471, fragment_unnamed_454, fragment_unnamed_462)), fragment_uniform_buffer_0[114u].z, fragment_uniform_buffer_0[112u].z);
|
|
precise float fragment_unnamed_526 = log2(abs(fragment_unnamed_499)) * fragment_uniform_buffer_0[113u].x;
|
|
precise float fragment_unnamed_527 = log2(abs(fragment_unnamed_500)) * fragment_uniform_buffer_0[113u].y;
|
|
precise float fragment_unnamed_528 = log2(abs(fragment_unnamed_501)) * fragment_uniform_buffer_0[113u].z;
|
|
float fragment_unnamed_530 = exp2(fragment_unnamed_527);
|
|
float fragment_unnamed_531 = exp2(fragment_unnamed_528);
|
|
float fragment_unnamed_539 = float(int((-((0.0f < fragment_unnamed_500) ? 4294967295u : 0u)) + ((fragment_unnamed_500 < 0.0f) ? 4294967295u : 0u)));
|
|
float fragment_unnamed_540 = float(int((-((0.0f < fragment_unnamed_501) ? 4294967295u : 0u)) + ((fragment_unnamed_501 < 0.0f) ? 4294967295u : 0u)));
|
|
precise float fragment_unnamed_541 = exp2(fragment_unnamed_526) * float(int((-((0.0f < fragment_unnamed_499) ? 4294967295u : 0u)) + ((fragment_unnamed_499 < 0.0f) ? 4294967295u : 0u)));
|
|
precise float fragment_unnamed_542 = fragment_unnamed_530 * fragment_unnamed_539;
|
|
precise float fragment_unnamed_543 = fragment_unnamed_531 * fragment_unnamed_540;
|
|
precise float fragment_unnamed_544 = (-0.0f) - fragment_unnamed_543;
|
|
precise float fragment_unnamed_545 = (-0.0f) - fragment_unnamed_542;
|
|
float fragment_unnamed_551 = asfloat(((fragment_unnamed_542 >= fragment_unnamed_543) ? 4294967295u : 0u) & 1065353216u);
|
|
float fragment_unnamed_558 = mad(fragment_unnamed_551, mad(fragment_unnamed_539, fragment_unnamed_530, fragment_unnamed_544), fragment_unnamed_543);
|
|
float fragment_unnamed_559 = mad(fragment_unnamed_551, mad(fragment_unnamed_540, fragment_unnamed_531, fragment_unnamed_545), fragment_unnamed_542);
|
|
float fragment_unnamed_560 = mad(fragment_unnamed_551, asfloat(3212836864u), asfloat(1059760811u));
|
|
float fragment_unnamed_565 = asfloat(((fragment_unnamed_541 >= fragment_unnamed_558) ? 4294967295u : 0u) & 1065353216u);
|
|
precise float fragment_unnamed_569 = (-0.0f) - fragment_unnamed_558;
|
|
precise float fragment_unnamed_570 = (-0.0f) - fragment_unnamed_559;
|
|
precise float fragment_unnamed_571 = (-0.0f) - fragment_unnamed_560;
|
|
precise float fragment_unnamed_572 = (-0.0f) - fragment_unnamed_541;
|
|
precise float fragment_unnamed_573 = fragment_unnamed_569 + fragment_unnamed_541;
|
|
precise float fragment_unnamed_574 = fragment_unnamed_570 + fragment_unnamed_559;
|
|
precise float fragment_unnamed_575 = fragment_unnamed_571 + mad(fragment_unnamed_551, asfloat(1065353216u), asfloat(3212836864u));
|
|
precise float fragment_unnamed_576 = fragment_unnamed_572 + fragment_unnamed_558;
|
|
float fragment_unnamed_577 = mad(fragment_unnamed_565, fragment_unnamed_573, fragment_unnamed_558);
|
|
float fragment_unnamed_578 = mad(fragment_unnamed_565, fragment_unnamed_574, fragment_unnamed_559);
|
|
float fragment_unnamed_580 = mad(fragment_unnamed_565, fragment_unnamed_576, fragment_unnamed_541);
|
|
precise float fragment_unnamed_582 = (-0.0f) - min(fragment_unnamed_578, fragment_unnamed_580);
|
|
precise float fragment_unnamed_583 = fragment_unnamed_577 + fragment_unnamed_582;
|
|
precise float fragment_unnamed_587 = (-0.0f) - fragment_unnamed_578;
|
|
precise float fragment_unnamed_588 = fragment_unnamed_587 + fragment_unnamed_580;
|
|
precise float fragment_unnamed_589 = fragment_unnamed_588 / mad(fragment_unnamed_583, 6.0f, 9.9999997473787516355514526367188e-05f);
|
|
precise float fragment_unnamed_590 = fragment_unnamed_589 + mad(fragment_unnamed_565, fragment_unnamed_575, fragment_unnamed_560);
|
|
float fragment_unnamed_591 = abs(fragment_unnamed_590);
|
|
precise float fragment_unnamed_595 = fragment_unnamed_591 + fragment_uniform_buffer_0[111u].x;
|
|
float fragment_unnamed_614 = clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_541, fragment_unnamed_542, fragment_unnamed_543), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_615 = fragment_unnamed_614 + fragment_unnamed_614;
|
|
precise float fragment_unnamed_617 = clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_595, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + (-0.5f);
|
|
precise float fragment_unnamed_618 = fragment_unnamed_617 + fragment_unnamed_595;
|
|
precise float fragment_unnamed_620 = fragment_unnamed_618 + 1.0f;
|
|
precise float fragment_unnamed_621 = fragment_unnamed_618 + (-1.0f);
|
|
float fragment_unnamed_628 = asfloat((fragment_unnamed_618 < 0.0f) ? asuint(fragment_unnamed_620) : ((1.0f < fragment_unnamed_618) ? asuint(fragment_unnamed_621) : asuint(fragment_unnamed_618)));
|
|
precise float fragment_unnamed_629 = fragment_unnamed_628 + 1.0f;
|
|
precise float fragment_unnamed_630 = fragment_unnamed_628 + 0.666666686534881591796875f;
|
|
precise float fragment_unnamed_632 = fragment_unnamed_628 + 0.3333333432674407958984375f;
|
|
precise float fragment_unnamed_644 = abs(mad(frac(fragment_unnamed_629), 6.0f, -3.0f)) + (-1.0f);
|
|
precise float fragment_unnamed_645 = abs(mad(frac(fragment_unnamed_630), 6.0f, -3.0f)) + (-1.0f);
|
|
precise float fragment_unnamed_646 = abs(mad(frac(fragment_unnamed_632), 6.0f, -3.0f)) + (-1.0f);
|
|
precise float fragment_unnamed_650 = clamp(fragment_unnamed_644, 0.0f, 1.0f) + (-1.0f);
|
|
precise float fragment_unnamed_651 = clamp(fragment_unnamed_645, 0.0f, 1.0f) + (-1.0f);
|
|
precise float fragment_unnamed_652 = clamp(fragment_unnamed_646, 0.0f, 1.0f) + (-1.0f);
|
|
precise float fragment_unnamed_653 = fragment_unnamed_577 + 9.9999997473787516355514526367188e-05f;
|
|
precise float fragment_unnamed_654 = fragment_unnamed_583 / fragment_unnamed_653;
|
|
float fragment_unnamed_655 = mad(fragment_unnamed_654, fragment_unnamed_650, 1.0f);
|
|
float fragment_unnamed_656 = mad(fragment_unnamed_654, fragment_unnamed_651, 1.0f);
|
|
float fragment_unnamed_657 = mad(fragment_unnamed_654, fragment_unnamed_652, 1.0f);
|
|
precise float fragment_unnamed_658 = fragment_unnamed_577 * fragment_unnamed_655;
|
|
precise float fragment_unnamed_659 = fragment_unnamed_577 * fragment_unnamed_656;
|
|
precise float fragment_unnamed_660 = fragment_unnamed_577 * fragment_unnamed_657;
|
|
float fragment_unnamed_661 = dot(float3(fragment_unnamed_658, fragment_unnamed_659, fragment_unnamed_660), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
|
|
precise float fragment_unnamed_664 = (-0.0f) - fragment_unnamed_661;
|
|
float fragment_unnamed_684 = clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_654, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_685 = fragment_unnamed_684 + fragment_unnamed_684;
|
|
float fragment_unnamed_686 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_591, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
precise float fragment_unnamed_687 = fragment_unnamed_686 + fragment_unnamed_686;
|
|
precise float fragment_unnamed_688 = fragment_unnamed_685 * fragment_unnamed_687;
|
|
precise float fragment_unnamed_689 = fragment_unnamed_615 * fragment_unnamed_688;
|
|
precise float fragment_unnamed_693 = fragment_unnamed_689 * fragment_uniform_buffer_0[111u].y;
|
|
precise float fragment_unnamed_697 = mad(fragment_unnamed_693, mad(fragment_unnamed_577, fragment_unnamed_655, fragment_unnamed_664), fragment_unnamed_661) + 0.00390625f;
|
|
precise float fragment_unnamed_699 = mad(fragment_unnamed_693, mad(fragment_unnamed_577, fragment_unnamed_656, fragment_unnamed_664), fragment_unnamed_661) + 0.00390625f;
|
|
precise float fragment_unnamed_700 = mad(fragment_unnamed_693, mad(fragment_unnamed_577, fragment_unnamed_657, fragment_unnamed_664), fragment_unnamed_661) + 0.00390625f;
|
|
float fragment_unnamed_701 = asfloat(0u);
|
|
precise float fragment_unnamed_724 = clamp(_CurveMaster.SampleBias(S0, float2(fragment_unnamed_697, fragment_unnamed_701), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
|
|
precise float fragment_unnamed_725 = clamp(_CurveMaster.SampleBias(S0, float2(fragment_unnamed_699, fragment_unnamed_701), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
|
|
precise float fragment_unnamed_726 = clamp(_CurveMaster.SampleBias(S0, float2(fragment_unnamed_700, fragment_unnamed_701), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
|
|
float fragment_unnamed_727 = asfloat(0u);
|
|
fragment_output_0.x = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_724, fragment_unnamed_727), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
fragment_output_0.z = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_726, fragment_unnamed_727), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
fragment_output_0.y = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_725, fragment_unnamed_727), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
|
|
fragment_output_0.w = 1.0f;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
fragment_uniform_buffer_0[105] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
|
|
|
|
fragment_uniform_buffer_0[106] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
|
|
|
|
fragment_uniform_buffer_0[107] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
|
|
|
|
fragment_uniform_buffer_0[108] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
|
|
|
|
fragment_uniform_buffer_0[109] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
|
|
|
|
fragment_uniform_buffer_0[110] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
|
|
|
|
fragment_uniform_buffer_0[111] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
|
|
|
|
fragment_uniform_buffer_0[112] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
|
|
|
|
fragment_uniform_buffer_0[113] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
|
|
|
|
fragment_uniform_buffer_0[114] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
|
|
|
|
fragment_uniform_buffer_0[115] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
|
|
|
|
fragment_uniform_buffer_0[116] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
|
|
|
|
fragment_uniform_buffer_0[117] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
|
|
|
|
fragment_uniform_buffer_0[118] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
|
|
|
|
fragment_uniform_buffer_0[119] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
|
|
|
|
fragment_uniform_buffer_0[120] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
|
|
|
|
fragment_input_1 = stage_input.fragment_input_1;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // STEREO_INSTANCING_ON
|
|
|
|
|
|
ENDHLSL
|
|
}
|
|
}
|
|
}
|