shader reader routines