Texture2D material_tex_tex : register(t0, space0); SamplerState material_tex_samp : register(s1, space0); struct _shade_Input { float4 _sv_position : SV_Position; float2 uv : TEXCOORD0; float3 normal : TEXCOORD1; }; struct _shade_Output { float4 _value : SV_Target0; }; _shade_Output shade(_shade_Input input) { _shade_Output __luma_output; float4 albedo = material_tex_tex.Sample(material_tex_samp, input.uv); float3 n = normalize(input.normal); float3 light_dir = normalize(float3(1.0, 1.0, 0.5)); float light = max(dot(n, light_dir), 0.0); __luma_output._value = float4((albedo.rgb * light), albedo.a); return __luma_output; }