start refactoring shader/3d math