use glprogramstate
add obj
using glprogramstate work ok
remove compile warnings
fix retain/release in sprite3D