Draw function refactoring
Shader refactoring
More draw function refactoring