Discuss, Discuss, Discuss!
I think the key to resolving this situation is simply to have an open conversation on the matter with your entire group. A lot of the other answers to this question make excellent talking points:
Books, play mat, published adventures (if you're into that sort of thing).
These materials are shared by everyone, and fairly necessary for the game to be played. @Zachiel raised a great point with the issue of "who gets to keep/own" the materials, and the impact of that varies from group to group.
In my current group, I've bought almost all the communal materials, and for two reasons: I happen to make more in salary than the other players, making it less of a burden, and I had an interest in being the ultimate owner of these materials, making it possible for me to use them with other groups, etc.
In a past group I was part of, the load was shared more evenly. We each bought a book or two, and they "lived" with whoever was the current GM, along with our communal dice, playmat, etc. When the campaign changed hands, so did the materials. It worked well for us. This sort of arrangement lends itself well to a communal book fund/pool, where ownership is divided.
Due to the highly necessary and communal nature of these things, it's not unreasonable to ask for the others to contribute, though it may be unreasonable to simply expect them to do so.
Dice, Miniatures, and Other Semi-communal Materials
Some people are veeery particular about their dice, and will insist on having and keeping their own. Other groups are less concerned with this. In my current group, we have a large bag of communal dice (Thanks, Chessex!) but one or two players also have their own sets that they purchased, and which they keep as their own.
Minis are the same way—some of my players went out and bought miniatures for their characters, others use appropriately-sized toys or folded-over cardstock tokens. In the past, we've had LEGO minifigs, Risk tokens, bottlecaps, you name it!
In short, if there's a lot of interest in this, it's not unusual for players to purchase their own. If there's some interest in this, it's not out of the ordinary to pool resources for it, and if there's no interest, use recycled materials—they're wonderfully cheap.
Food and Drink
Now THIS one is, as I see it, the least controversial. If you're going to have snacks or a meal as part of your gaming sessions, then everyone should contribute, because everyone is taking part.
In the past, I've handled this a few different ways. Doing a round-robin with a different person responsible for food each session works well—simply make choosing the next person part of the end-of-session wrap-up procedure. (It doesn't hurt to remind the person a few days before that next session, either).
Having a communal food fund also works well. Ordering a pizza? Split the cost between yourselves. I would expect that sort of thing to occur at any gathering of friends involving a meal—the fact that gaming is also occurring is entirely irrelevant.
Hosting it at your place, and using your kitchen to cook a meal before the session? Great! A home-cooked meal and a satisfying session, that's a recipe for an excellent time. But even if you're not charging your friends for the time it took you to cook it (which I wouldn't expect) the ingredients aren't free, and asking for a contribution to help cover the cost is no different than splitting the pizza. Just make sure you discuss this beforehand, no one wants to be surprised with that.
Talk to your players, and see how they feel about the various costs. You will probably find a lot of support and understanding. Most of them have probably not volunteered any money because a) they didn't think about the costs, which you handled quietly by yourself, and b) they weren't asked.
Tone, phrasing, and timing make a large difference. Bring up the various costs, and ask for help covering them where it makes sense. Discuss costs ahead of time, and not after-the-fact, and make sure you're asking for their help, not demanding a payment.
These are your friends (I assume!), they don't want to make you pay for everything, but they also don't want to be told to pay for costs they're hearing about for the first time. Be reasonable, and they'll respond in kind!
Best of luck!