cbuffer fsConstants : register(b0) { float4 _30_globalColor : packoffset(c0); float2 _30_atlasSize : packoffset(c1); float _30_minDist : packoffset(c1.z); float _30_maxDist : packoffset(c1.w); float _30_radius : packoffset(c2); float _30_sharpness : packoffset(c2.y); float _30_inset : packoffset(c2.z); }; Texture2D tex : register(t0); SamplerState _tex_sampler : register(s0); static float2 vUV1; static float4 fragColor; static float4 vTint; static float2 vUV2; struct SPIRV_Cross_Input { float2 vUV1 : TEXCOORD0; float2 vUV2 : TEXCOORD1; float4 vTint : TEXCOORD2; }; struct SPIRV_Cross_Output { float4 fragColor : SV_Target0; }; void frag_main() { float dist = tex.Sample(_tex_sampler, vUV1).x; fragColor = vTint * smoothstep(_30_minDist, _30_maxDist, dist); } SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input) { vUV1 = stage_input.vUV1; vTint = stage_input.vTint; vUV2 = stage_input.vUV2; frag_main(); SPIRV_Cross_Output stage_output; stage_output.fragColor = fragColor; return stage_output; }