shader resource refactor, vs & ps can share