(program (properties p [(:= texture texture2D) (:= sampler sampler)]) (struct PS_Input [(:= uv float2 (@uv)) (:= pos float4 (@position))]) (fun vertex vs_main -> PS_Input [(:= pos float4 (@position)) (:= uv float2 (@uv))] (:= result PS_Input) (= result.uv uv) (= result.pos pos) (return result)) (fun pixel ps_main -> float4 (@target) [(:= input PS_Input)] (:= color float4 (sample p.texture input.uv p.sampler)) (return color)))