相关方法实现，尽量减少调用opengl的次数，优化性能