#!/usr/bin/env -S awk -f BEGIN {mode = "any"; lineno = 1;} {lineno++;} /@@/ {mode = "any"; $0 = ("#line " lineno);} /%%/ {mode = "vert"; $0 = ("#line " lineno);} /##/ {mode = "frag";} mode == "any" mode == "vert"