shader instance with uniform/attribs mapping