Adding shader program abstractions