1cbuffer _UniformBuffer : register(b0, space0) 2{ 3 float _10_a : packoffset(c0); 4 float _10_b : packoffset(c0.y); 5 float _10_c : packoffset(c0.z); 6 float4 _10_d : packoffset(c1); 7 float4 _10_e : packoffset(c2); 8}; 9 10 11static float4 sk_FragColor; 12 13struct SPIRV_Cross_Output 14{ 15 float4 sk_FragColor : SV_Target0; 16}; 17 18float spvRefract(float i, float n, float eta) 19{ 20 float NoI = n * i; 21 float NoI2 = NoI * NoI; 22 float k = 1.0 - eta * eta * (1.0 - NoI2); 23 if (k < 0.0) 24 { 25 return 0.0; 26 } 27 else 28 { 29 return eta * i - (eta * NoI + sqrt(k)) * n; 30 } 31} 32 33void frag_main() 34{ 35 sk_FragColor.x = spvRefract(_10_a, _10_b, _10_c); 36 sk_FragColor = refract(_10_d, _10_e, _10_c); 37 sk_FragColor = float4(float2(0.5f, -0.866025388240814208984375f).x, float2(0.5f, -0.866025388240814208984375f).y, sk_FragColor.z, sk_FragColor.w); 38 sk_FragColor = float4(float3(0.5f, 0.0f, -0.866025388240814208984375f).x, float3(0.5f, 0.0f, -0.866025388240814208984375f).y, float3(0.5f, 0.0f, -0.866025388240814208984375f).z, sk_FragColor.w); 39 sk_FragColor = float4(0.5f, 0.0f, 0.0f, -0.866025388240814208984375f); 40} 41 42SPIRV_Cross_Output main() 43{ 44 frag_main(); 45 SPIRV_Cross_Output stage_output; 46 stage_output.sk_FragColor = sk_FragColor; 47 return stage_output; 48} 49