add shader perspective
 change column-major model
 add gtest