made the shadercode legacy compatible and fixed legacy bugs in the vao class