(program (struct Vertex_Out [(:= position float3 (@position)) (:= normal float3 (@normal)) (:= uv float3 (@uv)) (:= frag_pos float3 (@interp))]) (instance [(:= model float4x4 (@model))]) (fun vertex main [(:= position float3 (@position)) (:= uv float2 (@uv)) (:= normal float3 (@normal))] (:= v_out Vertex_Out) (= v_out.position (mul position model)) (= v_out.normal normal) (= v_out.uv uv) (= v_out.frag_pos position) (return v_out)) (struct Pixel_Out [(:= color float4 (@target0)) (:= emission float4 (@target1))]) (fun pixel main [(:= v_in Vertex_Out)] (:= p_out Pixel_Out) (= p_out.color (float4 1 0.5 1 1)) (= p_out.emission (float4 2 2 2 2)) (return p_out)))