using glprogramstate work ok