webGL shader interface for internal use