vertex&fragment program method added