Adding material caching system to save our draw calls